2016-12-26 3 views
-8

Le texte suivant est tiré du livre en ligne "A Course in Machine Learning" de Hal Daumé III (page-41).Comprendre l'algorithme d'apprentissage de Perceptron

enter image description here

Je comprends que, D = taille du vecteur d'entrée.

(1) Quel type d'algorithme de Perceptron est-ce? Binaire/Multi-classe? Connecté déconnecté?

(2) Qu'est-ce que y ici? Biais/poids/échantillon/class_label?

(3) Quelle est la logique du test ya<=0 pour la mise à jour des poids?


EDIT.

y est class_label.

+0

Vous continuez d'étendre la portée de la question, rendant obsolètes les anciennes réponses. Ne pas dire que ce n'est pas autorisé, mais vous feriez mieux de poser plusieurs questions. Par exemple, votre quatrième question, que vous avez ajoutée un peu après avoir posté une réponse, pourrait être une question autonome. – ilim

+2

Cette question appartient à http://stats.stackexchange.com/ aka cross validated. – Oleg

+0

Ne pas vandaliser votre message. – excaza

Répondre

7

réponses à vos questions:

1 - C'est un algorithme perceptron binaire, travaillant sur un lot hors ligne.

2 - comme vous l'avez écrit - Y est le vecteur des étiquettes. chaque étiquette peut être soit 1 soit -1.

3 - La raison du test si y * a < = 0 est de vérifier si le perceptron a correctement classé un échantillon. Sinon - les poids du perceptron sont modifiés.

Un peu plus sur la 3ème question

L'idée derrière l'algorithme perceptron est la suivante:

a. nous itérons sur les échantillons MaxIter fois.

b. Le perceptron classe chaque échantillon en le multipliant avec le vecteur de poids W et en ajoutant un biais b. Le résultat est affecté à la variable a.

c. La prédiction pour chaque échantillon peut être 1 ou -1. Il est calculé par le signe (a). A ce stade, nous vérifions l'exactitude de la classification.

si y * a> 0 cela signifie que y = signe (a). En d'autres termes, la classification prédite est correcte, et nous passons à l'échantillon suivant.

Si toutefois y * a < = 0, cela signifie que le perceptron n'a pas pu prédire l'étiquette correcte. Dans ce cas, l'algorithme modifie les poids du perceptron de manière à ce qu'ils soient plus compatibles avec l'échantillon que nous n'avons pas réussi à classer.