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 1e
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 1e
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
n2
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
vR
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
vR v SW v
vT S B v
on recherche une direction : mind T
avec vT SW v 1
vR v SW v
Analyse discriminante de Fisher
multi classes
vT S B v
mind T
avec vT SW v 1
vR v SW v
mind vT S B v avec vT SW v 1
vR
mind vT S B v - vT SW v 1
vR
vT S B v - vT SW v 1
0
v
S B v - SW v 0
SW1S B v v
On recherche les vecteurs propres
de la matrice SW1S 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