290 likes | 436 Views
DEA Perception et Traitement de l’Information. Reconnaissance des formes Apprentissage linéaire S. Canu http://psichaud.insa-rouen.fr/~scanu/RdF. 1. RdF et apprentissage. Les problèmes. Ensemble d’apprentissage (échantillon). 3. A priori sur la nature de la solution. 2.
E N D
DEA Perception et Traitement de l’Information Reconnaissance des formes Apprentissage linéaire S. Canu http://psichaud.insa-rouen.fr/~scanu/RdF
1 RdF et apprentissage Les problèmes Ensemble d’apprentissage (échantillon) 3 A priori sur la nature de la solution 2 A : Algorithme d’apprentissage D(x) =signe(w’x+b) D : Algorithme de Reconnaissance des Formes C’est la forme « y=D(x) » Une forme x (vecteur forme des caractéristiques)
+ + + + + + Discrimination Linéaire + + + + + + + Codage {-1,1}, fonction de décision de type « heaviside »
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 X = [x1 ; x2]; X = [X ones(length(X),1)]; yi = [ones(length(x1),1) ; -ones(length(x2),1)]; W = (X'*X)\(X'*yi); west = W(1:2); best = W(3);
Moindre carrés « stochastiques »ADALINE (Widrow Hoff 1960) = D Algorithme itératif de gradient
Algorithme de gradient : illustrationdans le plan w1,w2 Lignes d ’iso-coût : J(W) = constante Minimum du coût w2 + Direction du gradient J’(W) Le gradient est orthogonal aux lignes d ’iso coût : argument à la « Taylor » w1
3 solutions LE NEURONE FORMEL
Algorithme itératif Stabilisation du coût (erreur relative) nbitemax = 50; k=0; while ((cout > 0) & (k<nbitemax)) K=K+1; ind = randperm(length(X)); 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 Randomisation (ok si n grand) Évaluation du coût : n opérations
ADALINE des fois ça ne marche pas… Solution au sens des moindres carrés
Le Perceptron, des fois ça ne marche pas... ...Quand les exemples ne sont pas linéairement séparables
Règle du perceptron(Rosenblatt 1958) • Pas de fonction coût minimisée • preuve de convergence • (dans le cas linéairement séparable)
Performances des algorithmes linéaires Théorème (Vapnik & Chervonenkis, 1974)
Performances des algorithmes linéaires Théorème (Vapnik & Chervonenkis, 1974) borne Probabilité d’erreur précision risque empirique Asymptotiquement « jouable » Malédiction de la dimensionnalité
Maximum de vraisemblance Distance de Mahalanobis
Analyse discriminante de Fisher2 classes 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 Fishermulti classes On recherche les vecteurs propres de la matrice
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'); % AD % v = Linv'*v; [v l]=eig(inv(Sw)*Sb); % 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
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 !