Vous êtes sur la page 1sur 42

Introduction aux Support Vector Machines (SVM)

Olivier Bousquet
Centre de Mathematiques Appliquees
Ecole Polytechnique, Palaiseau
Orsay, 15 Novembre 2001
2
But de lexpose
Presenter les SVM
Encourager leur utilisation
Encourager leur etude
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
3
Plan
Quel est le contexte ?
Quest-ce que cest ?
Comment cela marche-t-il ?
Pourquoi est-ce utile ?
Pourquoi est-ce que cela marche ?
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
4
Contexte
Probl`eme dapprentissage
On sinteresse `a un phenom`ene f (eventuellement non-deterministe) qui,
`a partir dun certain jeu dentrees x,
produit une sortie y = f(x).
Le but est de retrouver f `a partir de la seule observation dun certain nombre
de couples entree-sortie (x
i
, y
i
) : i = 1, . . . , n
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
5
Contexte
Formalisation
On consid`ere un couple (X, Y ) de variables aleatoires `a valeurs dans A .
Seul le cas = 1, 1 (classication) nous interesse ici (on peut facilement
etendre au cas [[ = m > 2 et au cas = R).
La distribution jointe de (X, Y ) est inconnue.
Donnees: on observe un echantillon S = (X
1
, Y
1
), . . . , (X
n
, Y
n
) de n
copies independantes de (X, Y ).
But: construire une fonction h : A telle que P(h(X) ,= Y ) soit
minimale.
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
6
Exemples de probl`emes dapprentissage
Reconnaissance de formes
Reconnaissance de chires manuscrits (apr`es segmentation: codes postaux)
Reconnaissance de visages
Entrees: image bidimensionnelle en couleur ou en niveaux de gris
Sortie: classe (chire, personne)
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
7
Exemples de probl`emes dapprentissage
Categorisation de textes
Classication de-mails
Classication de pages web
Entrees: document (texte ou html)
Sortie: categorie (th`eme, spam/non-spam)
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
8
Exemples de probl`emes dapprentissage
Diagnostic medical
Evaluation des risques de cancer
Detection darythmie cardiaque
Entrees: etat du patient (sexe, age, bilan sanguin, genome...)
Sortie: classe (`a risque ou non)
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
9
Illustration
Trouver une fronti`ere de decision qui separe lespace en deux regions (pas
forcement connexes).
Probl`eme doptimisation
Crit`ere: erreur constatee sur les donnees (Erreur empirique)
Espace de recherche: ensemble parametre de fonctions par exemple
Probl`eme mal pose (solution non unique)
Garanties ?
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
10
Illustration
Sur et sous-apprentissage
Si les donnees sont generees par un mod`ele quadratique
Le mod`ele lineaire est en situation de sous-apprentissage
Le mod`ele de haut degre est en situation de sur-apprentissage (apprentissage
par coeur)
Un compromis est `a trouver entre adequation aux donnees et complexite
pour pouvoir generaliser.
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
11
Plan
Quel est le contexte ?
Quest-ce que cest ?
Comment cela marche-t-il ?
Pourquoi est-ce utile ?
Pourquoi est-ce que cela marche ?
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
12
Quest-ce que cest ?
Les Support Vector Machines sont une classe dalgorithmes dapprentissage.
Principe general
Construction dun classieur `a valeurs reelles
Decoupage du probl`eme en deux sous-probl`emes
1. Transformation non-lineaire des entrees
2. Choix dune separation lineaire optimale
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
13
Classication `a valeurs relles
Plutot que de construire directement h : A 1, 1, on construit
f : A R.
La classe est donnee par le signe de f
h = sgn(f) .
Lerreur se calcule avec
P(h(X) ,= Y ) = P(Y f(X) 0) .
Donne une certaine idee de la conance dans la classication. Idealement,
[Y f(X)[ est proportionnel `a P(Y [X).
Y f(X) est la marge de f en (X, Y ).
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
14
Transformation des entrees
A est un espace quelconque dobjets.
On transforme les entrees en vecteurs dans un espace T (feature space).
: A T .
F nest pas necessairement de dimension nie mais dispose dun produit
scalaire (espace de Hilbert)
La non-linearite est traitee dans cette transformation, on peut donc choisir
une separation lineaire.
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
15
Choix dune separation
Hyperplan optimal
Choix de la separation: hyperplan qui classie correctement les donnees (lorsque
cest possible) et qui se trouve le plus loin possible de tous les exemples.
Valide
Optimal
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
16
Maximisation de la marge
Denition geometrique
Marge = distance du point le plus proche `a lhyperplan
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
17
Plan
Quel est le contexte ?
Quest-ce que cest ?
Comment cela marche-t-il ?
Pourquoi est-ce utile ?
Pourquoi est-ce que cela marche ?
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
18
Maximisation de la marge
Proprietes
Mod`ele lineaire
f(x) = w x + b
Denition de lhyperplan (fronti`ere de decision)
w x + b = 0
La distance dun point au plan est donnee par
d(x) =
[w x + b[
|w|
Maximiser la marge revient `a minimiser |w| sous contraintes
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
19
Implementation
Probl`eme primal
Un point (x
i
, y) est bien classe si et seulement si
yf(x) > 0
Comme le couple (w, b) est deni `a un coecient multiplicatif pr`es, on simpose
yf(x) 1
Rappelons que
d(x) =
[f(x)[
|w|
On obtient le probl`eme de minimisation sous contraintes

min
1
2
|w|
2
i, y
i
(w.x
i
+ b) 1
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
20
Implementation
Probl`eme dual
On passe au probl`eme dual en introduisant des multiplicateurs de Lagrange
pour chaque contrainte.
Ici on a une contrainte par exemple dapprentissage

max

n
i=1

1
2

i,j

i

j
y
i
y
j
x
i
x
j
i,
i
0

n
i=1

i
y
i
= 0
Probl`eme de programmation quadratique de dimension n (nombre dexemples).
Matrice hessienne: (x
i
x
j
)
i,j
.
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
21
Implementation
Proprietes
w

=
n

i=1

i
y
i
x
i
Seuls les
i
correspondant aux points les plus proches sont non-nuls. On parle
de vecteurs de support.
Fonction de decision
f(x) =
n

i=1

i
y
i
x
i
x + b
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
22
Cas non-separable
Traitement des erreurs
On introduit des variables ressort pour assouplir les contraintes.

min
1
2
|w|
2
+ C

n
i=1

i
i, y
i
(w.x
i
+ b) 1
i
On penalise par le depassement de la contrainte.
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
23
Cas non-separable
Probl`eme dual
Le probl`eme dual a la meme forme que dans le cas separable:

max

n
i=1

1
2

i,j

i

j
y
i
y
j
x
i
x
j
i, 0
i
C

n
i=1

i
y
i
= 0
La seule dierence est la borne superieure sur les .
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
24
Fonction noyau
Espace intermediaire
Au lieu de chercher un hyperplan dan lespace des entrees, on passe dabord dans
un espace de representation intermediaire (feature space) de grande dimension.
: R
d
T
x (x)
On doit donc resoudre

max

n
i=1

1
2

i,j

i

j
y
i
y
j
(x
i
) (x
j
)
i, 0
i
C

n
i=1

i
y
i
= 0
et la solution a la forme
f(x) =
n

i=1

i
y
i
(x
i
) (x) + b
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
25
Fonction noyau
Proprietes
Le probl`eme et sa solution ne dependent que des produits scalaires (x) (x
/
).
Plutot que de choisir la transformation non-lineaire : A T, on choisit
une fonction k : A A R appelee fonction noyau.
Elle represente un produit scalaire dans lespace de representation intermediaire.
Elle traduit donc la repartition des exemples dans cet espace.
k(x, x
/
) = (x) (x
/
)
Lorsque k est bien choisie, on na pas besoin de calculer la representation
des exemples dans cet espace pour calculer cette fonction.
Permet dutiliser des representations non-vectorielles
Le noyau materialise une notion de proximite adaptee au probl`eme.
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
26
Fonction noyau
Exemple
Soit x = (x
1
, x
2
) et (x) = (x
2
1
,

2x
1
x
2
, x
2
2
). Dans lespace intermediaire, le
produit scalaire donne
(x) (x
/
) = x
2
1
x
/
1
2
+ 2x
1
x
2
x
/
1
x
/
2
+ x
2
2
x
/
2
2
= (x
1
x
/
1
+ x
2
x
/
2
)
2
= (x x
/
)
2
On peut donc calculer (x) (x
/
) sans calculer .
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
27
Fonction noyau
Exemple
Le passage dans T = R
3
rend possible la separation lineaire des donnees.
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
28
Fonction noyau
Conditions de Mercer
Une fonction k(., .) symetrique est un noyau si pour tous les x
i
possibles,
(k(x
i
, x
j
))
i,j
est une matrice denie positive.
Dans ce cas, il existe un espace T et une fonction tels que
k(x, x
/
) = (x) (x
/
)
Dicile `a verier
Ne donne pas dindication pour la construction de noyaux
Ne permet pas de savoir comment est
En pratique, on combine des noyaux simples pour en obtenir de plus com-
plexes.
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
29
Fonction noyau
Exemples de noyaux
Lineaire
k(x, x
/
) = x x
/
Polynomial
k(x, x
/
) = (x x
/
)
d
ou (c + x x
/
)
d
Gaussien
k(x, x
/
) = e
|xx
/
|
2
/
Laplacien
k(x, x
/
) = e
|xx
/
|
1
/
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
30
Plan
Quel est le contexte ?
Quest-ce que cest ?
Comment cela marche-t-il ?
Pourquoi est-ce utile ?
Pourquoi est-ce que cela marche ?
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
31
Pourquoi est-ce utile ?
Flexibilite des noyaux
Noyau mesure de similitude
Temps de calcul raisonnable
Trouver un hyperplan qui minimise lerreur est NP-complet.
Vecteurs de support
Representation parcimonieuse et eventuellement interpretable.
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
32
Noyaux
Exemples
Si les donnees sont sous forme vectorielle, on peut utiliser un noyau classique.
On peut aussi contruire un noyau specique qui travaille plus directement sur
la representation initiale (structure).
Images 2D: choix dune resolution et dune discretisation des couleurs
vecteur des valeurs des pixels
coecients dune transformee en ondelettes
histogramme des couleurs
Textes: choix dun dictionnaire (suppression des mots simples)
Sac de mots: vecteur des occurences
Autres attributs (liens, position des mots...)
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
33
Noyaux
Exemples
Sequences dADN
Fenetres de taille xe (sous-sequence) et representation binaire (un bit par
valeur possible)
. . . A T A G C A . . .
1 0 1 0 0 1
0 1 0 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
(1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0)
Coecients dun mod`ele probabiliste generateur
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
34
Temps de calcul
Complexite
d = dimension des entrees
n = nombre dexemples dapprentissage
dn
2
Complexite dn
3
Taille de la matrice hessienne: n
2
Methodes de decomposition
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
35
Plan
Quel est le contexte ?
Quest-ce que cest ?
Comment cela marche-t-il ?
Pourquoi est-ce utile ?
Pourquoi est-ce que cela marche ?
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
36
Pourquoi cela marche-t-il ?
Elements de reponse
Plusieurs reponses possibles
Maximisation de la marge
Lensemble des hyperplans de marge donnee M a une VC dimension bornee
par
R
2
M
2
,
si les X sont dans une boule de rayon R.
Parcimonie de la representation
Lerreur leave-one-out est bornee en moyenne par le nombre de vecteurs
support.
En pratique cela donne des bornes relativement predictives mais tr`es pes-
simistes.
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
37
Questions Ouvertes
Regularisation
On peut voir lalgorithme SVM comme la minimisation dune fonctionnelle
regularisee:
min
f
n

i=1
c(f, X
i
, Y
i
) + |f|
2
H
.
1. Choix du param`etre de regularisation
2. Penalisation lineaire vs quadratique
3. Lien entre parcimonie et choix de la penalisation
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
38
Questions Ouvertes
Noyaux
1. Choix automatique des param`etres
2. Construction de noyaux exotiques (sur des objets structures)
3. Approche non-parametrique pour la construction de noyau
4. Classes etendues de noyaux (conditionnellement positifs)
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
39
Questions Ouvertes
Generalisation
1. Notion de complexite (covering numbers, fat-shattering dimension)
2. Structure du feature space
3. Structure de lespace des fonctions possibles (qui depend des donnees)
4. Proprietes de la matrice de Gram
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
40
Questions Ouvertes
Marge - Parcimonie
1. Bornes de type perceptron (Noviko)
2. Lien avec la fat-shattering dimension
3. Role de la classication a valeurs reelles
4. Lien avec la marge du boosting
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
41
Conclusion
1. La technique SVM est dune grande exibilite grace aux noyaux
2. La maximisation de la marge semble etre une bonne heurisitque
3. De nombreuses questions restent ouvertes
Applications: construction de noyaux, adaptation des param`etres, imple-
mentation ecace, incorporation dinvariances...
Theorie: comprendre la generalisation, la complexite, la marge, la parci-
monie...
Essayez les SVM !
Etudiez les SVM !
Venez au seminaire/groupe de travail !
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001
42
Pour en savoir plus
Page du seminaire/GT:
http://www.math.u-psud.fr/~blanchard/gtsvm/index.html
References bibliographiques
Un lien utile:
http://www.kernel-machines.org
Programmes, articles en ligne, tutoriels...
O. Bousquet: Introduction aux SVM Orsay, 15 Novembre 2001

Vous aimerez peut-être aussi