Vous êtes sur la page 1sur 37

SVM

machine à vecteurs de support


ou
séparateur à vaste marge

FOMANI - MOHAMADALLY Présentation BD Web


2006
Plan

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

FOMANI - MOHAMADALLY Présentation BD Web


2006
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é

FOMANI - MOHAMADALLY Présentation BD Web


2006
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

FOMANI - MOHAMADALLY Présentation BD Web


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

FOMANI - MOHAMADALLY Présentation BD Web


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

FOMANI - MOHAMADALLY Présentation BD Web


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

FOMANI - MOHAMADALLY Présentation BD Web


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

FOMANI - MOHAMADALLY Présentation BD Web


2006
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 »

FOMANI - MOHAMADALLY Présentation BD Web


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

FOMANI - MOHAMADALLY Présentation BD Web


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

FOMANI - MOHAMADALLY Présentation BD Web


2006
Les fondements mathématiques

FOMANI - MOHAMADALLY Présentation BD Web


2006
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

Pb: Trouver le frontière de Trouver un compromis entre


décision optimale le sous-apprentissage et le
sur- apprentissage
FOMANI - MOHAMADALLY Présentation BD Web
2006
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).
FOMANI - MOHAMADALLY Présentation BD Web
2006
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

FOMANI - MOHAMADALLY Présentation BD Web


2006
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||

FOMANI - MOHAMADALLY Présentation BD Web


2006
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:

FOMANI - MOHAMADALLY Présentation BD Web


2006
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

FOMANI - MOHAMADALLY Présentation BD Web


2006
Problème dual (2/2)

• (αi)i solutions =>  


• αi = 0  vecteurs de support.
• La fonction de décision est donc 

FOMANI - MOHAMADALLY Présentation BD Web


2006
La non linéarité (cas non séparable)

• Majorité des problèmes


• Primal linéaire → primal non linéaire

• Dual non linéaire:

FOMANI - MOHAMADALLY Présentation BD Web


2006
Fonctions noyau (1/3)

• Passage dans un espace intermédiaire de dimension


supérieure

• Exemple: passage en dimension 3

FOMANI - MOHAMADALLY Présentation BD Web


2006
Fonctions noyau (2/3)

• Dans le nouvel espace on doit résoudre:

• La fonction solution f est:

FOMANI - MOHAMADALLY Présentation BD Web


2006
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

FOMANI - MOHAMADALLY Présentation BD Web


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

FOMANI - MOHAMADALLY Présentation BD Web


2006
Exemples de noyaux (1/2)

FOMANI - MOHAMADALLY Présentation BD Web


2006
Exemples de noyaux (2/2)

• 47 exemples (22 (5-, 4+) (3-, 4+) (5-, 4+)


+, 25 -) 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

FOMANI - MOHAMADALLY Présentation BD Web


2006
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 (~10.000 à 100.000)

FOMANI - MOHAMADALLY Présentation BD Web


2006
Domaines d’applications (1)
• 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
– Sortie : catégorie (spam/non-spam)

FOMANI - MOHAMADALLY Présentation BD Web


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

FOMANI - MOHAMADALLY Présentation BD Web


2006
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

FOMANI - MOHAMADALLY Présentation BD Web


2006
Les SVM dans Oracle (ODM)

FOMANI - MOHAMADALLY Présentation BD Web


2006
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

FOMANI - MOHAMADALLY Présentation BD Web


2006
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

FOMANI - MOHAMADALLY Présentation BD Web


2006
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 Algorithme d’arbre de
noyau gaussien décision

Précision de 99,3% Précision de 92,5%

FOMANI - MOHAMADALLY Présentation BD Web


2006
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 Algorithme d’arbre de


gaussien décision

Précision de 95,3% Précision de 92,5%

FOMANI - MOHAMADALLY Présentation BD Web


2006
Conclusion

• Méthode de classification intéressante


• Efficace
• Utilisée dans de nombreux domaines d’application

FOMANI - MOHAMADALLY Présentation BD Web


2006
Pour en savoir plus

Programmes, articles en ligne, tutorial sur:


- www.kernel-machines.org
- www.kernel-methods.net
- www.support-vector.net

FOMANI - MOHAMADALLY Présentation BD Web


2006

Vous aimerez peut-être aussi