Le problème de l'apprentissage peut se poser de la manière suivante.
Soient
et
deux sous-ensembles de
: trouver un
perceptron qui permette de les discriminer totalement si c'est
possible ou au mieux sinon.
Les ensembles
et
représentent les exemples négatifs et
positifs de l'échantillon à apprendre. On représente parfois celui-ci
globalement par :
.

![]()
On supposera dans ce qui suit que chaque exemple posséde une entrée supplémentaire égale à 1 et que le seuil du perceptron cherché peut donc être nul.
L'algorithme d'apprentissage peut être décrit succinctement de la manière suivante. On initialise les poids du perceptron à des valeurs quelconques. A chaque fois que l'on présente un nouvel exemple, on ajuste les poids selon que le perceptron l'a correctement classé ou non. L'algorithme s'arrête lorsque tous les exemples ont été présentés sans modification d'aucun poids.
Plus formellement, on utilisera un paramètre t (le temps) qui permettra de repérer les étapes successives de l'apprentissage.
Algorithme : \+Entrée : un échantillon S \+
Initialisation d'un paramètre t à 0
Initialisation des poids
à des valeurs quelconques.
Répéter \+
Choisir un exemple s de S
Présenter cet exemple au perceptron
Soient T la sortie attendue et O la sortie calculée par le
perceptron courant
Si
![]()
Alors \+
modifier les poids selon la formule :
où
![]()
Fin Si
t=t+1
jusqu'à ce que tous les exemples de S aient été présentés
successivement au perceptron sans modification de celui-ci.
Sortie : Un perceptron qui discrimine l'échantillon S
La procédure d'apprentissage du perceptron est une procédure de correction d'erreur puisque les poids ne sont ajustés que si la sortie attendue diffère de la sortie calculée.

