Anda di halaman 1dari 38

Support de cours

Machines `a Vecteurs Supports


Didacticiel
Herve Frezza-Buet, Supelec
29 avril 2010
Herve.Frezza-Buet@supelec.fr
Table des mati`eres
1 Introduction 4
1.1 Objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Au fait, quest-ce quune SVM? . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Comment ca marche ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Separateur lineaire 6
2.1 Donnees du probl`eme et notations . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Les exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Le separateur lineaire . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Separabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Marge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Un probl`eme doptimisation 9
3.1 Le probl`eme `a resoudre par la SVM . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1 Cas separable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.2 Cas general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Resolution lagrangienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.1 Un probl`eme convexe . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.2 Probl`eme direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.3 Probl`eme dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.4 Retour au cas particulier des SVM . . . . . . . . . . . . . . . . . . . 14
4 Noyaux 17
4.1 Lespace des caracteristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 Quelles fonctions sont des noyaux ? . . . . . . . . . . . . . . . . . . . . . . . 19
4.2.1 Exemple simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.2 Conditions pour avoir un noyau . . . . . . . . . . . . . . . . . . . . . 20
4.2.3 Noyaux classiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.4 Contruction de noyaux . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3 Lidee fondatrice des SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4 Quelques trucs relatifs aux noyaux . . . . . . . . . . . . . . . . . . . . . 22
4.4.1 Normalisation des donnees . . . . . . . . . . . . . . . . . . . . . . . 22
4.4.2 Centrer et reduire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.5 Noyaux pour lanalyse de documents et donnees structurees . . . . . . . . . 23
4.5.1 Analyse de documents . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.5.2 Chanes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.5.3 Autres exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2
5 Resolution 26
5.1 Probl`eme doptimisation quadratique via SMO . . . . . . . . . . . . . . . . 26
5.1.1 Principe general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.1.2 Detection de loptimalite . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.1.3 Algorithme doptimisation . . . . . . . . . . . . . . . . . . . . . . . . 28
5.1.4 Probl`emes numeriques . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2 Choix des param`etres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6 Regression 30
6.1 Position du probl`eme doptimisation . . . . . . . . . . . . . . . . . . . . . . 30
6.2 Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7 Floril`ege de SVM 33
7.1 Classication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.1.1 C-SVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.1.2 -SVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.2 Regression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
7.2.1 -SVR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
7.2.2 -SVR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
7.3 Apprentissage non supervise . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
7.3.1 Plus petite sph`ere englobante . . . . . . . . . . . . . . . . . . . . . . 35
7.3.2 One-class SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3
Chapitre 1
Introduction
1.1 Objectif
Lobjectif de ce document est de fournir une introduction pratique aux machines `a
vecteurs supports
1
. Le lecteur qui voudrait plus de developpements mathematiques et
pratiques pourra se reporter aux textes cites en bibliographie, ce document netant quune
entree en mati`ere, qui pose les bases du probl`eme. Neanmoins, on trouvera ici de quoi
comprendre intuitivement les tenants et les aboutissants des SVM, avec une vision
ingenieur permettant une mise en pratique rapide et raisonnee de ces techniques.
Les SVM impliquent plusieurs notions mathematiques, dont la theorie de la generalisa-
tion, peu abordee ici, la theorie de loptimisation, et les methodes dapprentissage basees
sur des fonctions noyau. Nous ne donnerons de ces theories que les elements necessaires `a
comprendre ce que sont les SVM, sans les developper plus avant.
1.2 Au fait, quest-ce quune SVM?
Une SVM est un algorithme dapprentissage, permettant dapprendre un separateur.
Ceci ram`ene le probl`eme `a savoir ce quest un separateur... Donnons nous un ensemble
ni de vecteurs de R
n
, separes en deux groupes, ou dit autrement en deux classes. Lap-
partenance `a un groupe ou un autre est deni par une etiquette, associee `a chacun des
vecteurs, sur laquelle est inscrite groupe 1 ou groupe 2 . Trouver un separateur
revient `a construire une fonction, qui prend un vecteur de notre ensemble, et peut dire de
quel groupe il est. Les SVM sont une solution `a ce probl`eme, comme le serait un simple
apprentissage par cur des classes associees aux vecteurs de notre ensemble. Mais avec
les SVM, on attend de bonnes proprietes de generalisation, `a savoir que si un nouveau
vecteur de presente, qui netait pas dans lensemble, la SVM saura dire `a quel groupe il est
vraissemblable quil appartient, au regard des attributions de classes des vecteurs presents
au depart.
Nous etendrons le cas du separateur au cas o` u la SVM eectue un regression. Dans
ce cas, une valeur numerique constitue letiquette des vecteurs de lensemble etudie, ce
qui est au autre probl`eme puisquil ne sagit plus de savoir `a quel groupe appartient un
vecteur, groupe 1 ou groupe 2, mais de savoir combien vaut un vecteur.
1. Support Vector Machines, soit SVM en anglais.
4
1.3 Comment ca marche ?
Lidee est de poser, `a partir des vecteurs dont on connat les classes, un probl`eme dop-
timisation, du style optimiser telle grandeur en sassurant que ... . Il y a deux dicultes.
La premi`ere, cest poser le bon probl`eme doptimisation. Cette notion de bon probl`eme
est celle qui fait reference aux theories mathematiques de la generalisation, et fait des SVM
un outils dun abord parfois dicile. La deuxi`eme diculte est de resoudre ce probl`eme
doptimisation une fois pose, et l`a on tombe plus dans des subtilites informatiques, dont
nous retiendrons lalgorithme SMO.
5
Chapitre 2
Separateur lineaire
Nous allons dabord traiter le cas dun separateur simple, quoi que pas si simple que
ca nalement, le separateur lineaire. En fait, cest le cur des SVM, meme si les SVM
fournissent des separateurs bien plus puissants que celui que nous allons etudier.
2.1 Donnees du probl`eme et notations
2.1.1 Les exemples
Nous avons dit en introduction que lon partait dun ensemble ni de vecteurs etiquetes.
Nous noterons x un reel, alors que x desigera un vecteur de R
n
. Dans notre cas, nous dirons
que lensemble des vecteurs etiquetes que nous nous donnons est lensemble des exemples
note S, qui contient p elements.
S = (x
l
, y
l
)
1lp
avec l, y
l
1, 1
Lappartenance dun vecteur `a une classe o` u `a lautre est materialisee ici par la valeur 1
ou 1 de letiquette y, ce qui nous arrangera pour les calculs.
2.1.2 Le separateur lineaire
Nous noterons le produit scalaire de deux vecteurs x.y). Cette notation posee, nous
pouvons denir le separateur lineaire f
w,b
par lequation suivante :
f
w,b
(x) = w.x) + b
Ce separateur ne fournit pas des valeurs valant exclusivement 1 ou 1, mais nous dirons
que quand le resultat f
w,b
(x) est positif, le vecteur x appartient `a la meme classe que les
exemples detiquette 1, et que quand ce resultat est negatif, le vecteur x appartient `a la
meme classe que les exemples detiquette 1.
Notons avant de disctuter plus avant cette notion de separateur lineaire que lequation
f
w,b
(x) = 0 denit la fronti`ere de separation entre les deux classes, et que cette fronti`ere
est un hyperplan ane dans le cas du separateur lineaire.
2.2 Separabilite
Reprenons notre base dexemples S, et decomposons-la en deux sous-ensembles selon
la valeur de letiquette y. Denissons donc :
S
+
= x : (x, y) S et y = 1
S

= x : (x, y) S et y = 1
6
Dire que S est lineairement separable signie quil existe w et b tel que :
f
w,b
(x) > 0 x S
+
f
w,b
(x) < 0 x S

Ce nest pas toujours faisable, il peut y avoir des distributions detiquettes sur les
vecteurs de S qui rendent S non lineairement separable. Dans le cas dexemples pris dans
le plan, dire que la distribution dexemples est lineairement separable signie quon peut
tracer un trait (un hyperplan donc) tel que les exemples de la classe 1 et ceux de la classe
1 se retrouvent de part et dautre de cette fronti`ere.
2.3 Marge
Supposons que S soit lineairement separable pour ce qui suit. Cest une hypoth`ese
forte, que lon reduira par la suite, mais qui va nous permettre de poser quelques notions.
Lidee au cur des SVM est que, certes, il convient de separer les exemples de chaque
classe, mais quil faut que lhyperplan passe bien au milieu . Cest pour denir cette
notion de bien au milieu (cf. gure 2.1) que lon introduit la marge.
Figure 2.1 Les memes exemples (la classe 1 ou 1 est representee par la couleur) sont,
`a gauche comme `a droite, separes par une droite. La notion de marge sert `a qualier
mathematiquement le fait que dans le cas de droite, les exemples sont mieux separes
par la droite.
Aidons nous de la gure 2.2 pour faire les observations suivantes. Notons dej`a que
les courbes dequation f
w,b
= C sont des hyperplans parall`eles, et que w est normal
`a ces hyperplans. Le param`etre b traduit un decalage de lhyperplan separateur, soit une
translation des valeurs de f
w,b
. La norme | w| de w inuence les courbes de niveau f
w,b
= C.
Plus la | w| est elevee, plus les courbes de niveau sont serrees.
Si lon souhaite une fronti`ere separatrice donnee, on se trouve confronte `a une indeter-
mination pour le choix de w et de b. Nimporte quel vecteur w non nul perpendiculaire `a
lhyperplan convient. Une fois choisi, on determine b tel que b/ | w| soit la mesure orientee
1
de la distance de lorigine au plan de separation.
La marge se denit comme une notion relative `a un separateur f et un ensemble
dexemples S donnes. On la notera
f
S
cette marge. Elle se denit `a partir dune grandeur

f
(x,y)
calculee sur chaque exemple (x, y), appelee marge aussi, mais marge de lexemple.
Cette marge-l`a est la grandeur suivante :

f
(x,y)
= y f(x) (2.1)
1. La direction de w donne le sens positif.
7
f
w,b
(x) = cste
f
w,b
(x) = 0
w
d =
|f
w,b
(x)|
w
d =
|b|
w
marge
marge
Figure 2.2 Denition dun separateur f
w,b
. Les grandeurs mentionnees sont les valeurs
du separateur au niveau des points, non les distances euclidiennes. Si la distance euclidienne
dun point `a la fronti`ere de separation est d,

f
w,b

en ce point vaut d | w|.


Comme y 1, 1, et comme un separateur met les exemples de classe 1 du cote
positif de sa fronti`ere, et ceux de classe 1 du cote negatif, la marge dun exemple est, `a
la norme de w pr`es, la distance de lexemple `a la fronti`ere. La marge tout court, pour tout
lensemble des exemples, est simplement le minimum des marges.

f
S
= min
(x,y)S

f
(x,y)
(2.2)
On sent bien, pour revenir aux deux cas de la gure 2.1, que dans le cas de droite, le
meilleur, la marge
f
S
est plus grande, vu que la fronti`ere passe plus loin des exemples.
La maximisation de la marge est en eet lactivite majeure dune SVM lors de la phase
dapprentissage.
8
Chapitre 3
Un probl`eme doptimisation
3.1 Le probl`eme `a resoudre par la SVM
3.1.1 Cas separable
Continuons dans lesprit du chapitre 2 en supposant toujours que lon dispose dune
base dexemples S eectivement separable par un separateur lineaire. Si le separateur
separe eectivement S, avec du cote positif les exemples etiquetes 1, et du cote negatif
ceux etiquetes 1, alors toutes les marges des exemples sont positives (cf. eq. 2.1). Si
lune des marges est negatives, cest que le separateur ne separe pas correctement les deux
classes, alors que cest possible, vu quon suppose S lineairement separable. Dans ce cas
incorrect,
f
S
est negatif (cf. eq. 2.2). Donc maximiser la marge, veut bien dire dabord
quon separe (marge positive), puis quon separe bien (marge maximale).
Le separateur de marge maximal est tel que pour lui, lexemple de plus petite marge a
une marge plus grande que lexemple de plus petite marge des autres separateurs possibles.
Interessons nous `a cet exemple de plus petite marge. En fait, il peut y en avoir plusieurs
(ex quos), appartenant aussi bien ` a la classe 1 qu`a la classe 1. En fait, en reechissant
un peu `a laide de la gure 3.1, il y a forcement au moins un exemple de classe 1 et
un exemple de clase 1 qui contraignent cette marge, et la fronti`ere de separation passe
pile au milieu. On remarque aussi que seuls ces exemples-l`a contraignent lhyperplan, et
quon pourrait enlever tous les autres de la base sans que le separateur de marge maximale
change. Cest pourquoi ces exemples sont appeles vecteurs support.
Notons que lhyperplan separateur de marge maximale est denie `a une constante pr`es,
et quon peut sarranger pour que les vecteurs supports soient sur les courbes de niveau
+1 et 1. La gure 3.2 illustre ce propos. Dans ce cas precis, la distance qui separe les
vecteurs supports au plan de separation, la marge donc, est tout simplement 1/| w|.
Partant de ce constat, pla cons nous dans le cas o` u S est separable. La gure 3.3 montre
deux separateurs, tels que tous les exemples se situe non seulement du bon cote (
f
(x,y)
> 0),
mais en dehors de la bande constituee par les courbes de niveau 1 et 1 (
f
(x,y)
> 1).
La largeur de la bande constituee par les courbes de niveau 1 et 1 est 2/| w|. Pour
trouver le separateur de marge maximale, il sut alors de chercher, parmi les separateurs
analogues `a ceux de la gure 3.3, cest-`a-dire parmi ceux qui verient pour tous les exemples

f
(x,y)
> 1, le separateur pour lequel | w| est minimal. Minimiser | w| revient `a elargir la
bande 1/1 jusqu`a ce quelle se coince contre les vecteurs supports, ce qui nous ram`ene
au cas de la gure 3.2.
Lhyperplan de marge maximale, pour une base dexemple S = x
l
, y
l

l
, est donc la
solution du probl`eme doptimisation suivant, dans lequel le coecient 1/2 est l`a juste pour
9
marge min
marge min
marge min
Figure 3.1 Le separateur de marge maximale a une fronti`ere qui se denit par au moins
un exemple de chaque classe. Les vecteurs supports sont marques dune croix.
f
w,b
(x) = 0
f
w,b
(x) = 1
f
w,b
(x) = 1
Figure 3.2 Le separateur de cette gure `a la meme fronti`ere que celui de la gure 3.1, et
separe donc les exemples avec la meme qualite. La dierence est que les courbes de niveau
f
w,b
= 1 et f
w,b
= 1 passent par les vecteurs supports. Il a fallu pour cela modier la
norme de w, et reajuster b.
10
0
1
1
0
1
1
Figure 3.3 Les deux separateurs de cette gure verient que la marge de tous les
exemples est superieure `a 1. Pour chacun deux, la largeur des bandes est 2/| w|, w etant
le terme qui intervient dans f
w,b
(x) = w.x) + b. En consequence, le separateur le plus
vertical sur cette gure a un vecteur w de norme plus faible que lautre.
simplier les calculs de derivee qui vont venir ulterieurement :
Jouer sur w et b pour minimiser
1
2
w. w)
En respectant y
l
( w.x
l
) + b) 1, (x
l
, y
l
) S
3.1.2 Cas general
Pour le cas general o` u S nest pas separable, la solution consiste `a autoriser certains
exemples `a avoir une marge plus petite que 1, voire negative. On va pour cela transformer
la contrainte y
l
( w.x
l
) + b) 1 par y
l
( w.x
l
) + b) 1
l
, avec
l
0. Bien s ur, si on fait
ca sans contre-partie, rien ne va plus car on peut minimiser w. w) jusqu`a le rendre nul,
en prenant des
l
susamment grands. Lidee est alors de rajouter les
l
dans lexpression
`a minimiser, de sorte `a eviter quils ne grandissent trop, ce qui limitera les exemples qui
derogeront `a la separabilite par le separateur solution du probl`eme doptimisation. Ce
probl`eme est donc, pour resumer, le suivant, o` u C est un param`etre positif determinant
pour la tolerence de la SVM aux exemples mal separes :
Jouer sur w, b et pour minimiser
1
2
w. w) + C

l
En respectant
_
y
l
( w.x
l
) + b) 1
l
, (x
l
, y
l
) S

l
0, l
11
3.2 Resolution lagrangienne
3.2.1 Un probl`eme convexe
Dans tout ce qui suit, on admettra que lon parle dun probl`eme convexe, cest-`a-dire
dun probl`eme doptimisation qui nadmet pas doptimum local, mais un seul optimum,
global donc. Cette remarque, non justiee dans ce document, est cruciale car la convexite
du probl`eme est une garantie de la convergence des SVM vers la solution optimale.
3.2.2 Probl`eme direct
Lobjet de ce document nest pas dintroduire la theorie de loptimisation, mais den
noncer le strict minimum pour comprendre le lien avec les SVM. Dans la section 3.1.2, on
denit un probl`eme doptimisation de la forme suivante :
Jouer sur

k pour minimiser f(

k)
En respectant g
i
(

k) 0, 1 i n
La resolution de ce probl`eme passe par la denition de la fonction suivante, appelee le
lagrangien du probl`eme, qui fait intervenir les contraintes multipliees par des coecients

i
0, dits multiplicateurs de Lagrange.
L(

k, ) = f(

k) +

1in

i
g
i
(

k)
La theorie dit alors que le vecteur

k

qui minimise f(

k) en respectant les contraintes


doit verier :
L(

k
=

0 et
L(

)

=

0
Ces conditions sont susantes pour denir loptimum si le lagrangien est une fonction
convexe, ce qui sera notre cas pour les SVM.
Le probl`eme est quecrire ces conditions ne conduit pas toujours facilement `a la reso-
lution du probl`eme. Dans le cas des SVM, la demarche sera facilitee par la resolution du
probl`eme dual.
3.2.3 Probl`eme dual
le probl`eme dual sobtient en injectant les contraintes doptimalite donnees par les
L

k
= 0 dans lexpression de L, ce qui ne laisse apparatre que les multiplieurs, dans une
expression `a maximiser cette fois-ci, sous dautres contraintes.
En eet, le lagrangien est une fonction en scelle de cheval, et loptimum est un minimum
suivant

k, mais un maximum suivant (cf. gure 3.4). Reinjecter
L

k
= 0 dans L(

k, )
revient `a denir la fonction ( ) qui pour calcule la valeur minimale du lagrangien, cest-
`a-dire la valeur minimale de L obtenue quand pour ce -l`a, on minimise en jouant sur

k.
Reste alors `a maximiser ( ) en jouant sur , ce qui denit le probl`eme doptimisation
dual.
Linteret du probl`eme dual dans le cadre des SVM apparatra plus clairement si on
quitte les generalites de la theorie de loptimisation pour revenir `a nos moutons.
12
k( )
()
L
k

Solution
Fond de vallee
Figure 3.4 Passage du probl`eme primal au probl`eme dual. Le lagrangien L(

k, ) a une
forme de scelle autour de la solution du probl`eme. Le fond de vallee , cest-`a-dire les
minima suivant

k, est represente sur la scelle par des pointilles. Lequation
L

k
= 0 permet
de lier

k et , de sorte `a exprimer

k en fonction de . Cette laison est la projection de la
vallee sur le plan horizontal . Linjection de cette relation dans L donne une fonction
L(

k,

k( )) = ( ). Cette fonction est la fonction objectif du probl`eme dual, dont on cherche


le maximum, comme lillustre sa representation sur la gure.
13
3.2.4 Retour au cas particulier des SVM
Revenons au probl`eme deni `a la section 3.1.2, et notons
l
et
l
les coecients relatifs
aux deux types de contraintes. Apr`es avoir reecrit ces contraintes pour quelles fassent
apparatre des , de sorte `a coller `a la forme vue en section 3.2.2, on peut denir le
lagrangien de notre probl`eme par :
L( w, b,

, , ) =
1
2
w. w) + C

l
(y
l
( w.x
l
) + b) +
l
1)

l
=
1
2
w. w) +

l
(C
l

l
) +

l
y
l
( w.x
l
) + b)
l,
l
0
l,
l
0
Les deux types de contraintes de notre probl`eme sont des inegalites (cf. section 3.1.2).
La theorie dit alors que si la contrainte est saturee, cest-`a-dire si cest une egalite en fait,
alors son multiplieur est non nul. Dans le cas o` u cest une inegalite stricte, son multiplieur
est nul. Donc pour une contrainte g
i
(...) 0 dont le multiplieur associe serait k
i
, on a
soit k
i
= 0 et g
i
(...) < 0, soit k
i
> 0 et g
i
(...) = 0. Ces deux cas se resument en une seule
expression, k
i
g
i
(...) = 0. Cette expression est appelee condition supplementaire de KKT
1
.
Dans notre probl`eme, on peut alors exprimer 6 conditions KKT, `a savoir les contraintes,
la positivite des multiplieurs, et les conditions KKT supplementaires.
l,
l
0 (KKT1)
l,
l
0 (KKT2)
l,
l
0 (KKT3)
l, y
l
( w.x
l
) + b) 1
l
(KKT4)
l,
l

l
= 0 (KKT5)
l,
l
(y
l
( w.x
l
) + b) +
l
1) = 0 (KKT6)
Ceci pose, annulons les derivees partielles du lagrangien suivant les termes qui ne sont
pas des multiplieurs de lagrange.
L
w
=

0 w =

l
y
l
x
l
(L1)
L
b
= 0

l
y
l
= 0 (L2)
L

l
=

0 l, C
l

l
= 0 (L3)
Lequation L1, reinjectee dans lexpression du lagrangien, permet de faire disparatre le
terme w. Lequation L3 permet de faire disparatre les
l
. L2 permet egalement deliminer
b, qui se retrouve dans L facteur dun terme nul. Il nous reste apr`es ces substitutions une
expression du lagrangien qui ne depend que des
l
, quil nous faut maximiser en jouant sur
ces
l
, sachant que linjection de L1, L2, et L3 nous place dej`a sur un minimum vis-`a-vis
de w,

et b. Cest ca le probl`eme dual. Les contraintes de ce probl`emes sinf`erent des
contraintes sur les
l
donnees par les equations KKTi. En utilisant L3, KKT2, KKT3, on
peut montrer ce qui suit, en tratant les deux cas induits par KKT5 :
1. Karush-Kuhn-Tucker
14
soit
l
= 0,
l
> 0, et alors 0
l
C,
soit
l
> 0,
l
= 0, et alors
l
= C selon L3.
Les contraintes sur les
l
sont donc 0
l
C et L2. On doit donc resoudre le probl`eme
doptimisation suivant, dual de notre probl`eme de depart, pour trouver les multiplieurs de
Lagrange
l
.
Jouer sur maximiser

l

1
2

l
y
k
y
l
x
k
.x
l
)
En respectant
_
_
_
l,

l
y
l
= 0
l, 0
l
C
Un remarque en passant, des deux cas precedemment etudiees, on peut aussi deduire
que
l
(
l
C) = 0. Cela signie que tolerer un exemple x
l
mal separe (
l
,= 0 revient `a
utiliser son
l
avec la valeur maximale C.
La formulation de ce probl`eme dual a cela dinteressant quelle ne fait intervenir que
les exemples x
l
, voire plus precisement leurs produits scalaires uniquement. Nous y revien-
drons. De plus, le vecteur de lhyperplan de separation etant deni par L1, il est constitue
de la contribution de tous les exemples x
l
, `a concurrence dune valeur
l
. Or celle-ci, apr`es
optimisation, peut saverer nulle pour bien des exemples, qui nentrent ainsi pas en compte
pour denir le separateur. Ceux qui restent, cest-`a-dire ceux pour lesquels
l
est non nul,
sont appeles vecteurs supports, car ce sont eux qui determinent lhyperplan separateur.
Resoudre le probl`eme dual nest pas trivial, nous navons fait ici que le poser. En
particulier, b a disparu du probl`eme dual, et il faut pas mal ruser
2
pour le retrouver une
fois ce probl`eme resolu. Nous y reviendrons au chapitre 5. Terminons ce chapitre par un
exemple de separation lineaire, o` u le separateur est solution du probl`eme doptimisation
que nous avons pose. Les exemples qui rentrent eectivement en compte dans la formule
L1 avec un coecient
l
non nuls, `a savoir les vecteurs supports, sont marques dune croix
(cf. gure 3.5).
La separation est donc denie par lequation suivante :
f (x) =
__

l
y
l
x
l
_
.x
_
+ b
que lon preferera ecrire comme suit, pour ne faire intervenir que des produits scalaires
deux `a deux :
f (x) =

l
y
l
x
l
.x) + b (3.1)
2. Voir paragraphe 5.1.2 page 28.
15
Figure 3.5 Hyperplan resultat de la resolution du probl`eme doptimisation de la sec-
tion 3.1.2. La fronti`ere de separation f(x) = 0 est la ligne epaisse, les courbes f(x) = 1,
ligne continue ne, et f(x) = 1, ligne en pointilles, sont representees egalement. Les
vecteurs supports sont marques dune croix.
16
Chapitre 4
Noyaux
Le gros interet des noyaux
1
est que tout ce quon vient de voir sur la separation lineaire
sapplique en fait tr`es facilement `a des separations non lineaires, sous reserve de bien faire
les choses.
4.1 Lespace des caracteristiques
Imaginons un ensemble dexemples x
l
etiquetes par 1 ou 1 suivant la classe `a laquelle
ils appartiennent, qui ne soit pas du tout separable lineairement. La methode vue au
chapitre precedent fonctionne, mais la separation est bien entendu de pi`etre qualite, et
bon nombre de vecteurs sont des supports (cf. gure 4.1).
Figure 4.1 Exemples non separables lineairement.
1. kernel en anglais.
17
Une solution pour mieux separer les exemples est de les projeter dans un espace dif-
ferent
2
, et de realiser une separation lineaire dans cet espace-l`a, o` u cette fois-ci elle devrait-
etre plus adaptee.
Soit cette projection, on a :
(x) =
_
_
_
_
_
_
_
_

1
(x)

2
(x)

3
(x)
.
.
.

n
(x)
_
_
_
_
_
_
_
_
et bien s ur, les fonctions
i
ne sont pas necessairement lineaires, et on peut meme avoir
n = ! Si lon reprend les methodes du chapitre 3, et que lon travaille dans lespace des
caracteristiques
3
, cest-`a-dire si on travaille avec le corpus

S = ((x
l
), y
l
)
1lp
avec l, y
l
1, 1
au lieu de
S = (x
l
, y
l
)
1lp
avec l, y
l
1, 1
on se retrouve `a faire de la separation lineaire sur le corpus

S. On obtient un separateur,
donne par la formule L1 et le b. Pour decider de la classe dun vecteur x, on pourrait
calculer alors (x), que lon passerait `a son tour comme argument du separateur pour en
connatre la classe, +1 o` u 1.
En fait, on ne procedera pas comme ca, et on preferera eviter le calcul explicite de
(x) en remarquant que le probl`eme doptimisation pose au chapitre 3 ne fait intervenir
les vecteurs que via des produits scalaires entre eux.
Notons k(x, z) le produit (x) .(z)). Travailler sur le corpus

S revient `a travailler sur
le corpus S avec les algorithmes du chapitre 3, mais en remplacant toutes les occurrences
de .) par k(, ).
Pour linstant, on ne voit pas trop linteret, vu que pour calculer k(x, z) , il faut
appliquer la denition, `a savoir projeter x et z dans lespace des caracteristiques et calculer
le produit scalaire, dans cet espace, des deux vecteurs obtenus.
La ruse en fait est quon ne fera pas cette projection, car on calculera k(x, z) autrement.
En fait, k(x, z) est une fonction que lon va se donner, en sassurant quil existe bien
en theorie une projection dans un espace quon ne cherchera pas `a decrire. Ainsi, on
claculera directement k(x, z), `a chaque fois que lalgorithme du chapitre 3 requiert un
produit scalaire, et cest tout ! La projection dans le gros espace de caracteristiques sera
implicite.
Prenons un exemple. Posons
k(x, z) = exp
_

|x z|
2
2
_
Il est connu que cette fonction correspond au produit scalaire des projetes de x et
z dans un espace de dimension innie. Lalgorithme doptimisation, qui utilisera cette
fonction
4
, realisera une separation lineaire, en maximisant la marge, dans cet espace, sans
2. Souvent de dimension tr`es elevee.
3. Traduction personnelle de langlais feature space.
4. fonction que lon appelle noyau.
18
quun boucle innie ne soit invoquee pour calculer les produits scalaires en multipliant
deux `a deux les composantes des vecteurs projetes !
La fonction de separation est alors directement inspiree de lequation 3.1 page 15, une
fois les
l
optimaux trouves et b calcule,
f (x) =

l
y
l
k(x
l
, x) + b
sachant que nombre de termes de la somme sont nuls si le probl`eme est bien separable.
Dans notre cas, ce separateur peut se reecrire
f (x) =

l
y
l
exp
_

|x
l
x|
2
2
_
+ b
Les valeurs f (x) = 0 denissent la fronti`ere de separation entre les classes, et les
valeurs f (x) = 1 et f (x) = 1 permettent de representer la marge. La gure 4.2 donne
le resultat de lalgorithme du chapitre 3 avec notre fonction noyau.
Figure 4.2 Resolution du probl`eme doptimisation de la section 3.1.2 sur le corpus de
la gure 4.1, mais avec un noyaux gaussien. La fronti`ere de separation f(x) = 0 est la
ligne epaisse, les courbes f(x) = 1 et f(x) = 1 sont representees egalement. Les vecteurs
supports sont marques dune croix.
4.2 Quelles fonctions sont des noyaux ?
Il serait bien s ur trop beau que nimporte quelle fonction de deux vecteurs puisse etre
un noyau, il faut en eet pour que ca marche quil existe une projection dans un espace
de caracteristiques dont la fonction donne le meme resultat que le produit scalaire des
projetes. Bien quon ne soit pas oblige de realiser cette projection, comme nous lavons vu,
19
il faut sassurer de son existence. Il en va par exemple de la convergence de lalgorithme des
SVM, car cette convergence nest assuree que si le probl`eme est convexe, comme evoque
au paragraphe 3.2.1, ce qui requiert que le noyau ne soit pas nimporte quoi.
4.2.1 Exemple simple
On sinteresse `a la fonction suivante pour comparer deux vecteurs :
k(x, z) = (x.z) + c)
2
Est-ce un noyau ? Si oui, quelle est la projection qui lui correspond ? Une fa con de le
montrer, cest de faire apparatre le produit scalaire des projetes.
(x.z) + c)
2
=
_

i
x
i
z
i
+ c
_
2
=

i,j
x
i
z
i
x
j
z
j
+ 2c

i
x
i
z
i
+ c
2
=

i,j
(x
i
x
j
)(z
i
z
j
) +

i
(

2cx
i
)(

2cz
i
) + (c)(c) (4.1)
On en conclut que la projection, dont notre noyau correspond au produit scalaire,
combine 2 `a 2 les composantes du vecteur x :
(x) =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
x
2
1
x
1
x
2
x
1
x
3

x
n
x
n1
x
2
n

2c.x
1

2c.x
2

2c.x
n
c
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
4.2.2 Conditions pour avoir un noyau
Il y a des conditions mathematiques, appelees theor`eme de Mercer, qui permettent de
dire si une fonction est un noyau ou non, sans construire la projection dans lespace des
caracteristiques. En fait, il faut assurer que pour tout ensemble dexemples de longueur l,
la matrice (k(x
i
, x
j
))
1i,jl
soit denie positive. Nous ne nous attardons pas davantage
sur ce point, preferant construire des noyaux `a partir de noyaux existants.
4.2.3 Noyaux classiques
Nous mentionnons ici deux noyaux classiquement utilises. Le premier dentre eux est
le noyau polynomial suivant :
k
d
(x, z) = (x.z) + c)
d
et correspond `a une projection (x) dans un espace de caracteristiques o` u chaque com-
posantes
i
(x) est un monome de degre inferieur `a d de certaines des composantes de
20
x. Le separateur calcule avec ce noyau est un polynome de degre d dont les monomes
sont les composantes de x. La constante c, quand elle est elevee, donne plus dimportance
aux monomes de degre eleve. Avec c = 1 et d = 3, la gure 4.3 montre le resultat de la
separation.
Figure 4.3 Resolution du probl`eme doptimisation de la section 3.1.2 sur le corpus de la
gure 4.1, mais avec un noyaux polynomial de degre 3. La fronti`ere de separation f(x) = 0
est la ligne epaisse, les courbes f(x) = 1 et f(x) = 1 sont representees egalement. Les
vecteurs supports sont marques dune croix.
Le deuxi`eme noyau que nous presenterons ici est le noyau gaussien, dit RBF
5
, que
nous avons dej`a vu.
k
rbf
(x, z) = exp
_

|x z|
2
2
_
Ce noyau correspond `a une projection dans un espace de dimension innie. Toutefois, dans
cet espace tous les points sont projetes sur lhypersph`ere de rayon 1. En eet, |(x)|
2
=
k(x, x) = exp(0) = 1.
4.2.4 Contruction de noyaux
Disposant de noyaux, il y a des resultats permettant den elaborer dautres. Les prin-
cipaux sont les suivants.
Soient :
k
1
, k
2
, k
3
des fonctions noyau.
f une fonction `a valeurs dans R.
une fonction qui projette les vecteurs dans un autre espace vectoriel.
5. Radial Basis Function, ce terme vient des reseaux de neurones RBF que les SVM utilisant ce noyau
generalisent.
21
B une matrice semi-denie positive.
p un polynome `a coecients positifs.
un reel positif.
alors les fonctions k suivantes sont des noyaux :
k(x, z) = k
1
(x, z) +k
2
(x, z)
k(x, z) = k
1
(x, z)
k(x, z) = k
1
(x, z) k
2
(x, z)
k(x, z) = f (x) f (z)
k(x, z) = k
3
((x) , (z))
k(x, z) = x
T
Bz
k(x, z) = p (k
1
(x, z))
k(x, z) = exp (k
1
(x, z))
4.3 Lidee fondatrice des SVM
Ayant maintenant la ruse des noyaux `a notre disposition, nous pouvons travailler, sans
sy projeter, dans des espaces de tr`es grande dimension. Or une separation lineaire, ainsi
quune regression lineaire, est facilitee par la projection des donnees dans un espace de
haute dimension... La contre partie etant que la separation quon y fait, facilement, ne
signie rien. Dit autrement, on a vite fait dapprendre par cur, cest-`a-dire dapprendre
une fonction qui ne se generalisera pas `a de nouveaux exemples. Cette contre-partie est
ce quon appelle la malediction de la dimentionalite
6
. En maximisant la marge, les SVM
sen sortent malgre tout, et ne se font pas pieger par cette malediction. En projetant dans
lespace des caracteristiques pour employer un algorithme de maximisation de la marge,
on arrive `a obtenir une separabilite en conservant de bonnes capacites de generalisation,
et cest lidee centrale des SVM.
4.4 Quelques trucs relatifs aux noyaux
Pouvoir calculer un produit scalaire entre des vecteurs est susant pour realiser plus
doperations quil ny parat, operations dont on prote sans projeter explicitement les
vecteurs dans lespace des caracteristiques. En voici quelques exemples.
4.4.1 Normalisation des donnees
La norme dun vecteur caracteristique est donnee par :
|(x)| =
_
(x).(x)) =
_
k(x, x)
Il en resulte que lon peut tr`es facilement travailler sur des donnees normalisees... dans
lespace des caracteristiques ! En eet, leur produit scalaire vaut :
_
(x)
|(x)|
.
(z)
|(z)|
_
=
(x).(z))
|(x)| |(z)|
=
k(x, z)
_
k(x, x) k(z, z)
6. Curse of dimentionality en anglais.
22
Donc il sut, dutiliser le membre droit de lexpression ci-dessus comme nouveau noyau,
construit `a partir dun noyau k, pour travailler sur des vecteurs normalises de lespace des
caracteristiques correspondant `a k. Si on note

k le noyau normalise, on a tout simplement :

k(x, z) =
k(x, z)
_
k(x, x) k(z, z)
On peut de meme tr`es facilement calculer la distance, dans lespace des caracteristiques,
des projections de deux vecteurs.
|(x) (z)| =
_
k(x, x) 2k(x, z) +k(z, z)
4.4.2 Centrer et reduire
Pour certains algorithmes
7
, il est preferable de de centrer (soustraire leur centre de
gravite) et de reduire les donnes (diviser par la variance). Cest quelque chose que lon
peut faire egalement dans lespace des caracteristiques. Rappelons dans ce qui suit que l
est, dans nos notations, le nombre dexemples de la base.
Commencons par calculer la variance des donnees, qui nous permettra de les reduire
si on le souhaite.
var =
1
l
l

i=1
_
_
_
_
_
_
(x
i
)
1
l
l

j=1
(x
j
)
_
_
_
_
_
_
2
= =
1
l
l

i=1
k(x
i
, x
i
)
1
l
2
l

i,j=1
k(x
i
, x
j
)
Pour travailler sur des donnees centrees reduites, on utilise alors le noyau

k denit
comme suit :

k(x, z) =
_
(x)
1
l
l

j=1
(x
j
)

var
.
(z)
1
l
l

j=1
(x
j
)

var
_
=
1
var
_
_
k(x, z)
1
l
l

i=1
k(x, x
i
)
1
l
l

i=1
k(z, x
i
) +
1
l
2
l

i,j=1
k(x
i
, x
j
)
_
_
Attention toutefois, ces noyaux sont tr`es gourmands en calcul, ce qui est dej`a le cas
pour les SVM avec des noyaux simples. Cest le genre de situation o` u il vaut mieux, `a
lavance, stocker une bonne fois les valeurs du noyau pour les tous les couples de vecteurs
de la base.
4.5 Noyaux pour lanalyse de documents et donnees struc-
turees
En fait, d`es quon a des donnees vectorielles, leur produit scalaire est une fonction
noyau, et une facon dutiliser les SVM est de rendre vectorielles les donnees. Dans les
cas que nous allons considerer, ces vecteurs sont de grande dimension... il nest donc pas
forcement opportun, mais neanmoins possible, de les projeter dans un espace de carac-
teristiques. En revanche, la capacite des SVM `a garder un pouvoir de generalisation dans
les espaces de forte dimension, o` u les donnees sont clairsemees est essentielle ici.
Lensemble des methodes esquissees ici sont extraites de (Shawe-Taylor and Cristanini,
2004), o` u bien dautres methodes sont decrites.
7. Il ny a pas que les SVM qui protent de la ruse des noyaux.
23
4.5.1 Analyse de documents
Une facon de traiter les documents par des methodes statistiques et de les considerer
comme des sacs de mots
8
. On se donne pour cela un dictionnaire m
1
, , m
N
de N
mots, ainsi que la fonction suivante associant un vecteur (d) `a un document d :
: Documents N
N
d (d) = (f(m
1
, d), , f(m
N
, d))
O` u f(m, d) est le nombre de fois que le mot m apparat dans le document d. Pour un
ensemble d
l

l
de l documents, la matrice D
9
dont la ligne i est forme par le vecteur
(d
i
) permet de denir un produit scalaire (donc un noyau) sur les documents. En eet,
k(d
i
, d
j
) est donne par le coecient (i, j) de DD
T
. Les documents nayant pas la meme
taille on peut utiliser un noyau normalise pour ne pas y etre sensible.
De plus, on peut moduler ce noyau en injectant des connaissance sur la semantique.
Par exemple, on peut denir une matrice diagonale R dont chaque valeur sur la diagonale
correspond `a limportance dun mot. On peut denir aussi une matrice P de proximite
semantique, dont le coecient p
i,j
traduit la proximite semantique des mots m
i
et m
j
. La
matrice semantique S = RP permet de creer un noyau tenant compte de ces connaissances :
k(d
i
, d
j
) = (d
i
)SS
T
(d
j
)
4.5.2 Chanes
Les chanes de caract`eres sont tr`es etudiees en informatique, et de nombreuses methodes
permettent de quantier la similitude entre deux chanes. Dailleurs, la bio-informatique
10
est un des domaines dapplication des SVM, et tire parti dans ce contexte de ces fonctions
de similitude. Nous ne donnons ici quun exemple.
Considerons le cas du p-spectrum kernel. Il sagit de comparer deux chanes, qui peuvent
etre de longueur variable, en fonction des sous-chanes
11
communes de longueur p qui les
constituent. Soit un alphabet , on note
p
lensemble des chanes de longueur p, ainsi
que s
1
s
2
la concatenation de s
1
et s
2
, et [A[ le cardinal dun ensemble A. On denit alors
lexpression suivante, pour u
p
:

p
u
(s) = [(v
1
, v
2
) : s = v
1
uv
2
[
Pour une chane s, on a donc un
p
u
(s) par sous-chane u possible.
p
u
(s) vaut zero pour
la plupart des u
p
. On projette donc une chane s sur un espace vectoriel `a [[
p
dimensions, le vecteur
p
(s) ayant les
p
u
(s) pour composantes. On peut alors denir un
noyau par un simple produit scalaire :
k(s, t) =
p
(s).
p
(t)) =

u
p

p
u
(s)
p
u
(t)
Illustrons ce propos avec p = 3 et les chanes bateau, rateau, oiseau, croise ciseaux.
Les elements de
3
qui conduiront `a des composantes non nulles sont ate, aux, bat, cis,
cro, eau, ise, ois, rat, roi, sea, tea. Les lignes du tableau 4.1 sont les composantes non
nulles des
p
(s).
On peut alors representer comme sur le tableau 4.2, sous forme dune matrice, les
valeurs du noyau pour chaque couple de mots.
8. Bag of words en anglais.
9. Document term matrix en anglais
10. Application des techniques dapprentissage au traitement de sequences dADN.
11. Cha ne vaut pas lhydromel...
24
ate aux bat cis cro eau ise ois rat roi sea tea
bateau 1 1 1 1
rateau 1 1 1 1
oiseau 1 1 1 1
croise 1 1 1 1
ciseaux 1 1 1 1 1
Table 4.1 3-spectrum des mots bateau, rateau, oiseau, croise ciseaux.
k bateau rateau oiseau croise ciseaux
bateau 4 3 1 0 1
rateau 3 4 1 0 1
oiseau 1 1 4 2 3
croise 0 0 2 4 1
ciseaux 1 1 3 1 5
Table 4.2 3-spectrum des mots bateau, rateau, oiseau, croise ciseaux.
4.5.3 Autres exemples
On peut aussi construire des noyaux dont le calcul est recursif, qui permettent de faire
le produit scalaire de deux objets structures
12
, comme des graphes ou des arbres. Toute
la subtilite et la diculte pour les concepteurs de ces noyaux reside dans le fait quil faut
produire un nombre `a partir de deux objets structures, et que la fonction qui produit ce
nombre ait bien la propriete de Mercer.
12. Objets symboliques.
25
Chapitre 5
Resolution
5.1 Probl`eme doptimisation quadratique via SMO
5.1.1 Principe general
Il y a plusieurs methodes de resolution du probl`eme doptimisation exprime au para-
graphe 3.1.2, lune delle etant lalgorithme SMO
1
. Meme pour cette methode, on trouve
plusieurs ranements dans la litterature.
Lidee de base est de partir des KKT conditions du probl`eme dual enonce page 3.2.4.
Il sagit de se promener dans lespace des
l
pour faire crotre la fonction objectif. SMO
consiste `a sy promener en bougeant les
l
deux par deux. En eet, lequation L2 presentee
en 3.2.4 montre que si lon xe tous les
l
sauf deux, ceux-ci sont lies lineairement : on
peut exprimer un des deux
l
restant en fonction de lautre, ce qui permet de reecrire la
fonction objectif en fonction dun seul
l
variable uniquement, et den prendre le gradient.
Larret de lalgorithme se fait quand certaines conditions, qui caractetrisent loptimal-
ite, sont remplies.
En pratique, cette methode est truee de ruses algorithmiques pour bien choisir les cou-
ples de
l
an daccelerer la convergence, et est relativement dicile `a implementer. Nous
presentons ici la methode proposee dans (Keerthi et al., 1999), qui est une amelioration
de lalgorithme SMO propose initialement propose dans (Platt, 1998).
5.1.2 Detection de loptimalite
Lidee est de repartir du probl`eme dual enonce page 15. Il sagit dun probl`eme de
minimisation (on multiplie par -1 la fonction objectif pour cela), sous 3 contraintes (il y
a deux inegalites dans la deuxi`eme). Bien que ce probl`eme soit dej`a issu dune resolution
lagrangienne, on peut `a nouveau denir sa solution `a laide dun lagrangien... mais on
ne tourne pas en rond, car ce lagrangien-l`a ne nous servira qu`a exprimer des conditions
doptimalite qui seront les conditions darret dun algorithme qui lui, resout directement
le probl`eme dual enonce page 15. Ce lagrangien est donc
2
:
L(, , , ) =
1
2

l
y
k
y
l
x
k
.x
l
)

l
+

l
(
l
C)

l
y
l
1. Sequential Minimal Optimization
2. Attention, les
l
sont maintenant les param`etres primaux, ce sont les
l
,
l
et le param`etre qui
sont les multiplicateurs de Lagrange.
26
Pour simplier les notations dans la suite, on denit :
F
i
=

l
y
l
x
i
.x
l
) y
i
On peut alors exprimer par ce qui suit les conditions KKT, cest-`a-dire lannulation des
derivees partielles du lagrangien, ainsi que les conditions supplementaires de KKT, cest-
`a-dire le fait que lorsqueun multiplicateur est nul, cest que la contrainte nest pas saturee,
et que lorsquil est non nul, cest quelle est saturee. Le produit de la contrainte et de son
multiplcateur est donc nul `a loptimum, sans que les deux facteurs soient nuls en meme
temps (voir page 3.2.4 pour un rappel). Les multiplicateurs sont egalement tous positifs.
l
L

l
= (F
l
)y
l

l
+
l
= 0

l
= 0

l
(
l
C) = 0
Ces conditions se simplient si on les ecrit de la facon suivante, en distinguant 3 cas selon
la valeur de
l
.
Cas
l
= 0 : On a donc
l
> 0 et
l
= 0, donc
(F
l
)y
l
0
Cas 0 <
l
< C : On a donc
l
= 0 et
l
= 0, donc
(F
l
)y
l
= 0
Cas
l
= C : On a donc
l
= 0 et
l
> 0, donc
(F
l
)y
l
0
Comme y
l
1, 1, on peut separer les l selon le signe de F
l
. On denit ainsi les
ensembles dindices suivants :
I
0
= l : 0 <
l
< C
I
1
= l : y
l
= 1,
l
= 0
I
2
= l : y
l
= 1,
l
= C
I
3
= l : y
l
= 1,
l
= C
I
4
= l : y
l
= 1,
l
= 0
I
sup
= I
0
I
1
I
2
I
inf
= I
0
I
3
I
4
On a alors :
l I
sup
F
l
l I
inf
F
l
On peut alors denir les bornes suivantes de ces ensembles :
b
sup
= min
lI
sup
F
l
b
inf
= max
lI
inf
F
l
En fait, quand on it`erera lalgorithme, on aura b
sup
b
inf
tant quon natteindra pas
loptimum, mais `a loptimum :
b
inf
b
sup
27
On peut prendre le crit`ere `a lenvers, et dire quil ny a pas optimalite si on trouve deux
indices, un dans I
sup
et lautre dans I
inf
, qui contredisent la relation que b
inf
b
sup
. Une
telle paire dindice denit une violation des conditions doptimalites :
(i, j) tq i I
sup
et j I
inf
est une violation si F
i
< F
j
(5.1)
Lequation 5.1 est theorique, car en eet, on naura jamais, numeriquement b
inf
b
sup
`a loptimum. On se contentera donc de denir cette condition `a un poil pr`es, disons > 0.
Dit autrement, loptimalite approximative est :
b
inf
b
sup
+ (5.2)
Lequation 5.1 qui denit quune paire dindice viole les conditions doptimalite est alors
modiee en consequence :
(i, j) tq i I
sup
et j I
inf
est une violation si F
i
< F
j
(5.3)
Le crit`ere 5.3 sera teste pour savoir si on continue lalgorithme doptimisation, o` u si
on peut considerer que loptimum est atteint.
Avant de conclure sur ce paragraphe, destine nalement `a presenter la condition darret
de lalgorithme decrit ci-apr`es, signalons qu`a loptimum, b
sup
b
inf
... et que cette
valeur est aussi le b de notre separateur ! Une formule pour b netait pas disponible par la
resolution lagrangienne, comme nous lavions deplore en 3.2.4 page 15.
5.1.3 Algorithme doptimisation
Le principe doptimisation SMO consiste `a partir du constat que lequation L2 (cf. 3.2.4)
lie les
l
, leur somme, ponderee par les y
l
, etant constante. Donc si lon autorise deux
de ces coecients
l
1
et
l
2
seulement `a bouger (dans [0, C]
2
), xant les autres, on a
L2
l
1
y
l
1
+
l
2
y
l
2
+ C = 0. Ayant
l
1
= (C
l
2
y
l
2
)/y
l
1
, on peut ecrire la fonction
objectif du probl`eme dual (cf. page 15) comme une fonction de
l
1
seulement. On peut
calculer le point

l
1
pour lequel cette fonction est maximale
3
. On met `a jour
l
1

l
1
et on en deduit
l
2
. On prend toutefois la precaution de conner ces variations pour que
(
l
1
,
l
2
) reste dans [0, C]
2
. Ensuite, on choisit une autre paire de coecients `a mettre `a
jour, etc.
Tout le probl`eme est de choisir les paires (l
1
, l
2
). Cest un probl`eme epineux, dont
depend la rapidite avec laquelle on atteint le maximum. La solution proposee dans (Keerthi
et al., 1999) consiste `a parcourrir tous les l
1
, `a determiner si l
1
I
sup
ou si l
1
I
inf
. Pour
le l
1
considere, l
2
est lindice appartenant `a lautre ensemble, pour lequel la borne b
sup
ou b
inf
, selon lensemble considere, est atteinte. On travaille ainsi sur la paire qui viole
le plus les conditions doptimalite. Il y a encore quelques ranements, detailles dans le
pseudo-code de (Keerthi et al., 1999).
Numeriquement, la mise `a jour dune paire peut conduire `a une modication neglige-
able des deux (
l
1
,
l
2
), disons plus petite en valeur absolue quun seuil . Si toutes les
modications occasionnees par une passe sur les exemples sont negligeables, on arrete lal-
gorithme (cas darret #1). De plus, si lon constate via lequation 5.2 que loptimalite est
atteinte, on arrete egalement loptimisation (cas darret #2).
3. Cest une fonction quadratique dont il sut dannuler la derivee.
28
5.1.4 Probl`emes numeriques
Le cas darret #1 depend de la valeur de , alors que le cas #2 depend de . Or on
peut tr`es bien sarreter `a cause du cas #1, sans que loptimalite soit atteinte... Cela arrive
par exemple quand loptimisation se joue sur le 15i`eme chire apr`es la virgule.
Il faut donc bien choisir les coecients et . Une bonne chose `a verier quand lalgo-
rithme sarrete, cest le taux de paires de coecients qui violent les crit`eres doptimalite.
Si ce taux est fort, il faut reduire . Si en revanche la solution vous parat manifestement
mauvaise, alors que plus aucune paire ne viole les crit`eres doptimalite, cest que est trop
eleve.
5.2 Choix des param`etres
Le choix des param`etres qui correspondent le mieux au probl`eme nest pas intuitif. En
eet, dans le cas de la classication que nous avons vu precedemment, le param`etre C est
`a determiner. De meme, si par exemple on utilise un noyau gaussien, le param`etre est
aussi `a ajuster.
Pour ce faire, une methode brutale consiste `a essayer plusieurs valeurs de param`etres
4
,
et `a mesurer lerreur de generalisation de la SVM par une validation croisee. Ainsi, on
prendra les param`etres pour lesquels lerreur de generalisation est la plus faible.
4. Grid search method en anglais.
29
Chapitre 6
Regression
Nous avons jusquici etudie le probl`eme de la separation dun corpus dexemple en
deux classes, suivant leurs etiquettes +1 ou 1. La regression consiste `a considerer des
etiquettes ayant nimporte quelle valeur reelle, et `a essayer dinferer la fonction qui au
vecteur associe son etiquette, `a partir des exemples du corpus.
6.1 Position du probl`eme doptimisation
L`a encore, nous allons etudier le cas dune regression lineaire, qui se generalisera aux
autres regressions par lutilisation de noyaux `a la place des produits scalaires.
La regression presentee ici part du principe quun separateur lineaire f
w,b
est bon si
les exemples sont bien representes par ce separateur, `a une erreur > 0 pr`es, cest-`a-dire :
l, [( w.x
l
) + b) y
l
[
Bien s ur, cette contrainte est trop forte, et en pratique on exprimera une fonction `a
optimiser qui autorise certains exemples `a deroger `a cette contrainte. La gure 6.1 illustre
ce propos.
Par une demarche analogue `a celle du separateur, on en vient `a poser le probl`eme
doptimisation suivant pour la regression :
Jouer sur w, b, et

pour minimiser
1
2
w. w) + C

l
(
l
+

l
)
En respectant
_

_
y
l
w.x
l
) b +
l
, (x
l
, y
l
) S
w.x
l
) + b y
l
+

l
, (x
l
, y
l
) S

l
,

l
0, l
6.2 Resolution
La resolution de ce probl`eme doptimisation est plus aisee en passant au probl`eme
dual, comme pour la separation vue au chapitre 3. Soient
l
et

l
les multiplieurs relatifs
aux deux premi`eres contraintes du probl`eme doptimisation precedent, le vecteur w du
separateur est donne par :
w
,
=

l
(
l

l
)x
l
avec les
l
et

l
solution du probl`eme doptimisation dual suivant :
30
Figure 6.1 Regression lineaire. Les points blancs ont pour abscisse x
l
, vecteur de di-
mension 1, et pour ordonnee y
l
. La bande en pointilles correspond `a la zone acceptable de
distance au separateur, [w.x + b y[ , et peu dexemples sortent de cette zone.
31
Jouer sur et

pour maximiser

l
y
l
(
l

l
)

l
(
l
+

l
)
1
2

w
,
. w
,

_
En respectant
_
_
_

l
(
l

l
) = 0

l
,

l
[0, C], l
L`a aussi, il reste `a appliquer un algorithme de recherche du maximum de ce probl`eme
dual, et des methodes type SMO existent, et aboutissent `a des algorithmes assez diciles
`a implementer.
6.3 Exemples
La gure 6.2 montre lutilisation de ce type de SVM pour la regression dans le cas de
vecteurs 1D, avec dierents noyaux, et la gure 6.3 montre la regression dans le cas de
vecteurs 2D.
Figure 6.2 Regression se des vecteurs 1D, comme pour la gure 6.1.
`
A gauche, utilisation
du produit scalaire normal, au milieu dun noyau polynomial de degre 3, et `a droite, dun
noyau gaussien. Les vecteurs supports sont marques dune croix. Il sagit des vecteurs x
l
pour lesquels un des deux
l
,

l
est non nul. Ce sont eux qui conditionnent la position de
la courbe de regression. La tolerance +, est representee en pointilles.
Figure 6.3
`
A gauche, la fonction z = f(x, y) = exp(2.5(x
2
+ y
2
) cos(8
_
x
2
+ y
2
)
que lon utilise pour generer les exemples. Au milieu, on montre le tirage de 150 exemples,
obtenus en tirant aleatoirement x et y, et en attribuant au vecteur x
l
= (x, y) la valeur
f(x, y) + , avec une valeur aleatoire dans [.1, .1].
`
A droite, on montre les valeurs en
tous points (x, y) de la fonction resultat de la regression sur les exemples, avec un noyau
gaussien de variance = .25 et une tolerence = .05.
32
Chapitre 7
Floril`ege de SVM
Finalement, le principe des methodes que nous avons vues jusquici est toujours le
meme. Il sagit de poser un probl`eme doptimisation quadratique, dont la resolution nim-
plique que des produits scalaires deux `a deux.
7.1 Classication
Ces methodes sont appelees SVC
1
.
7.1.1 C-SVC
Cette methode est celle que nous avons vue, le probl`eme doptimisation est simplement
rappele ici :
Jouer sur w, b et pour minimiser
1
2
w. w) + C

l
En respectant
_
y
l
( w.x
l
) + b) 1
l
, (x
l
, y
l
) S

l
0, l
7.1.2 -SVC
Le probl`eme avec une C-SVM, cest que C, qui preside au recours aux slack variables

l
, est independant du nombre dexemples. On peut en eet vouloir controler le nombre de
supports, relativement au nombre dexemples, et non dans labsolu. Le param`etre ]0, 1]
est lie au pourcentage dexemples que lon autorise `a servir de supports
2
. Dans une C-
SVM, on force les exemples `a se situer en dehors de la bande [1, 1]. Ici, on choisit une
bande [, ], que lon ajuste pour obtenir le taux de vecteurs supports souhaites.
Jouer sur w, b, et pour minimiser
1
2
w. w) +
1
l

l
En respectant
_

_
y
l
( w.x
l
) + b)
l
, (x
l
, y
l
) S

l
0, l
0
1. Support Vector Classication.
2. Ce pourcentage tend vers si on a beaucoup dexemples.
33
La formulation de la fonction objectif ci-dessus nest toutefois pas si simple, car le fait que
soit le taux dexemples de la base qui servent de support ne saute pas aux yeux. Ceci se
justie en analysant les conditions KKT de ce probl`eme doptimisation (Scholkopf et al.,
2000).
7.2 Regression
Ces methodes sont appelees SVR
3
.
7.2.1 -SVR
Il sagit de la methode que lon a vue. On rappelle simplement ici le probl`eme dopti-
misation.
Jouer sur w, b, et

pour minimiser
1
2
w. w) + C

l
(
l
+

l
)
En respectant
_

_
w.x
l
) + b y
l

l
, (x
l
, y
l
) S
w.x
l
) + b y
l
+

l
, (x
l
, y
l
) S

l
,

l
0, l
7.2.2 -SVR
`
A linstar des -SVC, il sagit ici de moduler la largeur de la SV M, selon un
param`etre ]0, 1]. Lidee est que le nombre dexemple en dehors du tube de rayon
autour de la fonction soit une fraction du nombre total dexemples
4
.
Jouer sur w, b, ,

et pour minimiser
1
2
w. w) + C( +
1
l

l
(
l
+

l
))
En respectant
_

_
w.x
l
) + b y
l

l
, (x
l
, y
l
) S
w.x
l
) + b y
l
+

l
, (x
l
, y
l
) S

l
,

l
0, l
0
Comme pour le cas des -SVC, on trouvera dans (Scholkopf et al., 2000) une justica-
tion de cette formulation du probl`eme doptimisation, qui sobtient dapr`es les conditions
KKT que ce probl`eme induit.
7.3 Apprentissage non supervise
On peut faire de lapprentissage non supervise (analyse de distribution) avec les SVM.
En fait, il sagit de construire un detecteur de nouveaute. On demande `a la SVM de
decrire les exemples comme un agglomerat
5
de points. Une fois cet agglomerat identie,
3. Support Vector Regression.
4. Du moins, en pratique, le pourcentage dexemples en dehors du tube de rayon autour de la fonction
tend vers quand le nombre dexemples est eleve.
5. Cluster en anglais.
34
tout exemple qui serait en dehors sera considere comme ne relevant pas de la distribution
des autres, il leur est dierent, on a aaire `a un nouveau phenom`ene. Cest pratique quand
on na que des exemples et peu de contre-exemples. Dans lanalyse dun signal EEG pour
predire une crise depilepsie par exemple, les donnees fournies decrivent principalement
des etats non annonciateurs de crises, car les crises sont bien moins frequentes que letat
normal. Une fa con de detecter la crise est de voir que le signal sort du perim`etre des
signaux normaux.
7.3.1 Plus petite sph`ere englobante
Lidee derri`ere ces techniques est denglober les exemples x
1
, , x
l
dans une sph`ere de
rayon minimal. Bien s ur, si on prend cette contrainte stricte, le moindre exemple bruite qui
est loin des autres empechera la sph`ere de coller au reste des donnees. En fait, on pourrait
vouloir trouver la sph`ere la plus petite qui contient % des donnees. Or ce probl`eme est
NP-complet...
On peut utiliser la ruse des slack variables qui donneront une solution approchee du
probl`eme NP-complet.
Jouer sur , r et pour minimiser r
2
+ C

l
En respectant
_
|x
l
|
2
r
2
+
l
, x
l
S

l
0, l
On trouve apr`es resolution lagrangienne une formule qui donne r et une fonction qui
vaut 1 quand on sort de la sph`ere, ces deux resultats ne sexprimant bien heureusement
que par des produits scalaires (cf. gure 7.1).
Figure 7.1 Plus petite sph`ere englobante.
`
A gauche on utilise le produit scalaire, `a
droite un noyau gaussien de param`etre = 3. Dans les deux cas, C = 0.1 et les exemples
tires sont inclus dans un carre de 10 10.
On peut comme precedemment trouver une -version de ce probl`eme, pour controler
le pourcentage de vecteurs supports, cest-`a-dire le pourcentage dexemples en dehors de
la sph`ere (Shawe-Taylor and Cristanini, 2004). Le probl`eme doptimisation est le meme
35
que le precedent, en posant C = 1/l, puis de multipliant par la quantite `a minimiser
6
.
La raison pour laquelle ce C-l`a conduit `a ce que soit eectivement lie au pourcentage
dexemples hors de la sph`ere sobtient l`a-aussi par une analyse des conditions KKT.
Jouer sur , r et pour minimiser r
2
+
1
l

l
En respectant
_
|x
l
|
2
r
2
+
l
, x
l
S

l
0, l
7.3.2 One-class SVM
Ce cas est un peu particulier, quoi que tr`es utilise. Il sagit de trouver un hyperplan qui
verie deux conditions. La premi`ere est que lorigine soit du cote negatif de lhyperplan, et
que les exemples soient tous du cote positif, aux slack variables pr`es, comme dhabitude.
La seconde condition est que cet hyperplan soit le plus eloigne possible de lorigine. De
facon generale, linteret ne saute pas aux yeux, car les exemples pourraient tr`es bien se
situer tout autour de lorigine. En fait, cette SVM est pertinente dans le cas de noyaux
radiaux, comme les noyaux gaussiens. Ces derniers en eet projettent les vecteurs sur
une hypersph`ere centree `a lorigine (cf. remarque du paragraphe 4.2.3), lorigine est donc
naturellement loin des donnees pour ce type de noyaux, et les exemples sont agglu-
tines sur une portion de lhypersph`ere. On isole cette portion en repoussant au maximum
lhyperplan (cf. gure 7.2).
Jouer sur w, b, et pour minimiser
1
2
w. w) +
1
l

l
En respectant
_
w.x
l
)
l
, x
l
S

l
0, l
Le fait que, l`a-aussi, est lie `a la fraction des exemples qui sont du cote negatif de
lhyperplan est justie dans (Scholkopf et al., 2001) par des arguments sur les conditions
KKT du probl`eme.
6. Ce qui ne change rien au resultat.
36
Figure 7.2 One class SVM. Les exemples sont ceux de la gure 7.1. On utilise un noyau
gaussien de param`etre = 3, et = 0.2, ce qui signie que 20% des exemples environ sont
hors de la region.
37
Bibliographie
Cristanini, N. and Shawe-Taylor, J. (2000). An Introduction to Support Vector Machines
and other kernel-based learning methods. Cambridge University Press.
Keerthi, S. S., Shevade, S. K., Bhattacharyya, C., and Murthy, K. R. K. (1999). Improve-
ments to platts smo algorithm for svm classier design. Technical Report CD-99-14,
National University of Singapore.
Lin, C.-J. (2010). libsvm. http://www.csie.ntu.edu.tw/~cjlin.
Platt, J. (1998). Fast training of support vector machines using sequential minimal op-
timization. In scholkopf, B., Burges, C., and Smola, A., editors, Advances in Kernel
Methods : Support Vector Machines. MIT Press, Cambridge, MA.
Scholkopf, B., Platt, J., Shawe-Taylor, J., Smola, A. J., and Williamson, R. C. (2001). Esti-
mating the support of a high-dimensional distribution. Neural Computation, 13 :1443
1471.
Scholkopf, B., Smola, A. J., Williamson, R. C., and Bartlett, P. L. (2000). New support
vector algorithms. Neural Computation, 12 :12071245.
Shawe-Taylor, J. and Cristanini, N. (2004). Kernel Methods for Pattern Analysis. Cam-
bridge University Press.
Shevade, S. K., Keerthi, S. S., Bhattacharyya, C., and Murthy, K. R. K. (1999). Improve-
ments to smo algorithm for svm regression. Technical Report CD-99-16, National
University of Singapore.
Vapnik, V. N. (2000). The Nature of Statistical Learning Theory. Statistics for Engineering
and Information Science. Springer.
38

Anda mungkin juga menyukai