Réseaux de neurones artificiels « qui se ressemble s’assemble : les noyaux » S. Canu, laboratoire PSI, INSA de Rouen équipe « systèmes d’information pour l’environnement » psichaud.insa-rouen.fr/~scanu
Apprentissage 2 1 Les problèmes Ensemble d’apprentissage (échantillon) 3 A priori sur la nature de la solution 2 A : Algorithme d’apprentissage D : Algorithme de classification Une forme x (vecteur forme des caractéristiques) C’est la forme « y=D(x) »
Les méthodes à base de Noyau Ensemble d’apprentissage (échantillon) Ce qui se ressemble s’assemble = zone d ’influence d’un exemple « si x ressemble à un xi, il aura l ’étiquette yi »
Zone d’influence Définition : Si d(x,xi) < b x appartient à la zone d’influence du point xi b
Règle de décision Définition : 4 1 2 b 3 4 1-Si x appartient à la zone d’influence d’un seul point xi, alors il a l’étiquette yi 2-Si x appartient à la zone d’influence de plusieurs points de même étiquette, alors il a cette étiquette 3-Si x appartient à la zone d’influence de plusieurs point d’étiquette différentes, alors il y a rejet d’ambiguité 4-Si x appartient à la zone d’influence d’aucun point, alors il y a rejet de distance 4 1 2 b 3 4
Mise en œuvre for i = 1:n d(i) = norm((x-xi(i,:))/b); end ind = find(d>seuil); b caractérise la zone d’influence d’un point
La zone d’ambiguïté est trop importante Pour b « grand » La zone d’ambiguïté est trop importante
x x Pour b plus petit il faut cumuler les influences La zone de rejet de distance est trop importante il faut cumuler les influences
Noyau Distance de la forme x à toutes les forme de l’ensemble d’apprentissage On peut aussi modifier la zone d ’influence d’un point au lieu d’avoir uniquement une influence de type « tout ou rien » on peut imaginer de nombreuses autres manières dont un point influence les autres : par exemple :
Noyau Frontière de décision d(x)=0 Classe 2 Classe 1 d(x)=0
Noyau « matlab » d = 0 for i = 1:n d = d + yi(i)*exp(-(norm(xi(i,:)-x).^2)/b); end D=sign(d);
rejet de distance et rejet d’ambiguïté ????? Avec rejet Frontière de décision d(x)=r d(x)=-r Classe 2 Classe 1 rejet d(x) est petit si x est loin des xi ou si les rouges et les bleus se compensent rejet de distance et rejet d’ambiguïté ?????
Noyaux avec rejets Rejet de distance Classe 2 Classe 1 Est-ce une bonne idée ? Comment interpréter d ? Comment choisir G ? Comment choisir b ? Comment choisir les seuils ? Rejet d’ambiguïté Rejet de distance
Est-ce une bonne idée ? Oui si c’est universellement consistant
Comment choisir G : Autres noyaux
Exemples de noyaux Noyaux positifs et les autres…
Universellement consistant Définition : un noyau G est dit « régulier » si il est non négatif il existe une boule contrée B de rayon r et une constante k telle que : Théorème : Erreur de Bayes Erreur de notre règle
Comment interpréter le règle de décision Comment interpréter le règle de décision ? Estimation de densité par des noyaux Fenêtres de Parzen Consistance universelle Stratégie de RdF : C’est la règle du MAP
Discrimination avec les noyau de Parzen : règle du MAP (3 classes) d1 = 0; d2 = 0; d3 = 0; for i = 1:n if(yi(i)=1); d1 = d1 + exp(-(norm(xi(i,:)-x).^2)/b); end; % Vraisemblance if(yi(i)=2); d2 = d2 + exp(-(norm(xi(i,:)-x).^2)/b); end; if(yi(i)=3); d3 = d3 + exp(-(norm(xi(i,:)-x).^2)/b); end; end pc1=length(x1); pc2=length(x2); pc3=length(x3); nt = pc1+pc2+pc3; pc1=pc1/nt; pc2=pc2/nt; pc3=pc3/nt; % probabilité a priori p = pc1*d1+pc2*d2+pc3*d3; % p(x) (théorème des probabilité totales) map1 = pc1*d1./p; map2 = pc2*d2./p; map3 = pc3*d3./p; seuil = .15; rejetD = 0.025; if (map1>(map2+seuil)) & (map1>(map3+seuil))); classe = 1 elseif ((map2>(map1+seuil)) & (map2>(map3+seuil))); classe = 2 elseif (map3>(map1+seuil)) & (map3>(map2+seuil))); classe = 3 elseif (p<rejetD); classe = 4 % rejet de distance else classe = 0 % rejet d’ambiguïté parzen3crejet
MAP sur 3 classes
Exemple sur 3 classes
Comment choisir b ? Minimiser l’erreur en généralisation : avec un ensemble de test avec une technique de rééchantillonnage avec une borne sur l ’erreur
Méthode linéaire méthode « des potentiels » Les ci traduisent l’influence du point dans le calcul de la solution Les ci sont recherchés de manière à minimiser la probabilité d’erreur
Méthodes non linéaires : les RBF Casser la linéarité : adapter le noyau au problème au lieu de choisir xi, optimiser la position du centre adapter la largeur de bande du noyau si on a de « bon » noyaux, on peu en réduire le nombre Les ci mi et bi sont recherchés de manière à minimiser l’erreur : ATTENTION : on a maintenant un problème de minimisation non linéaire
Inconvénient des noyaux la malédiction de la dimensionnalité n points pour d dimensions Formulation géométrique, Densité de l’échantillonnage, Distance entre 2 points, Tous les points sont à la frontière, Borne de Stone, En grande dimension la notion de distance ne veut pas dire grand chose
Densité de l’échantillonnage n points pour d dimensions X ~ N(0,1) d x = randn(10000,100) proj = x * x(1,:)’; hist(proj./proj(1)) X ~ U(0,1) d dist(n,d) = Ej(mini |xi-xj|) n
Conclusion Noyaux linéaires Noyaux non linéaires Parzen Nadaraya Watson Régression spline SVM Noyaux non linéaires RBF perceptron multicouches : PMC Les dangers de la flexibilité : contrôler la complexité
Conclusion Noyaux linéaires Noyaux non linéaires Parzen Nadaraya Watson Régression spline SVM Noyaux non linéaires RBF perceptron multicouches : PMC Les dangers de la flexibilité : contrôler la complexité Réseaux de neurones