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 2 D(x) =signe(w’x+b) 1 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 Une forme x (vecteur forme des caractéristiques) C’est la forme « y=D(x) »
Discrimination Linéaire + + + + + + + + + Codage {-1,1}, fonction de décision de type « heaviside »
Estimation... et rêve
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);
Résistance aux « outliers »
Moindre carrés « stochastiques » ADALINE (Widrow Hoff 1960) Algorithme itératif de gradient
Algorithme de gradient : illustration dans 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]); Stabilisation du coût (erreur relative) Randomisation (ok si n grand) Évaluation du coût : n opérations
ADALINE, Ça marche...
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) codage
Règle du perceptron (Rosenblatt 1958) Pas de fonction coût minimisée preuve de convergence (dans le cas linéairement séparable)
Règle du perceptron (Rosenblatt 1958)
Convergence des algorithmes de gradient
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 Fisher 2 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 Fisher multi classes
Analyse discriminante de Fisher multi classes On recherche les vecteurs propres de la matrice
AD en matlab ind1=find(yi==1); X1=Xi(ind1,:); 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
Apprentissage bayésien Dudda et Hart pp75 chapitre 3
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