660 likes | 950 Views
Fouille de données dans les corpus de textes Classification supervisée : SVM. Michèle Jardino jardino@limsi.fr Groupe Langues, Information et Représentations http://www.limsi.fr/Recherche/LIR. Mes sources.
E N D
Fouille de données dans les corpus de textesClassification supervisée : SVM Michèle Jardino jardino@limsi.fr Groupe Langues, Information et Représentations http://www.limsi.fr/Recherche/LIR
Mes sources • SVM, Support Vector Machines,Marti Hearst, Berkeley,http://www.sims.berkeley.edu/courses/is290-2/f04/sched.html "Using Very Large Corpora / Spelling Correction / Clustering" (une partie du cours 10) • SVM, Séparateurs à Vastes Marges, Antoine Cornuéjols, Orsay http://www.lri.fr/~antoine
Plan • Classification binaire • généralités • exemples et définition • linéaire/non-linéaire • séparable/non séparable • Perceptron • Séparateurs (classifieurs) à Vastes Marges • Fonctions noyau
Classification Binaire : exemples • Courrier électronique : filtrage des spams ( spam / non spam) • Classification message (urgent / non urgent ) • Recherche d'informations (correct / incorrect ) • Classification émotions ( positive / négative ) • Transformation de classifications multiples en classification binaire : 1 classe contre toutes les autres
Classification Binaire • Données : quelques éléments (textes) qui appartiennent à deux classes différentes • classe 1 (+1 ) et classe 2 (-1 ) ou • classe positive (+1 ) et classe negative (-1 ) • Tâche : entrainer un classifieur sur ces données (dites d'apprentissage) puis prédire la classe d'un nouvel élément (nouveau texte) • Géometriquement : trouver une séparation entre les deux classes
Séparation Linéaire/ Non Linéaire • Données séparableslinéairement : si tous les points associés aux données peuvent être séparés correctement par une frontière linéaire (hyperplan)
Classe 1 Frontière de décision linéaire Classe 2 Donnéesséparables linéairement
Classe 1 Classe 2 Données nonséparables linéairement
Classe 1 Classe 2 Données non séparables linéairement ClassifieurNon Linéaire
AlgorithmesSéparation Linéaire/ Non Linéaire • Données séparables Linéairement ou NonLinéairement ? • réponse empirique • AlgorithmesLinéaires (algorithmes qui trouvent une frontière linéaire) • Quand on pense que les données sont linéairement séparables • Avantages • Simples, peu de paramètres à régler • Désavantages • Données dans espace de grande dimension sont souvent non linéairement séparables • Exemples d'algorithmes : Perceptron, SVM • Note: on peut utiliser des algorithmes linéaires pour des problèmes non linéaires (voirfonctions noyau)
AlgorithmesSéparation Linéaire/ Non Linéaire • Non Linéaires • Quand les données sont non linéairement séparables • Avantages • Plus précis • Désavantages • Plus compliqués, plus de paramètres à régler • Exemple: méthodes à base de fonctions noyau • Note: la distinction entre linéaireet non linéaireest valable pourla classificationmulti-classes
Algorithmes Linéaires Simples • Algorithme du Perceptron • Linéaire • ClassificationBinaire • En ligne (apprentissage séquentiel, une donnée à la fois ) • Apprentissage sur les erreurs • Réseau de neurones à une couche
Algorithmes Linéaires Simples • Données :{(xi,yi)}i=1...n • x dans Rd (x est un vecteurdans unespace de dimension d) vecteur de traits • y dans {-1,+1} étiquette de la classe • Question: • Trouver une frontière linéaire : wx + b (equation de l'hyperplan) telle quela règle de classification associéedonne une probabilitéd'erreur minimale • règle de classification (décision): • y = signe (wx + b) qui signifie : • si wx + b > 0 alors y = +1 • si wx + b < 0 alors y = -1 From Gert Lanckriet, Statistical Learning Theory Tutorial
Classification Binaire Linéaire • Trouver un hyperplan (w,b) dans Rd+1 qui classe aussi bien que possible les données (points) • Progressivement : un point à la fois, en modifiant les poids si nécessaire wx + b = 0 Règle de Classification : y = signe(wx + b) From Gert Lanckriet, Statistical Learning Theory Tutorial
wk+1 Wk+1 x + b = 0 Algorithme du Perceptron • Initialisation :w1 = 0 • Mise à jour des poids Pourchaque point x • Si classe(x) != decision(x,w) • alors wk+1 wk + yixi k k + 1 • sinon wk+1 wk • Fonction de decision(x, w) • Si wx + b > 0 retourne +1 • Sinon retourne -1 wk +1 0 -1 wk x + b = 0 From Gert Lanckriet, Statistical Learning Theory Tutorial
Algorithme du Perceptron • Progressif : s'adapte toujours aux nouvelles données • Avantages • Simple et efficace • Garantie d'apprendre un problème linéairement séparable(convergence, optimum global) • Limitations • Seulement séparations linéaires • Converge seulement pour données séparables • Pas très efficace dès qu'il y a trop de traits From Gert Lanckriet, Statistical Learning Theory Tutorial
Classifieur à Vaste Marge • Une autre familled'algorithmes linéaires • Intuition (Vapnik, 1965) • Si les classes sont linéairement séparables : • Séparer les données • Mettre un hyper-plan “loin” des données : margelarge • résultats statistiques garantisbonne généralisation MAUVAIS From Gert Lanckriet, Statistical Learning Theory Tutorial
Classifieur à Vaste Marge • Une autre familled'algorithmes linéaires • Intuition (Vapnik, 1965) • Si les classes sont linéairement séparables : • Séparer les données • Mettre un hyper-plan “loin” des données : margelarge • résultats statistiques garantisbonne généralisation BON Classifieur à Marge Maximale From Gert Lanckriet, Statistical Learning Theory Tutorial
Classifieur à VasteMarge Sinon séparablelinéairement • Permettre quelqueserreurs • Essayer encore de placer un hyperplan “loin” de chaque classe From Gert Lanckriet, Statistical Learning Theory Tutorial
Classifieurs à Vaste Marge • Avantages • Meilleur théoriquement (barres d'erreurs mieux connues) • Limitations • Calculs plus coûteux, programmation quadratique
wTxa + b = 1 M wTxb + b = -1 wT x + b = 0 VecteursSupport Vecteurs Support • Classifieur Vaste Marge • CasLinéairement séparable • But : trouver l' hyperplan qui maximise la marge From Gert Lanckriet, Statistical Learning Theory Tutorial
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 est maximale. La marge entre les deux classes vaut • Maximiser la marge revient donc à minimiser ||w|| sous contraintes:
EXPRESSION PRIMAIRE SVMs : un problème d’optimisation quadratique • Il faut donc déterminerwetbminimisant : (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 • µ n (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,yS) é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 !!?
Problème Non Linéaire • Fonctions noyau • Une familled'algorithmsnonlinéaires • Transforme un problèmenon linéaire en un problème linéaire (dans un espace de traits différents) • Utilise algorithmeslinéairespour résoudre un problèmelinéaire dans le nouvel espace From Gert Lanckriet, Statistical Learning Theory Tutorial
Intuition principale des fonctions noyau • 66 pièces de Corneille et Molière dans espace des 25 étiquettes grammaticales => mieux séparées dans espace des similarités entre pièces (dimension 66)
wT(x)+b=0 (X)=[x2 z2 xz] f(x) = signe(w1x2+w2z2+w3xz +b) Principe de méthodes à base de fonctions noyau : Rd RD (D >> d) X=[x z] From Gert Lanckriet, Statistical Learning Theory Tutorial
Principe de base méthodes noyaux • On peut utiliser les algorithmes linéaires vus auparavant (Perceptron, SVM) pour la classification dans un espace de plus grande dimension
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 : • 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 :
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
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