TD 1. Perceptron
Exercice 1. Algorithme de Perceptron
Soit la base d’apprentissage de taille 4 suivante : S =
{((1 1
) ,+1
)
;
((−1 1
) ,+1
)
;
((−1
−1 )
,−1 )
; (( 1
−1 )
,1 )}
1.1 Dessiner les points dans un repère orthonormé du plan.
1.2 On considère le modèle de perceptron pour séparer les points de classe +1 à ceux de la classe −1. On suppose que le vecteur des poids initial est le vecteur null, que le pas d’apprentissage est fixé à 1, et que le biais w0 = 0. Quel est dans ce cas, le vecteur poids trouvé par l’algorithme du perceptron après 4 mises à jour si l’on considère que les mises à jour se font dans le sens trigonométrique en commençant par le point de coordonnées
(1 1 )
, c.à.d.
(−1 1
) puis
(−1
−1 )
puis ( 1
−1 )
puis ... ?
1.3 Quelle est l’équation de la droite séparatrice trouvée après ces deux mises à jour?
1.4 À quelle distance se trouve les points de la base d’apprentissage à cette droite?
Exercice 2. Théorème de Novikoff
Nous supposons qu’il existe un vecteurw∗qui discrimine parfaitement tous les exemples de la base d’apprentissage S ={(xj, yj), j ∈ {1, . . . , m}}, et nous définissons
ρ= min
j∈{1,...,m}
( yj
⟨ w∗
||w∗||,xj
⟩) .
2.1 À quoi correspond ρ? Expliquer pourquoi elle serait une valeur strictement positive.
Nous supposons de plus que tous les exemples d’apprentissage sont contenus dans un hypersphère de rayon R (i.e. ∀j,||xj|| ≤ R). Sans restreindre la généralité, nous sup- posons de plus que le vecteur poids initial vaut w(0) = 0, et nous initialisons le pas d’apprentissage ϵ à 1.
1
L3. Informatique et aléatoire TD 1. Perceptron
2.2 Montrer qu’après l mises à jour, la norme du vecteur poids vérifie
||w(l)||2 ≤l×R2 (1) 2.3 Avec les mêmes conditions que précédemment, montrer qu’après l mises du vecteur
poids nous avons ⟨
w∗
||w∗||,w(l)
⟩
≥l×ρ (2)
2.4 Déduire des questions précédentes que le nombre de mises à jour, l, de l’algorithme de Peceptron est borné par
l≤
⌊(R ρ
)2⌋
Où ⌊x⌋est la partie entière du réel x.
2.5 Ce résultat est-il vérifié pour le problème de l’exercice 1?
Exercice 3. Algorithme de la descente de gradient
3.1 Calculer les gradients des fonctions suivant définies dans un espace de dimension 2 ? L(w) = w12+w1∗w2+w22 (3) L(w) =
√
w21 +w22 (4)
L(w) = log(1 +e−w1−w2) (5)
L(w) = e−w1−w2 (6)
L(w) =
12 cos
(w21+w22 4
)
3 +w21+w22 (7)
L(w) = (a−w1)2+b(w2 −w12)2; pour (a, b)∈R2+ (8) 3.2 Pour trouver le minimum de ces fonctions nous allons utiliser l’algorithme de la descente de gradient. Rappeler cet algorithme et appliquer le pour trouver le minimum de la fonction (3).
3.3 Donner les mises à jour des poids d’après l’algorithme de la descente de gradient pour l’apprentissage de l’algorithme de Preceptron