Vous êtes sur la page 1sur 37

Support Vector Machines

Support Vector Machines


S
eparateurs `
a vaste marge

Arnaud Revel
revel.arnaud@gmail.com

Support Vector Machines

Plan
1

Introduction

Formalisation

Utilisation des noyaux

Cas multi-classes

Applications des SVM

Bibliographie

Support Vector Machines


Introduction

Plan
1

Introduction

Formalisation
Cas separable
Cas non-separable

Utilisation des noyaux

Cas multi-classes

Applications des SVM

Bibliographie

Support Vector Machines


Introduction

Quest-ce que lapprentissage ?


En psychologie
Toute acquisition dun nouveau comportement `
a la suite dun
entranement : habituation, conditionnement...
En neurobiologie
Modifications synaptiques dans des circuits neuronaux : r`egle de
Hebb, r`egle de Rescorla et Wagner...
Apprentissage automatique
construire un mod`
ele g
en
eral
`a partir de donnees particuli`
eres
But
a une nouvelle donnee
pr
edire un comportement face `
approximer une fonction ou une densite de probabilite

Support Vector Machines


Introduction

Formalisation
Soit un ensemble dapprentissage S = {(xi , yi )}1..n dont les
elements obeissent `
a la loi jointe P(x, y ) = P(x)P(y |x)

On cherche `a approcher une loi sous-jacente f (x) telle que


yi = f (xi ) par une hypoth`ese h (x) aussi proche que possible
Les sont les param`etres du syst`eme dapprentissage.
Si f (.) est discr`ete on parle de classification
Si f (.) est une fonction continue on parle alors de r
egression

Mais que veut-on dire par


aussi proche que possible ?

Support Vector Machines


Introduction

Calcul du risque
Pour mesurer la qualite dune hypoth`ese h on va considerer une
fonction de co
ut Q(z = (x, y ), ) [a, b] que lon cherche `a
minimiser
Exemple de fonction de co
ut
Co
ut 0/1 : vaut 0 lorsque les etiquettes prevues et observees
concident, 1 sinon : utilise en classification
Erreur quadratique : (f (x) y )2 : utilise en regression
R
On cherche `a minimiser : R() = Q(z, )dP(z)

Comme on ne peut acceder directement `


a cette valeur, on
construit donc le risque empirique
qui
mesure
les erreurs realisees
1 Pn
par le mod`ele : Remp () = m i =1 Q(zi , )

Mais quel est le lien entre Remp () et R() ?

Support Vector Machines


Introduction

Theorie de lapprentissage de Vapnik (1995)


Vapnik a pu montrer lexpression suivante m avec une probabilite
au moins egale `a 1 :
r
dVC (ln(2m/dVC ) + 1) ln(/4)
R(m ) Remp (m ) + (b a)
m
(1)
La minimisation du risque depend
du risque empirique
un risque structurel lie au terme dVC qui depend de la
complexite du mod`ele h choisi (VC-dimension a )
a. Dimension de Vapnik et Chervonenkis

Support Vector Machines


Introduction

Support Vector Machines


Introduction

Ainsi, si pour construire un bon mod`ele dapprentissage, il est


necessaire de :
minimiser les erreurs sur la base dapprentissage
cest le principe dinduction naf utilise dans les reseaux de neurones
de construire un syst`eme capable de g
en
eraliser correctement

Support Vector Machines


Introduction

Support Vector Machines


Introduction

Revisitons le probl`eme du perceptron :


Classifieur lineaire : y (x) = signe(w x + b)

Support Vector Machines


Introduction

Quel est le meilleur classifieur ? :


Il existe de nombreux choix possibles pour w et b :
y (x) = signe(w x + b) = signe(kw x + k b)

(2)

Support Vector Machines


Formalisation

Plan
1

Introduction

Formalisation
Cas separable
Cas non-separable

Utilisation des noyaux

Cas multi-classes

Applications des SVM

Bibliographie

Support Vector Machines


Formalisation
Cas s
eparable

Notion de marge :
Dans le cas separable, on va
considerer les points les plus pr`es
de lhyperplan separateur :
vecteurs supports (support
vectors).
Pour tout point de lespace des
exemples, la distance `a
lhyperplan separateur est donnee
par :
|w x + b|
(3)
r=
||w||
On appelle marge d la distance entre les 2 classes
Cest cette distance d quon souhaiterait maximiser

Support Vector Machines


Formalisation
Cas s
eparable

Quantification de la marge :

Pour limiter lespace des possibles on consid`ere que les points


les plus proches sont situes sur les hyperplans canoniques
donnes par :
w x + b = 1
(4)
Dans ce cas, la marge est : d =

2
||w||

Les conditions dune bonne classification sont :


(
w x + b 1, si yi = 1
w x + b < 1, si yi = 1

(5)

Support Vector Machines


Formalisation
Cas s
eparable

Maximisation de la marge :
Le probl`eme revient alors `
a trouver w et b tels que d =
est maximale (xi , yi )
Sous les contraintes :
(
w x + b 1, si yi = 1
w x + b < 1, si yi = 1

2
||w||

(6)

De mani`ere equivalent, le probl`eme peut secrire plus


simplement comme la minimisation de :
1
||w||2
2
Sous les contraintes : yi (w x + b) 1, i [1, N]

(7)

Support Vector Machines


Formalisation
Cas s
eparable

Maximisation de la marge :
Cette minimisation est possible sous les conditions dites de
Karush-Kuhn-Tucker (KKT)
Soit le Lagrangien L :

L(w, b, ) = 21 ||w ||2

PN

i =1 i [yi (w

Les conditions de KKT sont alors :


L
L
L
w = 0, b = 0, i
i [yi (w xi + b) 1]

xi + b) 1]

0, j 0
=0

Par ailleurs la derni`ere condition implique que pour tout point


ne verifiant pas yi (w xi + b) = 1 le i est nul.
Les points qui verifient yi (w xi + b) = 1, sont appeles vecteurs
supports. Ce sont les points les plus pr`es de la marge. Ils sont
senses etre peu nombreux par rapport `
a lensemble des exemples.

Support Vector Machines


Formalisation
Cas s
eparable

Le probl`eme dual :
Le probl`eme sexprime sous forme duale comme la
minimisation de :
W () =

N
X
i =1

1 XX
i j yi yj (xi xj )
2

(8)

i =1 j=1

Fait partie des probl`emes doptimisation quadratique pour


lesquels il existe de nombreux algorithmes de resolution
SMO resolution analytique (par 2 points), gestion efficace de la
memoire, mais converge en un nombre detapes indetermine
SimpleSVM facilite de la reprise a chaud, converge en moins detapes mais
limitation memoire
LASVM utilisation en ligne, resolution analytique mais solution sous
optimale, plusieurs passes necessaires pour les petites bases de
donnees

Support Vector Machines


Formalisation
Cas non-s
eparable

Classification `a marge souple :


Et si les donnees ne sont pas lineairement separables ?
Lidee est dajouter des variables dajustement i dans la
formulation pour prendre en compte les erreurs de classification ou
le bruit

Support Vector Machines


Formalisation
Cas non-s
eparable

Classification `a marge souple : formulation


Probl`eme original
P
Minimiser 12 ||w||2 + C N
i =1 i

Etant donne : yi (w xi + b) 1 i

pour i = 1, ..., N et i 0

C est une constante permettant de contr


oler le compromis
entre nombre derreurs de classement, et la largeur de la marge
Probl`eme dual
Minimiser L() =

PN

i =1 i

1
2

PN PN

Avec les contraintes 0 i C

i =1

j=1 i j yi yj xi

xj

Support Vector Machines


Formalisation
Cas non-s
eparable

Au del`a du separateur lineaire


Que se passe-t-il si lensemble dapprentissage est
intrins`equement non separable ?

Pourquoi ne pas plonger le probl`eme dans un espace de plus


grande dimensionnalite ?

Support Vector Machines


Utilisation des noyaux

Plan
1

Introduction

Formalisation
Cas separable
Cas non-separable

Utilisation des noyaux

Cas multi-classes

Applications des SVM

Bibliographie

Support Vector Machines


Utilisation des noyaux

SVM non-lineaires : espace de caracteristiques


Idee generale
Lespace des donnees peut toujours etre plonge dans un espace de
plus grande dimension dans lequel les donnees peuvent etre
separees lineairement
Exemple : XOR
On effectue la transformation :
(x, y ) (x, y , x y )
Dans ce cas le probl`eme peut
etre separe lineairement

(9)

Support Vector Machines


Utilisation des noyaux

Le kernel trick
La resolution des SVM ne sappuient que sur le produit
scalaire < xi , xj > entre les vecteurs dentree
Si les donnees dapprentissage sont plongees dans un espace
de plus grande dimension via la transformation : x (x),
le produit scalaire devient :
K (xi , xj ) =< (xi ), (xj ) >

(10)

(K (xi , xj ) est appelee fonction noyau)


Pour faire apprendre le SVM seul le noyau est important, sans quil
ne soit necessaire deffectuer la transformee (x)

Support Vector Machines


Utilisation des noyaux

SVM non-lineaire : formulation


Probl`eme original
P
Minimiser 12 ||w||2 + C N
i =1 i

Etant
donne : yi (w (xi ) + b) 1 i , pour i = 1, ..., N et
i 0
Probl`eme dual
Minimiser L() =

PN

i =1 i

1
2

PN PN
i =1

j=1 i j yi yj K(xi , xj )

Sous les contraintes 0 i C

Les techniques doptimisation restent les memes


La solution est de la forme :
P
w = i SV i yi (xi ) P
f (x) = w (x) + b = i SV i yi K (xi , x) + b

Support Vector Machines


Utilisation des noyaux

Exemples de noyaux

Noyau polyn
ome de degre 2 `
a 2 variables
Transformee non-lineaire :
x = (x1 , x2 )

(x) = (1, 2x1 , 2x2 , x12 , x22 , 2x1 x2 )


Le noyau est alors :

2x2 , x12 , x22 , 2x1 x2 )

(y) = (1, 2y1 , 2y2 , y12 , y22 , 2y1 y2 )


(x) = (1,

2x1 ,

K (x, y ) = (x) (y ) = (1 + x y )2

Support Vector Machines


Utilisation des noyaux

Comment savoir si K est un noyau ?


Noyau de Mercer
On appel noyau de Mercer une fonction continue, symetrique,
semi-definie positive K (x, y )
Pn Pn
i =1
j=1 i j k(xi , xj ), R
Matrice de Gram
Matrice des termes < xi , xj >. Elle est symetrique et semi-definie
positive pour une noyau de Mercer
Theor`eme de Moore-Aronszajn (1950)
Toute fonction semi-definie positive k(x, y ) est un noyau, et
reciproquement. Elle peut sexprimer comme un produit
scalaire dans un espace de grande dimension.
k(xi , xj ) =< (xi ), (xj ) >

Support Vector Machines


Utilisation des noyaux

Quelques noyaux utilisables dans Weka

Noyau lineaire K (xi , xj ) = xi xj

Noyau polynomial de degre p K (xi , xj ) = (1 + xi xj )p


||xi xj ||2
2 2

Noyau Gaussien K (xi , xj ) = exp


Cette formulation est equivalente aux reseaux de
neurones `
a bases radiales avec lavantage
supplementaire que les centres des fonctions `a
base radiale (qui sont les vecteurs supports) sont
optimises
Perceptron `a 2 couches K (xi , xj ) = tanh(xi xj + )

Support Vector Machines


Utilisation des noyaux

Construire dautres noyaux

k(x, y) = k1 (x, y) + k2 (x, y)


k(x, y) = k1 (x, y)

k(x, y) = k1 (x, y) k2 (x, y)

k(x, y) = f (x) f (y) avec f () une fonction de lespace des


attributs dans R
k(x, y) = k3 ((x), (y))
k(x, y) = xByT avec B une matrice N N symetrique,
semi-definie positive.

Support Vector Machines


Cas multi-classes

Plan
1

Introduction

Formalisation
Cas separable
Cas non-separable

Utilisation des noyaux

Cas multi-classes

Applications des SVM

Bibliographie

Support Vector Machines


Cas multi-classes

Cas multi-classes

Les Separateurs `a vaste marge ont ete developpes pour traiter des
probl`emes binaires mais ils peuvent etre adaptes pour traiter les
probl`emes multi-classes.
Strategie un contre tous
Lidee consiste simplement `
a transformer le probl`eme `a k
classes en k classifieurs binaires.
Le classement est donne par le classifieur qui repond le mieux.
Pb : beaucoup dexemples negatifs !

Support Vector Machines


Cas multi-classes

Cas multi-classes

Strategie un contre un
classifieurs
Cette fois le probl`eme est transforme en k(k1)
2
binaires : chaque classe i etant en effet comparee `a chaque
classe j.
Le classement est donne par le vote majoritaire ou un graphe
acyclique de decision.

Support Vector Machines


Applications des SVM

Plan
1

Introduction

Formalisation
Cas separable
Cas non-separable

Utilisation des noyaux

Cas multi-classes

Applications des SVM

Bibliographie

Support Vector Machines


Applications des SVM

Applications des SVM

Les avantages theoriques (minimisation de lerreur empirique


et structurelle) et pratiques (algorithmes optimises) des SVM
en ont fait un outil tr`es prise dans de nombreux probl`emes
pratiques de classification.
Dans bien des cas, il sagit de construire un noyau (donc une
mesure de similarite) adapte aux donnees `
a traiter.

Support Vector Machines


Applications des SVM

Exemple dapplications

Classification de donnees biologiques/physiques


Classification de documents numeriques
Classification dexpressions faciales
Classification de textures
E-learning
Detection dintrusion
Reconnaissance de la parole
CBIR : Content Based Image Retrieval

Support Vector Machines


Bibliographie

Plan
1

Introduction

Formalisation
Cas separable
Cas non-separable

Utilisation des noyaux

Cas multi-classes

Applications des SVM

Bibliographie

Support Vector Machines


Bibliographie

Bibliographie

CANU, S. (2007).
Machines `
a noyaux pour lapprentissage statistique.
Techniques de ling
enieur - Dossier : TE5255.
Cortes, C. and Vapnik, V. (1995).
Support-vector networks.
Machine Learning, 20(3) :273297.
Guermeur, Y. and Paugam-Moisy, H. (1999).
Apprentissage Automatique, chapter Th
eorie de lapprentissage de Vapnik et SVM, Support Vector
Machines, pages 109138.
Herm
es.
http ://www.loria.fr/ guermeur/SVM-final.ps.