Module MAIAD – page 2
Exercice 2 – Apprentissage du perceptron
N.B. Les notations sont les mˆemes que dans l’exercice pr´ec´edent.
On dispose d’une base de Nexemples (observations), {xi}i=1,...,N , dont les classes sont connues ; la
classe de xiest not´ee d(xi). On utilise l’algorithme suivant (une des variantes de l’algorithme du
perceptron) pour apprendre automatiquement la valeur des param`etres, c-`a-d du vecteur w: (εest un
nombre positif ; xTest le transpos´e de x)
Algorithme 1 : Algorithme d’apprentissage du perceptron
Entr´ee : {xi, d(xi)}i=1,...,N ;
Initialisation de w:w(1);
t= 1;
repeat
Tirer al´eatoirement un exemple : xi;
if d(xi)×xiw(t)≥0then
w(t+ 1) ←w(t)
else
w(t+ 1) ←w(t) + εd(xi)xT
i
t=t+ 1;
until (crit`ere d’arrˆet satisfait) ;
Le crit`ere d’arrˆet peut ˆetre, par exemple qu’il n’y a pas eu d’erreur de classification pendant un certain
nombre d’it´erations successives.
Q 2.1 Que signifie la condition d(xi)×xiw(t)≥0 ? Expliquez le principe de l’algorithme.
Q 2.2 Faites tourner l’algorithme sur le probl`eme du OU logique en it´erant sur la base d’apprentis-
sage constitu´ee des 4 exemples distincts possibles, avec successivement pour valeur initiale w(0) :
1. w(0) = (0; 0; 0) ;
2. w(0) = (1; 1; 1) ;
3. w(0) = (1; −1; 1).
(Prendre ε= 1) Repr´esenter graphiquement l’´evolution de la fronti`ere de d´ecision d’it´eration en
it´eration.
Q 2.3 D´erouler l’algorithme sur le probl`eme du ET logique avec w(0) = (2; 2; 2).
Q 2.4 On suppose qu’il existe w?classant parfaitement tous les exemples (s´eparabilit´e lin´eaire). On
consid`ere une it´eration de l’algorithme o`u l’exemple courant, x[= x(t)], v´erifie x∈C1mais est mal
class´e par le vecteur w[= w(t)] courant, qui est alors modifi´e pour devenir w†[= w(t+ 1)].
1. V´erifier qu’alors : w?·x>0; w·x<0; w†=w+εx
2. Montrer que : kw†−w?k2≤ kw−w?k2+ε[εkxk2−2w?·x]
3. On pose m= mini=1,...,N w?·xiet M= maxi=1,...,N kxik2. Montrer qu’en prenant ε=m
M, on
obtient l’in´egalit´e kw†−w?k2≤ kw−w?k2−m2
M.
4. Admettant que l’in´egalit´e pr´ec´edente est aussi valable dans le cas sym´etrique (x∈C2et mal
class´e), montrer qu’il y a un nombre fini d’it´erations o`u west modifi´e ; en d´eduire que l’algorithme
peut ˆetre arrˆet´e au bout d’un nombre fini d’it´erations.