Perceptron

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

Αυτό το άρθρο χρειάζεται μετάφραση.

Αν θέλετε να συμμετάσχετε, μπορείτε να επεξεργαστείτε το άρθρο μεταφράζοντάς το ή προσθέτοντας δικό σας υλικό και να αφαιρέσετε το {{μετάφραση}} μόλις το ολοκληρώσετε. Είναι πιθανό (και επιθυμητό) το ξενόγλωσσο κείμενο να έχει κρυφτεί σαν σχόλιο με τα <!-- και -->. Πατήστε "επεξεργασία" για να δείτε ολόκληρο το κείμενο.

For alternate meanings see Perceptron (disambiguation).

Ο νευρώνας perceptron είναι ένα είδος artificial neural network που εφευρέθηκε το 1957 στο Cornell Aeronautical Laboratory από τον Frank Rosenblatt. Μπορεί να χαρακτηριστεί ώς ένα απλό είδος ενός feedforward νευρωνικού δικτύου: ένας γραμμικός κατηγοριοποιητής linear classifier.

[Επεξεργασία] Ορισμός

Ο νευρώνας (Perceptron) είναι ένα είδος δυαδικού ταξινομητή που αντιστοιχεί την είσοδο του x (a vector με τύπο πραγματικό αριθμό Real) υπολογίζοντας την έξοδο ως


f(x) = \langle w,x \rangle + b


όπου w είναι ένα διάνυσμα από βάρη με πραγματικές τιμές και \langle \cdot,\cdot \rangle υποδηλώνει εσωτερικό γινόμενοdot product. (Χρησιμοποιούμε το εσωτερικό γινόμενο ενώ υπολογίζουμε το βεβαρημένο άθροισμα). b είναι το 'bias', ένας σταθερός όρος που δεν εξαρτάται από καμία τιμή εισόδου.

Το πρόσημο της f(x) χρησιμοποιείται για να ταξινομήσει τοx είτε ως θετικό ή αρνητικό στιγμιότυπο, στην περίπτωση του δυαδικού προβλήματος κατηγοριοποιησης. The bias can be thought of as offsetting the activation function, or giving the output neuron a "base" level of activity. If b is negative, then the weighted combination of inputs must produce a positive value greater than b in order to push the classifier neuron over the 0 threshold. Spatially, the bias alters the position (though not the orientation) of the decision boundary.

Εφόσον οι είσοδοι τροφοδοτούνται στο δίκτυο άμεσα μέσω των βεβαρημένων συνδέσεων, ο νευρώνας μπορεί να θεωρηθεί ως ένα απλό είδος εμπρός τροφοδότησης νευρωνικό δίκτυο.

[Επεξεργασία] Αλγόριθμοι Μάθησης

The learning algorithm is the same across all neurons, therefore everything that follows is applied to a single neuron in isolation. We first define some variables:

  • x(j) denotes the j-th item in the input vector
  • w(j) denotes the j-th item in the weight vector
  • y denotes the output from the neuron
  • δ denotes the expected output
  • α is a constant and 0 < α < 1
the appropriate weights are applied to the inputs that passed to a function which produces the output y
the appropriate weights are applied to the inputs that passed to a function which produces the output y

The weights are updated after each input according to the update rule below:

  • w(j)' = w(j) + α(δ − y)x(j)

Therefore, learning is modeled as the weight vector being updated after one iteration, which will only take place if the output y is different from the desired output δ. Still considering a single neuron but trying to incorporate multiple iterations, let us first define some more variables:

  • xi denotes the input vector for the i-th iteration
  • wi denotes the weight vector for the i-th iteration
  • yi denotes the output for the i-th iteration
  • D_m = \{(x_1,y_1),\dots,(x_m,y_m)\} denotes a training set of m iterations

Each iteration the weight vector is updated as follows

  • For each (x,y) pair in D_m = \{(x_1,y_1),\dots,(x_m,y_m)\}
  • Pass (xi,yi,wi) to the update rule w(j)' = w(j) + α(δ − y)x(j)

The training set Dm is said to be linearly separable if there exists a positive constant γ and a weight vector w such that y_i \cdot\left( \langle w, x_i \rangle +b \right) > \gamma for all i. Novikoff (1962) proved that the perceptron algorithm converges after a finite number of iterations if the data set is linearly separable and the number of mistakes is bounded by \left(\frac{2R}{\gamma}\right)^2.

However, if the training set is not linearly separable, the above online algorithm is not guaranteed to converge.