1 / 63

Fouille de données dans les corpus de textes Classification supervisée : SVM

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.

evadne
Download Presentation

Fouille de données dans les corpus de textes Classification supervisée : SVM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. Généralités

  5. 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

  6. 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

  7. 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)

  8. Classe 1 Frontière de décision linéaire Classe 2 Donnéesséparables linéairement

  9. Classe 1 Classe 2 Données nonséparables linéairement

  10. Classe 1 Classe 2 Données non séparables linéairement ClassifieurNon Linéaire

  11. 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)

  12. 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

  13. 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

  14. 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

  15. 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

  16. Perceptron

  17. 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

  18. 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

  19. Séparateur (classifieur) à vaste marge

  20. 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

  21. 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

  22. 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

  23. Classifieurs à Vaste Marge • Avantages • Meilleur théoriquement (barres d'erreurs mieux connues) • Limitations • Calculs plus coûteux, programmation quadratique

  24. 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

  25. Hyperplan de plus vaste marge

  26. Optimisation de la marge

  27. 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:

  28. 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) :

  29. 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)

  30. EXPRESSION DUALE Transformation du problème d’optimisation • Méthode des multiplicateurs de Lagrange • Problème dual

  31. 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

  32. * : 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.

  33. Problème Non Linéaire

  34. 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 !!?

  35. Problème Non Linéaire

  36. Problème Non Linéaire

  37. 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

  38. 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)

  39. 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

  40. 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

  41. 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 :

  42. 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

  43. Schéma de fonctionnement des SVMs

  44. 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 

  45. 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 :

  46. 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

  47. 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

  48. Réalisations

  49. 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

  50. Exemple : données d'apprentissage

More Related