Convergence de l’algorithme du perceptron On considère un perceptron correspondant à une fonction f : ℝ p → {−1,1} déterminée par si ω1x1 + ⋯ + ωp x p + θ ≥ 0 1 f (x1 ,…, x p ) = −1 sinon Rq : La fonction est à valeurs dans {−1,1} au lieu de {0,1} pour faciliter l’exposé, mais cela ne change rien au fond de l’étude… On se donne un ensemble d’apprentissage A = {(x 1 , y 1 ), …, (x N , y N )} avec pour chaque i ∈ {1, …, N } , x i = (x1i , …, x pi ) ∈ ℝ p et y i ∈ {1, −1} la réponse attendue par le perceptron. Déf : On dit que la base d’apprentissage A est linéairement séparable s’il existe des coefficients (ω1 , …, ωp ) ∈ ℝ p \ {(0,…, 0)} et θ ∈ ℝ tel que ∀1 ≤ i ≤ N , y i = sgn(ω1x1i + ⋯ + ωp x pi + θ ) en posant si x ≥ 0 1 sgn(x ) = 0 si x = 0 − 1 si x < 0 Pour alléger les notations, on va poser θ = ω0 et convenir x 0i = 1 pour chaque i ∈ {1, …, N } de sorte que les expressions ω1x1 + ⋯ + ωp x p + θ s’écrivent plus légèrement ω0x 0 + ω1x1 + ⋯ + ωp x p La définition du perceptron se ramène alors la détermination d’un vecteur synaptique ω = (ω0 , ω1 ,…, ωp ) ∈ ℝ p +1 L’algorithme d’apprentissage du perceptron est alors le suivant : On choisit arbitrairement un vecteur synaptique ω 0 ∈ ℝ n +1 . Tant que les réponses produites ne sont pas toutes correctes : on choisit un exemple (x i , y i ) dans la base d’apprentissage. Si la réponse produite par le perceptron sur cet exemple est incorrecte Alors on modifie chaque poids synaptiques par la relation : ωtj +1 := ωtj + y i x ji Fin Si Fin Tant que Théorème : Si la base d’apprentissage est linéairement séparable, cet algorithme s’arrête et détermine donc un perceptron solution. dém. : Puisque la base est linéairement séparable, il existe un vecteur ω ∗ = (ω0∗ , ω1∗ , …, ωp∗ ) non nul tel que ∀1 ≤ i ≤ N , yi = sgn(ω0∗ + ω1∗x1i + ⋯ + ωp∗ x pi ) Pour alléger les notations, introduisons (. | .) le produit scalaire canonique sur ℝ p+1 . On a donc ∀1 ≤ i ≤ N , yi = sgn (ω ∗ | x i ) avec rappelons-le x i = (1, x1i , …, x pi ) . Posons δ = min (ω ∗ | x i ) > 0 et M = max x i ∈ ℝ + 1≤i ≤n 1≤i ≤n Si par l’absurde, l’algorithme précédent ne s’arrête pas, il construit une suite infinie de vecteurs (ωt )t ∈ℕ avec la propriété ωt +1 = ω t + y i x i lorsque la réponse du percepton défini par le vecteur synaptique ωt n’est pas bonne sur l’exemple (x i , y i ) . D’une part (ωt +1 | ω∗ ) = (ωt | ω ∗ ) + y i (x i | ω ∗ ) = (ωt | ω∗ ) + sgn (ω ∗ | x i )(ω ∗ | x i ) donc (ωt +1 | ω∗ ) = (ωt | ω ∗ ) + (ω ∗ | x i ) ≥ (ωt | ω ∗ ) + δ puis par récurrence (ω t | ω ∗ ) ≥ (ω 0 | ω ∗ ) + t δ (1) D’autre part ωt +1 2 = ωt 2 + 2y i (ωt | x i ) + x i 2 Or y i (ωt | x i ) ≤ 0 car la réponse fournie par le perceptron donné par le vecteur synaptique ωt est supposée incorrecte sur l’exemple (x i , y i ) et donc ωt +1 2 ≤ ωt 2 + xi 2 ≤ ωt 2 +M 2 puis par récurrence ωt 2 ≤ ω0 2 + tM 2 (2) Par l’inégalité de Cauchy-Schwarz (ω t | ω ∗ ) ≤ ω t ω ∗ donc (1) et (2) donnent (ω 0 | ω ∗ ) + t δ ≤ ω0 2 + tM 2 ω ∗ ce qui est incompatible avec un passage à la limite à l’infini : par exemple en divisant par t avant de faire tendre t vers +∞ , on obtient δ ≤ 0 qui est contraire aux hypothèses de travail.