DEA Perception et Traitement de l’Information Reconnaissance des formes Apprentissage linéaire S. Canu http://psichaud.insa-rouen.fr/~scanu/RdF RdF et apprentissage Les problèmes P X , Y   P les couts.

Download Report

Transcript DEA Perception et Traitement de l’Information Reconnaissance des formes Apprentissage linéaire S. Canu http://psichaud.insa-rouen.fr/~scanu/RdF RdF et apprentissage Les problèmes P X , Y   P les couts.

DEA Perception et Traitement de
l’Information
Reconnaissance des formes
Apprentissage linéaire
S. Canu
http://psichaud.insa-rouen.fr/~scanu/RdF
RdF et apprentissage
Les problèmes
P X , Y   P
les couts :
J ( D) et C,
J ( D)  E C S , D( X ) 
1
Ensemble d’apprentissage (échantillon)
S n   xi , yi  i  1, n
2
Une forme x
(vecteur forme
des caractéristiques)
A : Algorithme
d’apprentissage
wˆ , bˆ
 
D : Algorithme
de
Reconnaissance
des Formes
3
A priori
sur la
nature de la
solution
D(x) =signe(w’x+b)
C’est
la forme
« y=D(x) »
Discrimination Linéaire
X v.a. à valeurs dans R d
(d caractéris tiques)
d
frontière de décision linéaire :  w j x j  b  0
j 1
règle de décision linéaire
d
wj x j  b  0
(ronds rouges)
 
j 1
+
d
 wj x j  b  0
+
+
(croix ver te)
 j 1
+
+
x
w
 1
 1
 ... 
 ... 
 
 
x   x j  , w   w j  , frontière de décision : w' x  b  0
 ... 
 ... 
 
 
 xd 
 wd 
+
+
+
+
+
+
Codage {-1,1}, fonction de décision de type « heaviside »
+
+
Estimation... et rêve
3
2
1
0
-1
-2
-3
-2
-1
0
1
2
3
4
Stratégies d’estimation
– Minimiser les erreurs
•
•
•
•
moindres carrées
adaline
perceptron
le neurone formel
– estimer les paramètres
• max de vraisemblance, puis règle de Bayes
– minimiser un autre critère
• analyse discriminante de Fisher
Moindres carrés
n
J ( D)    D( xi )  yi 
2
i 1
et D( x)  w' xi  b
n
J ( w, b)   w' xi  b  yi 2
i 1
 XW  y
avec W  w, b  et X  ( x,1)
2
J (W )
 0  2 X '  XW  y   0
W
 W  X ' X  X ' y
1
classe 1
classe 2
estimation
bayes
6
X = [x1 ; x2];
4
X = [X ones(length(X),1)];
yi = [ones(length(x1),1) ; -ones(length(x2),1)]; 2
W = (X'*X)\(X'*yi);
west = W(1:2);
best = W(3);
0
-2
-4
-2
0
2
4
6
Résistance aux « outliers »
6
classe 1
classe 2
estimation
bayes
5
4
3
2
1
0
-1
-2
-3
-4
-2
0
2
4
6
8
10
Moindre carrés « stochastiques »
ADALINE
(Widrow Hoff 1960)
n
et D( x)   w' xi  b 
J ( D)    D( xi )  yi 2
i 1
n
J ( w, b)    w' xi  b   yi 
2
i 1
n
   WX   yi 2
i 1
avec W  w, b  et X  ( x,1)
n
 WX 
J (W )
 2  WX   yi 
W
W
i 1
n
 2  WX   yi  ' WX  X
i 1
=
J
 0 impossible !  méthode itérative :
W
Winit
tant que..... (*il reste des mals classés, ou le cout n' évolue plus*)
Wnew  Wold  
Algorithme itératif de gradient
Algorithme de gradient : illustration
dans le plan w1,w2
w2
Lignes d ’iso-coût :
J(W) = constante
Minimum du coût
+
Direction du gradient
J’(W)
Le gradient est orthogonal aux lignes
d ’iso coût : argument à la « Taylor »
w1
3 solutions
n
J (W )
le gradient :
 2  Wxi   yi  ' Wxi xi
W
i 1
approximat ion linéaire : ADALINE
n
J (W )
 2 Wxi   yi xi
W
i 1
 '  1: PERCEPTRON
n
J (W )
 2  Wxi   yi xi
W
i 1
 est une fonction dérivable qui approche la fonction signe
n
J (W )
 2  Wxi   yi  ' Wxi xi
W
i 1
LE NEURONE FORMEL
avec
 ( x)  th( x)
(la fonction sigmoide)
Algorithme itératif
nbitemax = 50;
k=0;
Stabilisation du coût (erreur relative)
while ((cout > 0) & (k<nbitemax))
K=K+1;
ind = randperm(length(X));
Randomisation (ok si n grand)
for i=1:length(X)
Dir = (sign(X(ind(i),:)*W)-yi(ind(i)))*X(ind(i),:);
W = W - pas*Dir';
end
cout = sum(abs(sign(X*W)-yi));
disp([k cout]);
end
Évaluation du coût : n opérations
ADALINE, Ça marche...
6
5
4
3
2
1
0
-1
-2
-3
-4
-6
-4
-2
0
2
4
6
8
10
ADALINE des fois
ça ne marche pas…
3
2
1
0
-1
-2
-3
-2
-1
0
1
2
3
4
5
Solution au sens des moindres carrés
6
Le Perceptron, des fois
ça ne marche pas...
6
5
4
3
2
1
0
-1
-2
-3
-4
-6
-4
-2
0
2
4
6
8
10
...Quand les exemples ne sont pas linéairement séparables
Règle du perceptron
(Rosenblatt 1958)
wnew  wold
J (W )

W
codage
J (W )
  Wxi   yi xi
W
 x'i  xi
codage 
 x'i   xi
J (W )  0

W
 x'i
wnew
si yi  1
et y 'i  1
si yi  1
si Wxi  0
si Wxi  0
 wold  x'i

wold
si x'i mal classé
si x'i bien classé
Règle du perceptron
(Rosenblatt 1958)
• Pas de fonction coût minimisée
• preuve de convergence
(dans le cas linéairement séparable)
wnew  wold  xi
winit  0
n
w    mi xi
i 1
avec mi le nombre de fois ou xi est mal classé
soit w* un vecteur qui classe bien tout le monde (hypothèse )
i  1, n xi w*  0
n
ww    mi xi w M min xi w
*
i 1
*
*
i
n
avec M   mi
i 1
(nombre de modif)
Règle du perceptron
(Rosenblatt 1958)
wnew  wold  xi
n
1 : ww    mi xi w M min xi w
*
*
*
i 1
wnew
2
2
  2 xi  2 wold xi
 wold
2
  2 xi
i 1
2
2
wnew  wold   max xi
i
et donc après M itérations
2
2
2 : w  Mc
2

2
avec c   2 max xi

* 2
1 et 2 : c' M  ww
2
avec M   mi
i
 wold
2
n
i
* 2
 w w
2
k ' M 2  w  Mk ' '
2
2
 Mc' '
Convergence des algorithmes de gradient
J (W )
wk 1  wk   k
W
k
si
lim   k   et
k  j 1
k
lim   k2  0
k  j 1
cout convexe
Alors l' algorithme converge
Performances des algorithmes linéaires
erreur  probabilit é d' erreur :
J ( D)  P D( X )  Y 
erreur d' apprentiss age : fréquence des erreurs :
1 n
J emp ( D)   I D ( xi ) yi
n i 1
minimisati on du risque empirique
Dˆ  arg min J emp ( D)
X  Rd
n exemples
D
meilleur classifieu r linéaire (du monde) et son cout
D*  arg min J ( D)
J *  J ( D* )
D
Théorème (Vapnik & Chervonenkis, 1974)
 la loi jointe de  X , Y , 1    2d / n, n  d


P J ( Dˆ )  J    e
*
2 d 
 n   n 2 / 2
 2   1e
 d  
Performances des algorithmes linéaires
n exemples en dimension d
minimisati on du risque empirique : Dˆ  arg min J emp ( D)
D
meilleur classifieu r linéaire (du monde) et son cout
D*  arg min J ( D)
J *  J ( D* )
D
Théorème (Vapnik & Chervonenkis, 1974)
 la loi jointe de  X , Y , 1    2d / n, n  d


  n 2 / 2
*
2 d   n 
ˆ
P J ( D)  J    e  2   1e
 d  
Probabilité
d’erreur
risque
empirique
borne
précision
Malédiction
de la dimensionnalité
Asymptotiquement
« jouable »
Maximum de vraisemblance
f X  x,1  e

1
 x  1 ' 1  x  1 
2
 x  1 '  1  x  1 
avec w   1 1   2 
1
p1
1
et b   1   2 '  1   2   log
Distance de Mahalanobis
w' x  b  0
2
p2

échantillo n  ensemble d' appentissa ge xi(1) , i  1, n1 , xi( 2) , i  1, n1




n1
1 n1 (1)
T
1
(
1
)
(
1
)
ˆ
mˆ 1  ˆ1   xi 1 
 xi  mˆ 1 xi  mˆ 1
n1 i 1
n  1 i 1
ˆ  1 n1ˆ 2  n2 ˆ 2 
n2
wˆ ' x  bˆ  0 avec wˆ  ˆ 1 mˆ 1  mˆ 2 
n1
pˆ1 
n1  n2
1
pˆ1
1
ˆ
ˆ
et b   mˆ 1  mˆ 2   mˆ 1  mˆ 2  - log
2
pˆ 2
Analyse discriminante de Fisher
2 classes
v mˆ 1  mˆ 2 
T
MV  mind
vR
T
v SW v
2
avec SW  ˆ
Quelle est la direction de l’espace des caractéristiques
qui sépare le mieux les deux classes ?
Voilà la critère !
Analyse discriminante de Fisher
C classes,
multi classes
C
nc exemples dans la classe c, nombre total : n   nc
c 1
pour chaque classe c on estime la moyenne : mˆ c , ˆ c
x  R d , on recherche une " nouvelle variable" v
résumant au " mieux" les d variables observées
C
nc
inertie INTER classes : S B   mˆ i  m mˆ i  m T
c 1 n
C n
inertie INTRA classes : SW   c ˆ c
c 1 n
vT S B v
mind T
solution : v  0 ou 
vR v SW v
vT S B v
on recherche une direction : mind T
avec vT SW v  1
vR v SW v
Analyse discriminante de Fisher
multi classes
vT S B v
mind T
avec vT SW v  1
vR v SW v
 mind vT S B v avec vT SW v  1

vR

 mind vT S B v -  vT SW v  1
vR



 vT S B v -  vT SW v  1

0
v
 S B v -  SW v  0
 SW1S B v   v
On recherche les vecteurs propres
de la matrice SW1S B
AD en matlab
ind1=find(yi==1); X1=Xi(ind1,:);
ind2=find(yi==2); X2=Xi(ind2,:);
ind3=find(yi==3); X3=Xi(ind3,:);
n1=length(ind1); n2=length(ind2); n3=length(ind3);
n = n1+n2+n3;
Sw = (n1*cov(X1)+n2*cov(X2)+n2*cov(X3))/n;
%AD
m1 = mean(X1); m2 = mean(X2); m3 = mean(X3); mm = mean(Xi);
Sb = (n1*(m1-mm)'*(m1-mm)+n2*(m2-mm)'*(m2-mm)+n3*(m3-mm)'*(m3-mm))/n;
%
%
%
%
L = chol(Sw);
Linv = inv(L);
[v l]=eig(Linv*Sb*Linv');
v = Linv'*v;
[v l]=eig(inv(Sw)*Sb);
% AD
% AD
[val ind] = sort(-abs(diag(l)));
P = [v(:,ind(1)) v(:,ind(2))];
xi = Xn*P;
Conclusion : discrimination linéaire
– Minimiser les erreurs
•
•
•
•
•
moindres carrées : erreur quadratique
adaline : erreur quadratique
perceptron : le nombre de mal classé
le neurone formel : les formes frontière
nombre d’erreur : le simplex -> les SVM
– estimer les paramètres
• max de vraisemblance, puis règle de Bayes
– minimiser un autre critère
• analyse discriminante de Fisher : REPRESENTATION
Apprentissage bayésien
Malédiction de la dimensionalité
–
–
–
–
Un problème inatendu
estimation de la matrice de covariance
capacité d’un classifieur linéaire
le problème de l’erreur moyenne !
Estimation du taux d’erreur