La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

SVM machine à vecteurs de support ou séparateur à vaste marge

Présentations similaires


Présentation au sujet: "SVM machine à vecteurs de support ou séparateur à vaste marge"— Transcription de la présentation:

1 SVM machine à vecteurs de support ou séparateur à vaste marge

2 Plan Introduction Principes de fonctionnement
Les fondements mathématiques Domaines d’applications Les SVM dans Oracle Conclusion

3 Introduction Méthode de classification binaire par apprentissage
Introduite par Vladimir Vapnik en 1995 Repose sur l’existence d’un classificateur linéaire Apprentissage supervisé

4 Principes de fonctionnement (1)
Pour deux classes d’exemples, on veut : - Trouver un classificateur linéaire qui va séparer les données (Hyperplan) - Maximiser la distance entre ces deux classes

5 Principes de fonctionnement (2)
Hyperplan optimal : hyperplan dont la distance minimale aux exemples d’apprentissage est maximale. Cette distance est appelée « marge ».

6 Principes de fonctionnement (3)
Pourquoi maximiser la marge?

7 Principes de fonctionnement (4)
Classification d’un nouvel élément inconnu ? On regarde sa position par rapport à l’hyperplan.

8 Principes de fonctionnement (5)
Linéarité et non-linéarité ? La majorité des problèmes réels sont non-linéaire

9 Principes de fonctionnement (6)
Résolution d’un cas non linéaire ? On change de dimension en utilisant une fonction noyau: -Polynomial -Gaussien -Sigmoïde -Laplacien Le nouvel espace est appelé « espace de redescription »

10 Principes de fonctionnement (7)
Illustration avec le cas XOR: Le cas de XOR n’est pas linéairement séparable, si on place les points dans un plan à deux dimension, on obtient la figure suivante Coordonnées des points : (0,0) ; (0,1) ; (1,0) ; (1,1)

11 Principes de fonctionnement (8)
Si on prend une fonction polynomiale (x , y) -> (x , y , x.y) qui fait passer d'un espace de dimension 2 à un espace de dimension 3, on obtient un problème en trois dimensions linéairement séparable : (0,0) -> (0,0,0) (0,1) -> (0,1,0) (1,0) -> (1,0,0) (1,1) -> (1,1,1)

12 Les fondements mathématiques

13 Problème d’apprentissage
But: Observation (xi, yi) → déterminer la fonction f tq f(x) = y de la façon la plus précise possible Trouver un compromis entre le sous-apprentissage et le sur- apprentissage Pb: Trouver le frontière de décision optimale

14 Classification à valeurs réelles
But: Plutôt que de construire h : X → {-1, 1} on construit f: X → R (nombres réels) La classe est donnée par h=signe(f). L'erreur se calcule avec P(h(X)!=Y ) = P(Yf(X) ≤0). Ceci donne une certaine idée de la confiance dans la classification. Idéalement, |Yf(X)| est proportionnel à P(Y|X). Yf(X) représente la marge de f en (X,Y).

15 Transformation des entrées
On part du problème initial On transforme les entrées en vecteurs dans un espace F (feature space) → Problème plus simple F finie ou non mais dispose d'un produit scalaire (espace de Hilbert) Choix de l’hyperplan optimal

16 Maximisation de la marge
Marge = distance du point le plus proche à l'hyperplan Linéaire → f(x) = w.x + b → hyperplan d’équation w.x + b = 0 La distance d'un point au plan est donnée par d(x) = |w.x + b|/||w|| Il faut donc minimiser ||w||

17 Problème primal Un point (x; y) est bien classé si et seulement si yf(x) > 0 (w, b) est défini à un coefficient multiplicatif près => on choisi yf(x) > 1 On en déduit le problème primal:

18 Problème dual (1/2) Primal → Dual grâce aux multiplicateurs de lagrange (cf théorème de lagrange) On obtient: Matrice hessienne (xi.xj)i,j

19 Problème dual (2/2) (αi)i solutions =>
αi = 0  vecteurs de support. La fonction de décision est donc 

20 La non linéarité (cas non séparable)
Majorité des problèmes Primal linéaire → primal non linéaire Dual non linéaire:

21 Fonctions noyau (1/3) Passage dans un espace intermédiaire de dimension supérieure Exemple: passage en dimension 3

22 Fonctions noyau (2/3) Dans le nouvel espace on doit résoudre:
La fonction solution f est:

23 Fonctions noyau (3/3) Le problème et la solution ne dépendent que de Φ(x).Φ(x’) On choisi k: XxX → R tq k(x,x’) = Φ(x).Φ(x’) K est appelée la fonction noyau et est linéaire Pb: Choisir le bon noyau

24 Condition de Mercer K symétrique est un noyau  (k(xi,xj))i,j est une matrice définie positive Dans ce cas il existe l’espace F et la fn Φ tq: k(x,x’)= Φ(x).Φ(x’) Problème: condition est très difficile à vérifier ne permet pas de savoir comment est Φ donne pas d'indication pour la construction de noyaux => En pratique, on combine des noyaux simples pour en obtenir de plus complexes.

25 Exemples de noyaux (1/2)

26 Exemples de noyaux (2/2) 47 exemples (22 +, 25 -) (5-, 4+) (3-, 4+)
Ici fonction polynomiale de degré 2, 5, 8 et C = 10000 (10-, 11+) (8-, 6+) (4-, 5+) Ici fonction Gaussienne de s = 2, 5, 10 et C = 10000

27 Temps de calcul n = nombre de données d’apprentissage
d = nombre d’entrées à prédire dn² ≤ complexité ≤ dn*n*n Taille de la matrice hessienne = n² =>SVM est adapté pour des problèmes de taille moyenne (~ à )

28 Domaines d’applications (1)
Catégorisation de textes Classification d’ s Classification de pages web Entrées : document (texte ou html) Approche « sac de mots » Document = vecteur de mots Sortie : catégorie (spam/non-spam)

29 Domaines d’applications (2)
Traitement d’images Reconnaissance de caractères manuscrits Reconnaissance de visages Entrées : image bidimensionnelle en couleur ou en niveaux de gris Sortie : classe (chiffre / personne)

30 Domaines d’applications (3)
Diagnostic médical Évaluation du risque de cancer Évaluation du risque d’accidents cardio-vasculaires Entrées : état du patient (sexe, age, bilan sanguin, …) Sortie : Classe : à risque ou non

31 Les SVM dans Oracle (ODM)

32 Oracle et SVM Oracle 10g implémente SVM
Spécificités de SVM dans Oracle 10g Détection d’anomalies (Anomaly detection) L’apprentissage actif (Active learning) Echantillonage et choix du noyau

33 Le package DBMS_DATA_MINING et svm
DBMS_DATA_MINING package dédié au datamining pour des applications Pl/sql. Quelques paramètres du package pour SVM Nom Description svms_kernel_function -svms_linear (pour noyau linéaire) -svms_gaussian (pour noyau gaussien) svms_kernel_cache_size Taille du cache svms_complexity_factor Valeur du facteur de complexité svms_epsilon Valeur du facteur epsilon pour l’algorithme de régression

34 Arbres de décision vs SVM dans oracle (1/2)
Cancer du poumon dans le Wisconsin 645 patients (512 comme données entraînement et 133 comme données à prédire) 2 classes: Benign (65%) et malignant (35%) Les résultats sont les suivants: Algorithme de SVM utilisant un noyau gaussien Algorithme d’arbre de décision Précision de 99,3% Précision de 92,5%

35 Arbres de décision vs SVM dans oracle (2/2)
Base de données pour les spams 4601 tuples (3520 tuples pour l’apprentissage et 811 pour les tests 2 classes : spam (39%) et non-spam(61%) Les résultats sont les suivants: Algorithme de SVM utilisant un noyau gaussien Algorithme d’arbre de décision Précision de 95,3% Précision de 92,5%

36 Conclusion Méthode de classification intéressante Efficace
Utilisée dans de nombreux domaines d’application

37 Pour en savoir plus Programmes, articles en ligne, tutorial sur:
- - -


Télécharger ppt "SVM machine à vecteurs de support ou séparateur à vaste marge"

Présentations similaires


Annonces Google