Convergence de l`algorithme du perceptron { }

publicité
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.
Téléchargement