610 likes | 829 Vues
Les SVM : Séparateurs à Vastes Marges (Support Vector Machines). Antoine Cornuéjols IIE & CNRS - Université de Paris-Sud, Orsay antoine@lri.fr http://www.lri.fr/~antoine. Hyperplans séparateurs. Tâche de classification Cas de la séparation linéaire
E N D
Les SVM :Séparateurs à Vastes Marges(Support Vector Machines) Antoine Cornuéjols IIE & CNRS - Université de Paris-Sud, Orsay antoine@lri.fr http://www.lri.fr/~antoine
Hyperplans séparateurs • Tâche de classification • Cas de la séparation linéaire - On cherche h sous forme d’une fonction linéaire : h(x) = w.x + b - La surface de séparation est donc l’hyperplan : - Elle est valide si - L’hyperplan est dit sous forme canonique lorsque ou encore
Optimisation de la marge • La distance d’un point à l’hyperplan est : • L’hyperplan optimal est celui pour lequel la distance aux points les plus proches (marge) est maximale. Cette distance vaut • Maximiser la marge revient donc à minimiser ||w|| sous contraintes:
EXPRESSION PRIMAIRE SVMs : un problème d’optimisation quadratique • Il faut donc déterminerwetw0minimisant : (afin de maximiser le pouvoir de généralisation) • sous les contraintes (hyperplan séparateur) :
Résolution de la forme primaire du problème d : dimension de l’espace d’entrée Il faut régler d + 1 paramètres • Possible quand d est assez petit avec des méthodes d'optimisation quadratique • Impossible quand d est grand (> qqs 103)
EXPRESSION DUALE Transformation du problème d’optimisation • Méthode des multiplicateurs de Lagrange • Problème dual
Propriétés de la forme duale • La conversion est possible car les fonctions de coût et les contraintes sont strictement convexes (Th. de Kuhn-Tucker) • La complexité du problème d'optimisation est • µm (taille de l'échantillon d'apprentissage) • et non µd( taille de l'espace d'entrée X ) • Possible d'obtenir des solutions pour des problèmes impliquant ≈ 105 exemples
* : estimé (xS,uS) étant n'importe quel point de support Solution du problème d’optimisation Propriété1 : seuls les i correspondant aux points les plus proches sont non-nuls. On parle de points de support(exemples critiques). Propriété 2 : seuls interviennent les produits scalaires entre les observations x dans le problème d’optimisation.
Problèmes non linéairement séparables dans X La majorité des problèmes !!! Idée : Si on projette dans un espace de redescription de très grande dimension ?? • Presque toujours le problème devient linéairement séparable Mais : • Fléau de la dimensionalité • dVC explose !!?
SVM et redescription Espace des représentations internes Espace d'entrées X Espace de sortie F h x y Séparation linéaire Redescription non linéaire
Petite digression … … La reconnaissance de chiffres manuscrits par réseaux de neurones (ATT Bell labs, 1993)
La redescription des entrées : illustration • Soit un espace d’entrée à 2 dimensions • Tout vecteur x = (x1, x2) peut être redécrit à l’aide de polynômes d’ordre 6 • Nouvel espace de descripteurs à 16 dimensions (fonctions de base):
Le nouveau problème d’optimisation • Soit : X -> (X), on peut remplacer partout x par (x) • Si est bien choisie, K(x, x’) = (x).(x’) peut être facile à calculer et le problème devient :
Solution du nouveau problème d’optimisation • La fonction de décision devient : • Soit dans la forme duale : n : nb de fcts de base (peut être très grand) mS : nb de points de support
Les conditions de Mercer • Si on prend une fonction K symétrique, il existe une fonction tq: • ssi, pour toute fonction f telle que : • l’on a : • Si cette condition est vérifiée, on peut appliquer les SVMs • MAIS cela ne dit pas comment construire
Fonctions noyau usuelles (1/2) • Polynomiale : Les polynomes de degré qont pour fonction noyau associée : • RBF : Les fcts à base radiale : ont pour fct noyau associée : • Sigmoïde : Les réseaux de neurones à fcts d'activation : ont pour fct noyau associée :
Fonctions noyau usuelles (2/2) • Construction à partir de fonctions noyau de base(Propriétés de clôture) • K(x,z) = K1(x,z) + K2(x,z) • K(x,z) = aK1(x,z) • K(x,z) = K1(x,z) . K2(x,z) • … • Construction de fonctions noyau dédiées • Splines Bm • Expansion de Fourrier • Ondelettes • ...
Les fonctions noyau • … encodent : • Une mesure de similarité sur les données • La forme fonctionnelle des fonctions de décision • Le type de régularisation réalisée • (ex : les fcts gaussiennes favorisent les solutions régulières) • Le type de covariance dans l’espace des entrées • (ex : fcts noyau invariantes par rotation) • Sorte de distribution de probabilité a priori sur l’espace des hypothèses
Illustration : le cas du XOR Fonction noyau polynomiale de d° 2 : K(x,x') = [1 + (xT . x')]2 soit : K(x,xi ) = 1 + x12xi12 + 2 x1x2xi1xi2 + x22xi22 + 2x1xi1 + 2x2xi2 correspondant à la projection F : [1, x12, √2 x1x2, x22, √2 x1, √2 x2 ] T
Illustration : le cas du XOR • L'optimisation de Q(a) en fonction des multiplicateurs de Lagrange conduit au système d'équations : • La valeur optimale des multiplicateurs de Lagrange est :
Illustration : le cas du XOR • Les 4 exemples sont donc des exemples critiques ("support vectors") • La valeur optimale de Q(a) est : • Et : soit :
Illustration : le cas du XOR • Les 4 exemples sont donc des exemples critiques ("support vectors") (i , ai ≠ 0) • La fonction de décision s’écrit :
Illustration : le cas du XOR En revenant dans l’espace d’origine : Le vecteur poids optimal est : soit :
Illustration : le cas du XOR L'hyperplan optimal correspond à :
Illustration : le cas du XOR Séparatrice dans l'espace d'entrée D(x) = -x1x2 Séparatrice dans l'espace F(X) (espace à 6 dimensions)
Cas du problème non séparable : marges douces • On introduit des variables “ressort” qui pénalisent l’erreur commise : • Le problème dual a la même forme à l’exception d’une constante C
La mise en pratique • Il faut choisir : • Le type de fonction noyau K • Sa forme • Ses paramètres • La valeur de la constante C • La sélection rigoureuse de ces paramètres exige une estimation de la dimension de Vapnik-Chervonenkis et l’application de la borne de généralisation • Dans le cas séparable, il est possible de déterminer ces paramètres • Dans le cas non séparable, il faut tester avec des méthodes empiriques pour faire le meilleur choix
Exemple : exemple + • : exemple - Dans cercle : points de support Fct noyau polynomiale de degré 3 Démo : http://svm.research.bell-labs.com/ http://svm.dcs.rhbnc.ac.uk/pagesnew/GPat.shtml
Effet des paramètres de contrôle • Apprentissage de deux classes • exemples tirés uniformément sur l'échiquier • SVM à fonctions noyau gaussienne • Ici deux valeurs de s • En haut : petite valeur • En bas : grande valeur • Les gros points sont des exemples critiques • Plus en haut qu'en bas • Dans les deux cas : Remp = 0
Paramètres de contrôle : les fonctions noyau • http://svm.dcs.rhbnc.ac.uk/pagesnew/GPat.shtml • 47 exemples (22 +, 25 -) • Exemples critiques : 4 + et 3 - • Icifonction polynomialede degré 5etC = 10000
Paramètres de contrôle : les fonctions noyau • 47 exemples (22 +, 25 -) • Exemples critiques : 4 + et 3 - (5-, 4+) (5-, 4+) (3-, 4+) Icifonction polynomialede degré 2, 5, 8 etC = 10000 (10-, 11+) (8-, 6+) (4-, 5+) Icifonction Gaussiennede s = 2, 5, 10, 20 etC = 10000
Ajout de quelques points ... • http://svm.dcs.rhbnc.ac.uk/pagesnew/GPat.shtml • 47 + 8 exemples (30 +, 25 -) • Exemples critiques : 5 + et 8 - • Icifonction polynomialede degré 5etC = 10000
Domaines d’application des SVMs • Traitement d’images • Reconnaissance de caractères manuscrits • Reconnaissance de scènes naturelles • Reconnaissance de visages • Entrées : image bidimensionnelle en couleur ou en niveaux de gris • Sortie : classe (chiffre / personne)
Domaines d’application des SVMs • Images : 256 * 256 (100 niveaux de gris) • Codées en : 16 * 16 (niveaux de gris) + mêmes par 4 opérateurs différentiels à une dimension (|,-,/,\) = 1280 pixels (5 * 16 * 16) • 25 objets pris sous 25, 89 ou 100 points de vue (ens. d’apprentissage) [Thèse B. Schölkopf, 1997]
Domaines d’application des SVMs • Résultats avec noyaux polynomiaux
Application : images couleurs • Base d’images Corel Stock Photo Collection • 200 catégories • 100 images / catégorie • Codage • Pixel = vecteur dans espace à trois dimensions (RGB) • Image = histogramme (fraction des pixels d’une couleur donnée) Invariant / nombreuses opérations • Noyau : (fonction c2)
Domaines d’application des SVMs • Catégorisation de textes • Classification d’e-mails • Classification de pages web • Entrées : document (texte ou html) • Approche « sac de mots » • Document = vecteur de mots (lemmatisés pondérés par tf-idf) • Sortie : catégorie (thème, spam/non-spam) • Noyau : • Produit scalaire des vecteurs • C = ¥ (marge dure)
Domaines d’application des SVMs • Diagnostic médical • Évaluation du risque de cancer • Détection d’arythmie cardiaque • Évaluation du risque d’accidents cardio-vasculaires à moins de 6 ans • Entrées : état du patient (sexe, age, bilan sanguin, …) • Sortie : • Classe : à risque ou non • Probabilité d’accident à échéance donnée
Domaines d’application des SVMs • Dans les deux cas : • Pas d’information de structure • Seulement des informations globales
Domaines d’application des SVMs • Étude de séquences en bio-informatique • Biologie structurale prédictive (prédiction de structure secondaire du génome) • Identification de régions codantes de l’ADN génomique • Phylogénie … • Entrées : chaînes d’acides aminées • Sortie : • Structure secondaire • Intron / exon • Ancêtre • Noyau relationnel : • Modèle génératif (chaînes de Markov : insertion, délétion, remplacement, …)
Implémentation des SVMs • Minimisation de fonctions différentiables convexes à plusieurs variables • Pas d’optima locaux • Mais : • Problèmes de stockage de la matrice noyau (si milliers d’exemples) • Long dans ce cas • D’où mise au point de méthodes spécifiques • Gradient sophistiqué • Méthodes itératives, optimisation par morceaux • Plusieurs packages publics disponibles • SVMTorch • SVMLight • SMO • …
Extensions • Classification multi-classes • Régression • Détection de « nouveautés » • Analyse en composantes principales par noyaux
SVM et régression • Fonction de perte : • Régression linéaire : • Soit à minimiser : • Généralisation :
SVM et apprentissage non supervisé • Détection de « nouveautés » On cherche à séparer au maximum le nuage de points de l’origine