Leperceptron est un algorithme d'apprentissage supervisé de classifieurs binaires (c'est-à-dire séparant deux classes). Il a été inventé en 1957 parFrank Rosenblatt[1] aulaboratoire d'aéronautique de l'université Cornell. Il s'agit d'unneurone formel muni d'une règle d'apprentissage qui permet de déterminer automatiquement lespoids synaptiques de manière à séparer un problème d'apprentissage supervisé. Si le problème est linéairement séparable, un théorème assure que la règle du perceptron permet de trouver une séparation entre les deux classes.
Les entréesi1 àin sont multipliées avec les poids W1 à Wn, puis sommées, avant qu'une fonction d'activation soit appliquée.
Le perceptron peut être vu comme le type deréseau de neurones le plus simple. C'est unclassifieur linéaire. Ce type de réseau neuronal ne contient aucun cycle (il s'agit d'unréseau de neurones à propagation avant). Dans sa version simplifiée, le perceptron est mono-couche et n'a qu'une seule sortie (booléenne) à laquelle toutes les entrées (booléennes) sont connectées. Plus généralement, les entrées peuvent être desnombres réels.
Un perceptron àn entrées et à une seule sortieo est défini par la donnée den poids (aussi appeléscoefficients synaptiques[réf. nécessaire]) et un biais (ou seuil) par[2]:
La sortieo résulte alors de l'application de lafonction de Heaviside au potentiel post-synaptique, où la fonction de Heaviside est :
La figure de droite montre un perceptron avec 2 entrées et. Les poids sont marqués sur les arcs : 1 et 1. Le biais est de 1. Ce perceptron calcule le OU logique de et, comme le montre la table suivante :
Dans la suite de cet article, on considère un échantillon fini de données labélisées, avec pour tout,, où[a], et. On dit alors que les vecteurs sont les « exemples » et que les points sont leurs « classes ». Puisque le perceptron ne traite que les problèmes de classification binaire, les ne peuvent prendre que deux valeurs, par convention et.
Enfin, on pose, et.
On suppose également que est linéairement séparable, donc est (strictement) positif. Le fait que soit non-nul découle du lemme suivant :
Lemme de séparabilité linéaire stricte[3] — S'il existe un hyperplan séparant deux classes de données, alors il existe un hyperplan les séparant et tel qu'aucun exemple ne se trouve dessus, i.e. :
Démonstration[4] — Soit un échantillon de données labélisées linéairement séparables. Soit un hyperplan séparant les données de. On a alors :Posons. On a alors :L'hyperplan démontre donc le lemme.
Il existe plusieurs algorithmes d'apprentissage pour un perceptron. L'un des premiers est l'algorithme du perceptron de Rosenblatt, inventé en 1957, qui a pour but de trouver les paramètres d'un hyperplan séparant correctement les deux classes de données[5],[6] :
Entrées : un échantillonde données labéliséesSortie : la matrice de poids telle que1 Initialiser2Répéter3Pourà4Sialors56Fin pour7jusqu'à ce qu'il n'y ait plus d'erreurs8Retourner
La convergence de l'algorithme est démontrée en 1962 par Novikoff.
Théorème de convergence de Novikoff[8],[9] — L'algorithme du Perceptron de Rosenblatt converge si et seulement si l'échantillon de données entré est linéairement séparable. La convergence se fait en au plus itérations.
Démonstration[10] — On note la suite des valeurs prises par lors de l'exécution de l'algorithme. On a donc. On suppose que l'algorithme fait erreurs, et que la-ième erreur est faite sur l'exemple. On note les paramètres d'un hyperplan classant correctement tous les exemples, avec.
On a donc, en appliquant l'algorithme :
La troisième ligne découle de la définition de. La quatrième ligne s'obtient par récurrence, puisque. Or, d'après l'inégalité de Cauchy-Schwarz,, et donc,.
De plus :
puisque et, car l'algorithme se trompe sur le-ième exemple à la-ième itération. Finalement, on obtient par récurrence que :.
Donc,. On en déduit enfin que.
Lorsque les données entrées ne sont pas linéairement séparables, l'algorithme ne converge pas, et la suite est périodique. Le cycle peut cependant être long et difficile à détecter.