Introduction aux Support Vector Machines(SVM)
Apprentissage artificiel et reconnaissance des formes
Kevin [email protected]
2014-2015
Kevin Bailly () Introduction aux SVM 2014-2015 1 / 75
Sommaire
1 Introduction
2 SVM : formulation primaleSVM lineaire a marge dureSVM a marge poreuseSeparations non lineaires
3 SVM : formulation dualeMultiplicateurs de LagrangeApplication aux SVML’astuce du Noyaux (Kernel Trick)
Kevin Bailly () Introduction aux SVM 2014-2015 2 / 75
Introduction
Objectifs du cours
Comprendre les SVM pour mieux les utiliser
Apprehender les principes fondamentaux des SVMApprendre a les utiliser dans des problemes concrets de Reconnaissancedes Formes
Ce n’est pas un cours de mathematique appliquee !
Kevin Bailly () Introduction aux SVM 2014-2015 3 / 75
Introduction
Bibliographie
Livres
Y. S. Abu-Mostafa, M. Magdon-Ismail, Learning From Data, 2012C. Bishop, Pattern Recognition and Machine Learning, 2002R. Duda, P. Hart et D. Stork, Pattern Classification, 2002B. Scholkopf et A. J. Smola, Learning with Kernels, 2001A. Cornuejols et L. Miclet, Apprentissage artificiel : Concepts etalgorithmes (2eme ed.), 2010
MOOC
: Y. S. Abu-Mostafa, Learning From Data, edX: A. Ng, Machine Learning, Coursera
Internet
A. Zisserman :http ://www.robots.ox.ac.uk/ az/lectures/ml/index.htmlG. Gasso et A. Rakotomamonjy :https ://moodle.insa-rouen.fr/mod/resource/view.php ?id=1919
Kevin Bailly () Introduction aux SVM 2014-2015 4 / 75
Introduction
Problemes de classification binaire
Soit Ba ={{xn, yn} ∈ Rd × {−1, 1}
}n=1..N
un ensemble d’exemplesd’apprentissage labellises
Objectif : apprendre une fonction de decision g(x) telle que
g(xn)
{≥ 0 si yn = +1< 0 si yn = −1
ou de maniere equivalente : ynh(xn) > 0 pour tout exemplecorrectement predit
Kevin Bailly () Introduction aux SVM 2014-2015 5 / 75
Introduction
Donnees lineairement separables
Les points {xn, yn} sont lineairement separables si il existe unhyperplan qui permet de discriminer correctement l’ensemble desdonnees.Dans le cas contraire, on parle d’exemples non separables
Kevin Bailly () Introduction aux SVM 2014-2015 6 / 75
Introduction
Hyperplan separateur
g(xn) = signe(wTxn + b)
L’hyperplan separel’espace en 2 regions (en2D, l’hyperplan est unedroite)
w est un vecteurorthogonal au plan
b est le biais. Si b = 0 leplan passe par l’origine
Remarque
Pour classifier un nouvel exemple, seuls w et b sont necessaires (contrairement au k-ppvqui ont besoin de conserver toutes les donnees d’apprentissage)
Kevin Bailly () Introduction aux SVM 2014-2015 7 / 75
Introduction
Hyperplan separateur
Il existe une infinite de lignes permettant de separer les donnees quisont lineairement separables
Connaissez vous un algorithme permettant d’estimer un hyperplanseparateur ?
Kevin Bailly () Introduction aux SVM 2014-2015 8 / 75
Introduction
Hyperplan separateur
Il existe une infinite de lignes permettant de separer les donnees quisont lineairement separables
Connaissez vous un algorithme permettant d’estimer un hyperplanseparateur ?
Kevin Bailly () Introduction aux SVM 2014-2015 8 / 75
Introduction
Algorithme du perceptron
Kevin Bailly () Introduction aux SVM 2014-2015 9 / 75
Introduction
Algorithme du perceptron
Si les donnees sont lineairement separables l’algorithme du perceptrontrouvera un hyperplan separateur
Probleme ?
L’hyperplan trouve depend de l’initialisation
Quel est a priori le meilleur hyperplan ? (i.e. celui qui donneraprobablement les meilleurs resultats sur la base de test)
Kevin Bailly () Introduction aux SVM 2014-2015 10 / 75
Introduction
Algorithme du perceptron
Si les donnees sont lineairement separables l’algorithme du perceptrontrouvera un hyperplan separateur
Probleme ?
L’hyperplan trouve depend de l’initialisation
Quel est a priori le meilleur hyperplan ? (i.e. celui qui donneraprobablement les meilleurs resultats sur la base de test)
Kevin Bailly () Introduction aux SVM 2014-2015 10 / 75
Introduction
Quel est le meilleur hyperplan ?
Quel est la quantite de bruit dans les donnees d’apprentissage quel’hyperplan peut ”tolerer” ?
Le bruit sur les donnees est une des principales causes dusurapprentissage
L’hyperplan de droite sera le moins sensible au bruit
Kevin Bailly () Introduction aux SVM 2014-2015 11 / 75
Introduction
Quel est le meilleur hyperplan ?
Quel est la quantite de bruit dans les donnees d’apprentissage quel’hyperplan peut ”tolerer” ?
Le bruit sur les donnees est une des principales causes dusurapprentissage
L’hyperplan de droite sera le moins sensible au bruit
Kevin Bailly () Introduction aux SVM 2014-2015 11 / 75
Introduction
Du point de vue de l’hyperplan ?
le meilleur hyperplan separateur est celui dont la marge est maximale
Kevin Bailly () Introduction aux SVM 2014-2015 12 / 75
Introduction
Questions soulevees dans le cours
Comment estimer les parametres de l’hyperplan de marge maximale
Que faire lorsque les donnees ne sont pas separables
Cas des donnees bruitees (marge poreuse)Cas des donnees non lineairement separables (fonctions noyaux)
Kevin Bailly () Introduction aux SVM 2014-2015 13 / 75
SVM : formulation primale
1 Introduction
2 SVM : formulation primaleSVM lineaire a marge dureSVM a marge poreuseSeparations non lineaires
3 SVM : formulation dualeMultiplicateurs de LagrangeApplication aux SVML’astuce du Noyaux (Kernel Trick)
Kevin Bailly () Introduction aux SVM 2014-2015 14 / 75
SVM : formulation primale SVM lineaire a marge dure
Hyperplan seaprateur
Question ?
Que signifie une grande et une petite marge fonctionnelle ? Cette quantitea-t-elle du sens du point de vue de l’hyperplan ?
L’hyperplan h definit par w etb separe les donnees ssi pourtout n = 1, ..,N :
yn(wTxn + b) > 0
La quantite yn(wTxn) estappelee marge fonctionnelled’un exemple par rapport al’hyperplan
Kevin Bailly () Introduction aux SVM 2014-2015 15 / 75
SVM : formulation primale SVM lineaire a marge dure
Hyperplan seaprateur
Question ?
Que signifie une grande et une petite marge fonctionnelle ? Cette quantitea-t-elle du sens du point de vue de l’hyperplan ?
L’hyperplan h definit par w etb separe les donnees ssi pourtout n = 1, ..,N :
yn(wTxn + b) > 0
La quantite yn(wTxn) estappelee marge fonctionnelled’un exemple par rapport al’hyperplan
Kevin Bailly () Introduction aux SVM 2014-2015 15 / 75
SVM : formulation primale SVM lineaire a marge dure
Hyperplan separateur
Reponse ?
Non ! On peut faire varier arbitrairement cette quantite en changeantl’echelle de w et b(w, b) et (w/ρ, b/ρ) definissent le meme hyperplan pour tout ρ > 0
L’hyperplan h definit par w etb separe les donnees ssi pourtout n = 1, ..,N :
yn(wTxn + b) > 0
La quantite yn(wTxn) estappelee marge fonctionnelled’un exemple par rapport al’hyperplan
Kevin Bailly () Introduction aux SVM 2014-2015 16 / 75
SVM : formulation primale SVM lineaire a marge dure
Hyperplan separateur
Reponse ?
Non ! On peut faire varier arbitrairement cette quantite en changeantl’echelle de w et b(w, b) et (w/ρ, b/ρ) definissent le meme hyperplan pour tout ρ > 0
Donc, pour n’importe quel hyperplan separateur, il est possible de trouver(w, b) tel que
minn=1,...,N
yn(wTxn + b) = 1
Kevin Bailly () Introduction aux SVM 2014-2015 17 / 75
SVM : formulation primale SVM lineaire a marge dure
Hyperplan separateur
DemonstrationChoisissons une valeur particuliere de ρ :
ρ = minn=1,...,N
yn(wTxn + b)
ρ est positif par definition. En divisant les parametres de cet hyperplan parρ, on obtient le meme hyperplan :
minn=1,...,N
yn(w
ρ
Txn +
b
ρ) =
1
ρmin
n=1,...,Nyn(wTxn + b) =
ρ
ρ= 1
Definition : hyperplan separateur
Un hyperplan separe les donnees si et seulement si il peut etre representepar un jeu de parametres (w, b) tel que :
minn=1,...,N
yn(wTxn + b) = 1
Kevin Bailly () Introduction aux SVM 2014-2015 18 / 75
SVM : formulation primale SVM lineaire a marge dure
Exercice
Exemple
(a) Calculer ρ = minn=1,...,N
yn(wTxn + b)
(b) Calculer (w/ρ, b/ρ) et verifier que minn=1,...,N
yn( wT
ρ xn + bρ ) = 1
(b) Tracer les deux hyperplans
X =
0 02 22 03 0
y =
−1−1+1+1
w =
[1.2−3.2
]b = −0.5
Kevin Bailly () Introduction aux SVM 2014-2015 19 / 75
SVM : formulation primale SVM lineaire a marge dure
Distance a l’hyperplan
Quelle est la distance entre xn et l’hyperplan wTx + b = 0 avec|wTxn + b| = 1 ?
Soit x′ et x′′ deux points duplan. Alors :
wTx′+ b = 0 et wTx′′+ b = 0
donc
wT (x′ − x′′) = 0
Le vecteur w est donc orthogonal au plan
Kevin Bailly () Introduction aux SVM 2014-2015 20 / 75
SVM : formulation primale SVM lineaire a marge dure
Distance a l’hyperplan
Quelle est la distance entre xn et l’hyperplan wTx + b = 0 avec|wTxn + b| = 1 ?
La distance entre xn et le plan.
Projetons xn − x sur levecteur unitaire w
w = w‖w‖
dist = |wT (xn − x)|
Marge geometrique
dist = 1‖w‖ |w
Txn −wTx| = 1‖w‖ |w
Txn + b −wTx− b| = 1‖w‖
Kevin Bailly () Introduction aux SVM 2014-2015 21 / 75
SVM : formulation primale SVM lineaire a marge dure
Distance a l’hyperplan
Quelle est la distance entre xn et l’hyperplan wTx + b = 0 avec|wTxn + b| = 1 ?
La distance entre xn et le plan.
Projetons xn − x sur levecteur unitaire w
w = w‖w‖
dist = |wT (xn − x)|
Marge geometrique
dist = 1‖w‖ |w
Txn −wTx| = 1‖w‖ |w
Txn + b −wTx− b| = 1‖w‖
Kevin Bailly () Introduction aux SVM 2014-2015 21 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Objectif
Maximiser 1‖w‖
s.c . minn=1,...,N
yn(wTxn + b) = 1
Formulation equivalente
Minimiser 12wTw
s.c . yn(wTxn + b) ≥ 1 ∀n = 1, . . . ,N
Kevin Bailly () Introduction aux SVM 2014-2015 22 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Objectif
Maximiser 1‖w‖
s.c . minn=1,...,N
yn(wTxn + b) = 1
Formulation equivalente
Minimiser 12wTw
s.c . yn(wTxn + b) ≥ 1 ∀n = 1, . . . ,N
Kevin Bailly () Introduction aux SVM 2014-2015 22 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Exemple
Considerons les exemples d’apprentissages suivants :
X =
0 02 22 03 0
y =
−1−1+1+1
(a) Exprimer les contraintes de separabilite pour ces exemples
(b) Calculer les parametres de l’hyperplan optimal
(c) Calculer la marge de l’hyperplan optimal
(d) Quels sont les exemples qui se trouvent sur la marge ?
Kevin Bailly () Introduction aux SVM 2014-2015 23 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Exemple
(a) Exprimer les contraintes de separabilites pour ces exemples
X =
0 02 22 03 0
y =
−1−1+1+1
−b ≥ 1
−(2w1 + 2w2 + b) ≥ 12w1 + b ≥ 13w1 + b ≥ 1
Kevin Bailly () Introduction aux SVM 2014-2015 24 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Exemple
(b) Calculer les parametres de l’hyperplan optimal
X =
0 02 22 03 0
y =
−1−1+1+1
−b ≥ 1 (1)
−(2w1 + 2w2 + b) ≥ 1 (2)2w1 + b ≥ 1 (3)3w1 + b ≥ 1 (4)
En combinant eq. (1) et (3) on obtient : w1 ≥ 1
En combinant eq. (2) et (3) on obtient : w2 ≤ −1
Donc 12 (w 2
1 + w 22 ) ≥ 1
Avec l’egalite lorsque : w1 = 1 et w2 = −1
On trouve alors : (b∗ = −1,w∗1 = 1,w∗2 = −1)
Kevin Bailly () Introduction aux SVM 2014-2015 25 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Exemple
(b) Calculer les parametres de l’hyperplan optimal
X =
0 02 22 03 0
y =
−1−1+1+1
−b ≥ 1 (1)
−(2w1 + 2w2 + b) ≥ 1 (2)2w1 + b ≥ 1 (3)3w1 + b ≥ 1 (4)
En combinant eq. (1) et (3) on obtient : w1 ≥ 1
En combinant eq. (2) et (3) on obtient : w2 ≤ −1
Donc 12 (w 2
1 + w 22 ) ≥ 1
Avec l’egalite lorsque : w1 = 1 et w2 = −1
On trouve alors : (b∗ = −1,w∗1 = 1,w∗2 = −1)
Kevin Bailly () Introduction aux SVM 2014-2015 25 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Exemple
(b) Calculer les parametres de l’hyperplan optimal
X =
0 02 22 03 0
y =
−1−1+1+1
−b ≥ 1 (1)
−(2w1 + 2w2 + b) ≥ 1 (2)2w1 + b ≥ 1 (3)3w1 + b ≥ 1 (4)
En combinant eq. (1) et (3) on obtient : w1 ≥ 1
En combinant eq. (2) et (3) on obtient : w2 ≤ −1
Donc 12 (w 2
1 + w 22 ) ≥ 1
Avec l’egalite lorsque : w1 = 1 et w2 = −1
On trouve alors : (b∗ = −1,w∗1 = 1,w∗2 = −1)
Kevin Bailly () Introduction aux SVM 2014-2015 25 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Exemple
(c) Calculer la marge de l’hyperplan optimal
Fonction de decision : g(x) = signe(x1 − x2 − 1)
marge : 1‖w∗‖ = 1√
2
Kevin Bailly () Introduction aux SVM 2014-2015 26 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Exemple
(c) Calculer la marge de l’hyperplan optimal
Fonction de decision : g(x) = signe(x1 − x2 − 1)
marge : 1‖w∗‖ = 1√
2
Kevin Bailly () Introduction aux SVM 2014-2015 26 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Exemple
(d) Quels sont les exemples qui se trouvent sur la marge ?
Ce sont les points qui verifient : yn(wTxn + b) = 1
Kevin Bailly () Introduction aux SVM 2014-2015 27 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Exemple
(d) Quels sont les exemples qui se trouvent sur la marge ?
Ce sont les points qui verifient : yn(wTxn + b) = 1
Kevin Bailly () Introduction aux SVM 2014-2015 27 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Vecteurs supports
Pour les points qui verifient la contrainte yn(wTxn + b) = 1,dist(xn, h) = 1
‖w∗‖Ces points sont appeles vecteurs supports
Kevin Bailly () Introduction aux SVM 2014-2015 28 / 75
SVM : formulation primale SVM lineaire a marge dure
Formulation du probleme d’optimisation
Vecteurs supports
Que se passe-t-il si l’on retire le point x4 = (3, 0) de l’ensembled’apprentissage ?
Kevin Bailly () Introduction aux SVM 2014-2015 29 / 75
SVM : formulation primale SVM lineaire a marge dure
Optimisation Quadratique (Quadratic Programming - QP)
Optimisation Quadratique
Minimisation d’une fonction quadratique sous contraintes lineaires
minu∈RL
12uTQu + pTu
s.c. aTmu ≥ cm (m = 1, . . . ,M)
u : variable a optimiser
Q, p, am, cm : donnees du probleme
Kevin Bailly () Introduction aux SVM 2014-2015 30 / 75
SVM : formulation primale SVM lineaire a marge dure
Optimisation Quadratique (Quadratic Programming - QP)
Optimisation Quadratique
: Formulation matricielle
minu∈RL
12uTQu + pTu
s.c. Au ≥ c
avec A une matrice contenant les vecteurs aTm (en ligne)
et c un vecteur colonne contenant les cm
Solution du probleme
Pour resoudre ce probleme d’optimisation sous contrainte, on peututiliser l’un des nombreux solver existant (ex : quadprog sous Matlab)
Kevin Bailly () Introduction aux SVM 2014-2015 31 / 75
SVM : formulation primale SVM lineaire a marge dure
Optimisation Quadratique (Quadratic Programming - QP)
Optimisation Quadratique
: Formulation matricielle
minu∈RL
12uTQu + pTu
s.c. Au ≥ c
avec A une matrice contenant les vecteurs aTm (en ligne)
et c un vecteur colonne contenant les cm
Solution du probleme
Pour resoudre ce probleme d’optimisation sous contrainte, on peututiliser l’un des nombreux solver existant (ex : quadprog sous Matlab)
Kevin Bailly () Introduction aux SVM 2014-2015 31 / 75
SVM : formulation primale SVM lineaire a marge dure
Optimisation Quadratique (Quadratic Programming - QP)
Convexite
Si Q est positive semidefinie (i.e. uTQu ≥ 0 ∀u) le problemed’optimisation est convexe.
Un probleme d’optimisation convexe a au plus une solution
Kevin Bailly () Introduction aux SVM 2014-2015 32 / 75
SVM : formulation primale SVM lineaire a marge dure
Optimisation Quadratique (Quadratic Programming - QP)
Exercice
a Montrer que le probleme d’optimisation de la SVM est un problemed’optimisation quadratique
b S’agit-t-il d’un probleme d’optimisation convexe ? Pourquoi ?
Kevin Bailly () Introduction aux SVM 2014-2015 33 / 75
SVM : formulation primale SVM lineaire a marge dure
Optimisation Quadratique (Quadratic Programming - QP)
Exercice
a Montrer que le probleme d’optimisation de la SVM est un problemed’optimisation quadratique
dimension du probleme d’optimisation : L = d + 1
identification de Q
wTw =[
b wT] [ 0 0T
d
0d Id
] [bw
]Pas de termes lineaires : p = 0d+1
Kevin Bailly () Introduction aux SVM 2014-2015 34 / 75
SVM : formulation primale SVM lineaire a marge dure
Optimisation Quadratique (Quadratic Programming - QP)
Exercice
a Montrer que le probleme d’optimisation de la SVM est un problemed’optimisation quadratique
la n-ieme contrainte yn(wTxn + b) ≥ 1 est equivalente a :[yn ynxTn
]u ≥ 1
donc aTn = yn
[1 xTn
]et cn = 1
La matrice A contient en ligne les aTn correspondant aux contraintes
donnees par les N exemples d’apprentissage
Certains solvers considerent l’inegalite Au ≤ c. Il faut donc prendrel’oppose de A et c
Kevin Bailly () Introduction aux SVM 2014-2015 35 / 75
SVM : formulation primale SVM lineaire a marge dure
Optimisation Quadratique (Quadratic Programming - QP)
Exercice
a Montrer que le probleme d’optimisation de la SVM est un problemed’optimisation quadratique
la n-ieme contrainte yn(wTxn + b) ≥ 1 est equivalente a :[yn ynxTn
]u ≥ 1
donc aTn = yn
[1 xTn
]et cn = 1
La matrice A contient en ligne les aTn correspondant aux contraintes
donnees par les N exemples d’apprentissage
Certains solvers considerent l’inegalite Au ≤ c. Il faut donc prendrel’oppose de A et c
Kevin Bailly () Introduction aux SVM 2014-2015 35 / 75
SVM : formulation primale SVM lineaire a marge dure
Optimisation Quadratique (Quadratic Programming - QP)
Exercice
b S’agit-t-il d’un probleme d’optimisation convexe ? Pourquoi ?
Kevin Bailly () Introduction aux SVM 2014-2015 36 / 75
SVM : formulation primale SVM lineaire a marge dure
Cas des donnees non separables ?
Probleme
L’algorithme d’optimisation quadratique ne converge pas !
Kevin Bailly () Introduction aux SVM 2014-2015 37 / 75
SVM : formulation primale SVM lineaire a marge dure
Cas des donnees non separables ?
Probleme
L’algorithme d’optimisation quadratique ne converge pas !
Kevin Bailly () Introduction aux SVM 2014-2015 37 / 75
SVM : formulation primale SVM a marge poreuse
1 Introduction
2 SVM : formulation primaleSVM lineaire a marge dureSVM a marge poreuseSeparations non lineaires
3 SVM : formulation dualeMultiplicateurs de LagrangeApplication aux SVML’astuce du Noyaux (Kernel Trick)
Kevin Bailly () Introduction aux SVM 2014-2015 38 / 75
SVM : formulation primale SVM a marge poreuse
SVM a marge poreuse
Pour certains jeux de donnees non lineairement separables, unseparateur lineaire donnerait pourtant de bons resultats
Condition : accepter que certains exemples ne respectent pas lacontrainte
Probleme : la formulation actuelle des SVM ne le permet pas !
Solution : SVM a marge poreuse (Soft Margin)
relacher les contraintes
accepter que la marge soit franchieaccepter que certains exemples soient du mauvais cote de l’hyperplan
penaliser ces relachements dans la fonction a optimiser
Kevin Bailly () Introduction aux SVM 2014-2015 39 / 75
SVM : formulation primale SVM a marge poreuse
SVM a marge poreuse
Pour certains jeux de donnees non lineairement separables, unseparateur lineaire donnerait pourtant de bons resultats
Condition : accepter que certains exemples ne respectent pas lacontrainte
Probleme : la formulation actuelle des SVM ne le permet pas !
Solution : SVM a marge poreuse (Soft Margin)
relacher les contraintes
accepter que la marge soit franchieaccepter que certains exemples soient du mauvais cote de l’hyperplan
penaliser ces relachements dans la fonction a optimiser
Kevin Bailly () Introduction aux SVM 2014-2015 39 / 75
SVM : formulation primale SVM a marge poreuse
SVM a marge poreuse
Soit ξn une variable d’ecart (slack variable) associee a un exempled’apprentissage (xn, yn) :
yn(wTxn + b) ≥ 1− ξn
ξn renseigne a quel point un exemple (xn, yn) viole la contrainte
Si ξ = 0 l’exemple respecte la contrainte
Si ξ > 1 l’exemple est mal classe
Si 0 < ξn < 1 l’exemple est bien classe mais il a franchi la marge
Objectif
On souhaite que∑N
n=1 ξn soit minimal !
Kevin Bailly () Introduction aux SVM 2014-2015 40 / 75
SVM : formulation primale SVM a marge poreuse
SVM a marge poreuse
Soit ξn une variable d’ecart (slack variable) associee a un exempled’apprentissage (xn, yn) :
yn(wTxn + b) ≥ 1− ξn
ξn renseigne a quel point un exemple (xn, yn) viole la contrainte
Si ξ = 0 l’exemple respecte la contrainte
Si ξ > 1 l’exemple est mal classe
Si 0 < ξn < 1 l’exemple est bien classe mais il a franchi la marge
Objectif
On souhaite que∑N
n=1 ξn soit minimal !
Kevin Bailly () Introduction aux SVM 2014-2015 40 / 75
SVM : formulation primale SVM a marge poreuse
SVM a marge poreuse
SVM a marge poreuse
minw,b,ξ
12wTw + C
∑Nn=1 ξn
s.c. yn(wTxn + b) ≥ 1−ξn pour n = 1, . . . ,Nξn ≥ 0 pour n = 1, . . . ,N
Influence de C
C gere le compromis entre une marge maximale et le relachement dela contrainte
Que se passe-t-il si C =∞ ?
Que se passe-t-il si C = 0 ?
Kevin Bailly () Introduction aux SVM 2014-2015 41 / 75
SVM : formulation primale SVM a marge poreuse
SVM a marge poreuse : influence du parametre C
Kevin Bailly () Introduction aux SVM 2014-2015 42 / 75
SVM : formulation primale SVM a marge poreuse
Optimisation Quadratique (Quadratic Programming - QP)
Exercice
a Donner l’expression de u, Q, p, A et c permettant de trouver unesolution a la formulation de la SVM a marge poreuse
b Comment determiner les exemples qui ne sont pas du bon cote de lamarge ?
Kevin Bailly () Introduction aux SVM 2014-2015 43 / 75
SVM : formulation primale SVM a marge poreuse
Optimisation Quadratique (Quadratic Programming - QP)
Exercice
a Donner l’expression de u, Q, p, A et c permettant de trouver unesolution a la formulation de la SVM a marge poreuse
u =
bwξ
ξ =
ξ1...ξN
Q =
0 0Td 0T
N
0d Id 0d×N0N 0N×d 0N×N
p =
[0d+1
C .1N
]
A =
[Amd IN
0N×(d+1) IN
]c =
[1N
0N
]Kevin Bailly () Introduction aux SVM 2014-2015 44 / 75
SVM : formulation primale SVM a marge poreuse
Optimisation Quadratique (Quadratic Programming - QP)
Exercice
a Donner l’expression de u, Q, p, A et c permettant de trouver unesolution a la formulation de la SVM a marge poreuse
u =
bwξ
ξ =
ξ1...ξN
Q =
0 0Td 0T
N
0d Id 0d×N0N 0N×d 0N×N
p =
[0d+1
C .1N
]
A =
[Amd IN
0N×(d+1) IN
]c =
[1N
0N
]Kevin Bailly () Introduction aux SVM 2014-2015 44 / 75
SVM : formulation primale SVM a marge poreuse
Optimisation Quadratique (Quadratic Programming - QP)
Exercice
a Donner l’expression de u, Q, p, A et c permettant de trouver unesolution a la formulation de la SVM a marge poreuse
u =
bwξ
ξ =
ξ1...ξN
Q =
0 0Td 0T
N
0d Id 0d×N0N 0N×d 0N×N
p =
[0d+1
C .1N
]
A =
[Amd IN
0N×(d+1) IN
]c =
[1N
0N
]Kevin Bailly () Introduction aux SVM 2014-2015 44 / 75
SVM : formulation primale Separations non lineaires
1 Introduction
2 SVM : formulation primaleSVM lineaire a marge dureSVM a marge poreuseSeparations non lineaires
3 SVM : formulation dualeMultiplicateurs de LagrangeApplication aux SVML’astuce du Noyaux (Kernel Trick)
Kevin Bailly () Introduction aux SVM 2014-2015 45 / 75
SVM : formulation primale Separations non lineaires
Separations non lineaires
Non lineairement separable
Que faire lorsque l’ensemble des donnees d’apprentissage est nonlineairement separable ?
Kevin Bailly () Introduction aux SVM 2014-2015 46 / 75
SVM : formulation primale Separations non lineaires
Separations non lineaires
Transformation non lineaire
Appliquer aux donnees une transformation Φ : Rd → Rd vers un espace deplus grande dimension :
zn = Φ(xn)
Apres transformation des donnees, on resout le probleme de SVM a margedure dans ce nouvel espace de redescription Z
minw
wT w
s.c . yn(wTzn + b) ≥ 1 (n = 1, . . . ,N)
La fonction de decision devient :
g(x) = signe(w∗Tzn + b∗)
Kevin Bailly () Introduction aux SVM 2014-2015 47 / 75
SVM : formulation primale Separations non lineaires
Separations non lineaires
Exemple : resultats des apprentissages en utilisant des transformationspolynomiales d’ordre 2 et 3 :
Φ2(x) = (x1, x2, x1x2, x21 , x
22 )
Φ3(x) = (x1, x2, x1x2, x21 , x
22 , x
21 x2, x1x2
2 , x31 , x
32 )
Kevin Bailly () Introduction aux SVM 2014-2015 48 / 75
SVM : formulation duale Multiplicateurs de Lagrange
1 Introduction
2 SVM : formulation primaleSVM lineaire a marge dureSVM a marge poreuseSeparations non lineaires
3 SVM : formulation dualeMultiplicateurs de LagrangeApplication aux SVML’astuce du Noyaux (Kernel Trick)
Kevin Bailly () Introduction aux SVM 2014-2015 49 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Probleme considere
Minimisation d’une fonction quadratique avec une seule contrainted’inegalite
minu∈RL
12uTQu + pTu
s.c. aTu ≥ c(1)
Probleme proche
minu∈RL
12uTQu + pTu + max
α≥0α(c − aTu) (2)
La variable α ≥ 0 est appelee multiplicateur de Lagrange.
Kevin Bailly () Introduction aux SVM 2014-2015 50 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Probleme proche : Pourquoi ?
minu∈RL
12uTQu + pTu + max
α≥0α(c − aTu)
Interpretation
Si la contrainte du probleme original n’est pas respectee i.e.c − aTu > 0 alors max
α≥0α(c − aTu)→ +∞
Si la contrainte est respectee, i.e. c − aTu ≤ 0, alorsmaxα≥0
α(c − aTu) = 0.
Soit c − aTu = 0Soit α∗ = 0
La fonction a minimiser est equivalente a celle du probleme original.
Kevin Bailly () Introduction aux SVM 2014-2015 51 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Probleme proche : Pourquoi ?
minu∈RL
12uTQu + pTu + max
α≥0α(c − aTu)
Interpretation
Si la contrainte du probleme original n’est pas respectee i.e.c − aTu > 0 alors max
α≥0α(c − aTu)→ +∞
Si la contrainte est respectee, i.e. c − aTu ≤ 0, alorsmaxα≥0
α(c − aTu) = 0.
Soit c − aTu = 0Soit α∗ = 0
La fonction a minimiser est equivalente a celle du probleme original.
Kevin Bailly () Introduction aux SVM 2014-2015 51 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Probleme proche : Pourquoi ?
minu∈RL
12uTQu + pTu + max
α≥0α(c − aTu)
Interpretation
Si la contrainte du probleme original n’est pas respectee i.e.c − aTu > 0 alors max
α≥0α(c − aTu)→ +∞
Si la contrainte est respectee, i.e. c − aTu ≤ 0, alorsmaxα≥0
α(c − aTu) = 0.
Soit c − aTu = 0Soit α∗ = 0
La fonction a minimiser est equivalente a celle du probleme original.
Kevin Bailly () Introduction aux SVM 2014-2015 51 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Probleme proche : Pourquoi ?
minu∈RL
12uTQu + pTu + max
α≥0α(c − aTu)
Interpretation
Si la contrainte du probleme original n’est pas respectee i.e.c − aTu > 0 alors max
α≥0α(c − aTu)→ +∞
Si la contrainte est respectee, i.e. c − aTu ≤ 0, alorsmaxα≥0
α(c − aTu) = 0.
Soit c − aTu = 0Soit α∗ = 0
La fonction a minimiser est equivalente a celle du probleme original.
Kevin Bailly () Introduction aux SVM 2014-2015 51 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Probleme proche : Pourquoi ?
minu∈RL
12uTQu + pTu + max
α≥0α(c − aTu)
Interpretation
Si la contrainte du probleme original n’est pas respectee i.e.c − aTu > 0 alors max
α≥0α(c − aTu)→ +∞
Si la contrainte est respectee, i.e. c − aTu ≤ 0, alorsmaxα≥0
α(c − aTu) = 0.
Soit c − aTu = 0Soit α∗ = 0
La fonction a minimiser est equivalente a celle du probleme original.
Kevin Bailly () Introduction aux SVM 2014-2015 51 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
1er probleme d’optimisation (1) :
minu∈RL
12uTQu + pTu
s.c. aTu ≥ c
2eme probleme d’optimisation (2) :
minu∈RL
1
2uTQu + pTu + max
α≥0α(c − aTu)
Propriete
Les deux problemes d’optimisation sont equivalents si il existe aumoins une solution qui satisfait la contrainte c − aTu ≤ 0
Kevin Bailly () Introduction aux SVM 2014-2015 52 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Soit L(u, α) la fonction Lagrangienne definie par :
L(u, α) =1
2uTQu + pTu + α(c − aTu)
Le probleme d’optimisation (2) s’ecrit :
minu
maxα≥0L(u, α)
Dualite forte
Lorsque le probleme est convexe, on a une relation de dualite forte :
minu
maxα≥0L(u, α) = max
α≥0min
uL(u, α)
Il est equivalent de resoudre le probleme primal ou son dual
Kevin Bailly () Introduction aux SVM 2014-2015 53 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Formulation duale
On a transforme un probleme de programmation quadratique souscontraintes en... un probleme de programmation quadratique souscontraintes, mais :
Le probleme est generalement plus simple a resoudre (contraintessimples)
Cette formulation a un avantage important dans le cas des SVM (cf.Kernel Trick)
Kevin Bailly () Introduction aux SVM 2014-2015 54 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Extension a plusieurs contraintes
Le principe reste le meme
On ajoute autant de termes de penalite qu’il y a de contraintesαm(c − aT
mu)
On a donc le Lagrangien suivant :
L(u, α) =1
2uTQu + pTu +
M∑m=1
αm(c − aTmu)
Avec α = [α1 . . . αm . . . αM ]
Kevin Bailly () Introduction aux SVM 2014-2015 55 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Exercice
Minimiser u21 + u2
2 avec u1 + 2u2 ≥ 2 et u1, u2 ≥ 0
Exercice
Lagrangien :
L(u, α) = u21 + u2
2 + α1(2− u1 − 2u2)− α2u1 − α3u2
Minimisation de L(u, α) par rapport a u
∂L∂u1
= 0⇒ u1 =α1 + α2
2
∂L∂u2
= 0⇒ u2 =2α1 + α3
2
Kevin Bailly () Introduction aux SVM 2014-2015 56 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Exercice
Minimiser u21 + u2
2 avec u1 + 2u2 ≥ 2 et u1, u2 ≥ 0
Exercice
Lagrangien :
L(u, α) = u21 + u2
2 + α1(2− u1 − 2u2)− α2u1 − α3u2
Minimisation de L(u, α) par rapport a u
∂L∂u1
= 0⇒ u1 =α1 + α2
2
∂L∂u2
= 0⇒ u2 =2α1 + α3
2
Kevin Bailly () Introduction aux SVM 2014-2015 56 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Exercice
Minimiser u21 + u2
2 avec u1 + 2u2 ≥ 2 et u1, u2 ≥ 0
Exercice
Lagrangien :
L(u, α) = u21 + u2
2 + α1(2− u1 − 2u2)− α2u1 − α3u2
Minimisation de L(u, α) par rapport a u
∂L∂u1
= 0⇒ u1 =α1 + α2
2
∂L∂u2
= 0⇒ u2 =2α1 + α3
2
Kevin Bailly () Introduction aux SVM 2014-2015 56 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Exercice
Minimiser u21 + u2
2 avec u1 + 2u2 ≥ 2 et u1, u2 ≥ 0
Exercice
On substitue ces valeurs dans le Lagrangien et on obtient :
L(α) = −5
4α2
1 −1
4α2
2 −1
4α2
3 −1
2α1α2 − α1α3 + 2α1
Et on resout ce nouveau probleme d’optimisation quadratique souscontraintes (mais les contraintes sont bien plus simples)
On trouve α1 = α2 = 0 (tous les termes sont negatifs, donc maxlorsqu’ils sont nuls). Et −5
4α21 + 2x est max pour α1 = 4
5
On peut alors retrouver u1 et u2 par substitution : u1 = 25 et u2 = 4
5
Kevin Bailly () Introduction aux SVM 2014-2015 57 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Exercice
Minimiser u21 + u2
2 avec u1 + 2u2 ≥ 2 et u1, u2 ≥ 0
Exercice
On substitue ces valeurs dans le Lagrangien et on obtient :
L(α) = −5
4α2
1 −1
4α2
2 −1
4α2
3 −1
2α1α2 − α1α3 + 2α1
Et on resout ce nouveau probleme d’optimisation quadratique souscontraintes (mais les contraintes sont bien plus simples)
On trouve α1 = α2 = 0 (tous les termes sont negatifs, donc maxlorsqu’ils sont nuls). Et −5
4α21 + 2x est max pour α1 = 4
5
On peut alors retrouver u1 et u2 par substitution : u1 = 25 et u2 = 4
5
Kevin Bailly () Introduction aux SVM 2014-2015 57 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Exercice
Minimiser u21 + u2
2 avec u1 + 2u2 ≥ 2 et u1, u2 ≥ 0
Exercice
On substitue ces valeurs dans le Lagrangien et on obtient :
L(α) = −5
4α2
1 −1
4α2
2 −1
4α2
3 −1
2α1α2 − α1α3 + 2α1
Et on resout ce nouveau probleme d’optimisation quadratique souscontraintes (mais les contraintes sont bien plus simples)
On trouve α1 = α2 = 0 (tous les termes sont negatifs, donc maxlorsqu’ils sont nuls). Et −5
4α21 + 2x est max pour α1 = 4
5
On peut alors retrouver u1 et u2 par substitution : u1 = 25 et u2 = 4
5
Kevin Bailly () Introduction aux SVM 2014-2015 57 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Exercice
Minimiser u21 + u2
2 avec u1 + 2u2 ≥ 2 et u1, u2 ≥ 0
Exercice
On substitue ces valeurs dans le Lagrangien et on obtient :
L(α) = −5
4α2
1 −1
4α2
2 −1
4α2
3 −1
2α1α2 − α1α3 + 2α1
Et on resout ce nouveau probleme d’optimisation quadratique souscontraintes (mais les contraintes sont bien plus simples)
On trouve α1 = α2 = 0 (tous les termes sont negatifs, donc maxlorsqu’ils sont nuls). Et −5
4α21 + 2x est max pour α1 = 4
5
On peut alors retrouver u1 et u2 par substitution : u1 = 25 et u2 = 4
5
Kevin Bailly () Introduction aux SVM 2014-2015 57 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Exercice
Minimiser u21 + u2
2 avec u1 + 2u2 ≥ 2 et u1, u2 ≥ 0
Exercice
On substitue ces valeurs dans le Lagrangien et on obtient :
L(α) = −5
4α2
1 −1
4α2
2 −1
4α2
3 −1
2α1α2 − α1α3 + 2α1
Et on resout ce nouveau probleme d’optimisation quadratique souscontraintes (mais les contraintes sont bien plus simples)
On trouve α1 = α2 = 0 (tous les termes sont negatifs, donc maxlorsqu’ils sont nuls). Et −5
4α21 + 2x est max pour α1 = 4
5
On peut alors retrouver u1 et u2 par substitution : u1 = 25 et u2 = 4
5
Kevin Bailly () Introduction aux SVM 2014-2015 57 / 75
SVM : formulation duale Multiplicateurs de Lagrange
Optimisation quadratique et Multiplicateurs de Lagrange
Conditions de Karush-Kuhn-Tucker (KKT)
Dans le cas d’un probleme d’optimisation comme (1), une condition necessaire etsuffisante d’optimalite d’un point u∗ est l’existence de α∗ tel que :
Admissibilite primale
aTmu ≥ cm ∀m = 1 . . .M
Admissibilite dualeαm ≥ 0 ∀m = 1 . . .M
Complementarite
αm(c − aTmu) = 0∀m = 1 . . .M
Stationarite∇uL(u, α)|u=u∗,α=α∗ = 0
Kevin Bailly () Introduction aux SVM 2014-2015 58 / 75
SVM : formulation duale Application aux SVM
1 Introduction
2 SVM : formulation primaleSVM lineaire a marge dureSVM a marge poreuseSeparations non lineaires
3 SVM : formulation dualeMultiplicateurs de LagrangeApplication aux SVML’astuce du Noyaux (Kernel Trick)
Kevin Bailly () Introduction aux SVM 2014-2015 59 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Retour sur la formulation des SVM
Minimiser 12wTw
s.c . yn(wTxn + b) ≥ 1 ∀n = 1, . . . ,N
Lagrangien de ce probleme d’optimisation :
L(b,w, α) =1
2wTw +
N∑n=1
αn(1− yn(wTxn + b))
L(b,w, α) =1
2wTw −
N∑n=1
αnynwTxn − bN∑
n=1
αnyn +N∑
n=1
αn
Kevin Bailly () Introduction aux SVM 2014-2015 60 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Retour sur la formulation des SVM
Minimiser 12wTw
s.c . yn(wTxn + b) ≥ 1 ∀n = 1, . . . ,N
Lagrangien de ce probleme d’optimisation :
L(b,w, α) =1
2wTw +
N∑n=1
αn(1− yn(wTxn + b))
L(b,w, α) =1
2wTw −
N∑n=1
αnynwTxn − bN∑
n=1
αnyn +N∑
n=1
αn
Kevin Bailly () Introduction aux SVM 2014-2015 60 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Lagrangien de ce probleme d’optimisation
L(b,w, α) =1
2wTw +
N∑n=1
αn(1− yn(wTxn + b))
Interpretation
L doit etre minimise par rapport aux variables primales (b,w) et maximisepar rapport aux variables duales αm
Si la contrainte est satisfaite, i.e. (1− yn(wTxn + b)) ≤ 0 alors αm = 0 (caren augmentant αm, on minimise L ce qui est contraire a l’objectif)
Si la contrainte est violee :
αm va croıtre pour maximiser L(w, b) va decroitre pour que les contraintes soient satisfaites. Si leprobleme est separable, cela garantit que αm < inf
Kevin Bailly () Introduction aux SVM 2014-2015 61 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Lagrangien de ce probleme d’optimisation
L(b,w, α) =1
2wTw +
N∑n=1
αn(1− yn(wTxn + b))
Interpretation
L doit etre minimise par rapport aux variables primales (b,w) et maximisepar rapport aux variables duales αm
Si la contrainte est satisfaite, i.e. (1− yn(wTxn + b)) ≤ 0 alors αm = 0 (caren augmentant αm, on minimise L ce qui est contraire a l’objectif)
Si la contrainte est violee :
αm va croıtre pour maximiser L(w, b) va decroitre pour que les contraintes soient satisfaites. Si leprobleme est separable, cela garantit que αm < inf
Kevin Bailly () Introduction aux SVM 2014-2015 61 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Lagrangien de ce probleme d’optimisation
L(b,w, α) =1
2wTw −
N∑n=1
αnynwTxn − bN∑
n=1
αnyn +N∑
n=1
αn
Minimisation de L par rapport a b,w
∂L∂b = 0 ⇒
∑Nn=1 αnyn = 0
∂L∂w = 0 ⇒ w =
∑Nn=1 αnynxn
Kevin Bailly () Introduction aux SVM 2014-2015 62 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Lagrangien de ce probleme d’optimisation
L(b,w, α) =1
2wTw −
N∑n=1
αnynwTxn − bN∑
n=1
αnyn +N∑
n=1
αn
Minimisation de L par rapport a b,w
∂L∂b = 0 ⇒
∑Nn=1 αnyn = 0
∂L∂w = 0 ⇒ w =
∑Nn=1 αnynxn
Kevin Bailly () Introduction aux SVM 2014-2015 62 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Probleme dual
On remplace les valeurs obtenues dans le Lagrangien et on obtient ?
L(α) = −1
2
N∑n=1
N∑m=1
ynymαnαmxTn xm +N∑
n=1
αn
Le probleme d’optimisation peut alors s’ecrire :
minα∈RN
12
∑Nn=1
∑Nm=1 ynymαnαmxTn xm −
∑Nn=1 αn
s.c .∑N
n=1 ynαn = 0αn ≥ 0
Kevin Bailly () Introduction aux SVM 2014-2015 63 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Probleme dual
On remplace les valeurs obtenues dans le Lagrangien et on obtient ?
L(α) = −1
2
N∑n=1
N∑m=1
ynymαnαmxTn xm +N∑
n=1
αn
Le probleme d’optimisation peut alors s’ecrire :
minα∈RN
12
∑Nn=1
∑Nm=1 ynymαnαmxTn xm −
∑Nn=1 αn
s.c .∑N
n=1 ynαn = 0αn ≥ 0
Kevin Bailly () Introduction aux SVM 2014-2015 63 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Probleme dual
On remplace les valeurs obtenues dans le Lagrangien et on obtient ?
L(α) = −1
2
N∑n=1
N∑m=1
ynymαnαmxTn xm +N∑
n=1
αn
Le probleme d’optimisation peut alors s’ecrire :
minα∈RN
12
∑Nn=1
∑Nm=1 ynymαnαmxTn xm −
∑Nn=1 αn
s.c .∑N
n=1 ynαn = 0αn ≥ 0
Kevin Bailly () Introduction aux SVM 2014-2015 63 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Probleme dual
On remplace les valeurs obtenues dans le Lagrangien et on obtient ?
L(α) = −1
2
N∑n=1
N∑m=1
ynymαnαmxTn xm +N∑
n=1
αn
Le probleme d’optimisation peut alors s’ecrire :
minα∈RN
12
∑Nn=1
∑Nm=1 ynymαnαmxTn xm −
∑Nn=1 αn
s.c .∑N
n=1 ynαn = 0αn ≥ 0
Kevin Bailly () Introduction aux SVM 2014-2015 63 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Exercice
Ecrire le probleme d’optimisation precedent sous la forme d’unprobleme d’optimisation quadratique standard
Le probleme s’ecrit :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
Avec :
Q =
y1y1xT1 x1 . . . y1yNxT1 xNy2y1xT1 x1 . . . y2yNxT2 xN
......
...yNy1xTNx1 . . . yNyNxTNxN
AD =
yT
−yT
IN×N
Kevin Bailly () Introduction aux SVM 2014-2015 64 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Exercice
Ecrire le probleme d’optimisation precedent sous la forme d’unprobleme d’optimisation quadratique standard
Le probleme s’ecrit :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
Avec :
Q =
y1y1xT1 x1 . . . y1yNxT1 xNy2y1xT1 x1 . . . y2yNxT2 xN
......
...yNy1xTNx1 . . . yNyNxTNxN
AD =
yT
−yT
IN×N
Kevin Bailly () Introduction aux SVM 2014-2015 64 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Exercice
Ecrire le probleme d’optimisation precedent sous la forme d’unprobleme d’optimisation quadratique standard
Le probleme s’ecrit :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
Avec :
Q =
y1y1xT1 x1 . . . y1yNxT1 xNy2y1xT1 x1 . . . y2yNxT2 xN
......
...yNy1xTNx1 . . . yNyNxTNxN
AD =
yT
−yT
IN×N
Kevin Bailly () Introduction aux SVM 2014-2015 64 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Exercice
Ecrire le probleme d’optimisation precedent sous la forme d’unprobleme d’optimisation quadratique standard
Le probleme s’ecrit :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
Avec :
Q =
y1y1xT1 x1 . . . y1yNxT1 xNy2y1xT1 x1 . . . y2yNxT2 xN
......
...yNy1xTNx1 . . . yNyNxTNxN
AD =
yT
−yT
IN×N
Kevin Bailly () Introduction aux SVM 2014-2015 64 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Exercice
Ecrire le probleme d’optimisation precedent sous la forme d’unprobleme d’optimisation quadratique standard
Le probleme s’ecrit :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
Avec :
Q =
y1y1xT1 x1 . . . y1yNxT1 xNy2y1xT1 x1 . . . y2yNxT2 xN
......
...yNy1xTNx1 . . . yNyNxTNxN
AD =
yT
−yT
IN×N
Kevin Bailly () Introduction aux SVM 2014-2015 64 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Exercice
A partir de l’exemple jouet precedent (slide 19), calculer QD et AD
Kevin Bailly () Introduction aux SVM 2014-2015 65 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Que fait-on apres ?
On a le probleme d’optimisation quadratique suivant :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
On le trouve le vecteur α∗ a l’aide d’un solver
On calcule le parametre w∗ de l’hyperplan (pas obligatoire)
On calcule le parametre b∗ de l’hyperplan
On a donc la fonction de decision finale suivante :
Kevin Bailly () Introduction aux SVM 2014-2015 66 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Que fait-on apres ?
On a le probleme d’optimisation quadratique suivant :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
On le trouve le vecteur α∗ a l’aide d’un solver
On calcule le parametre w∗ de l’hyperplan (pas obligatoire)
On calcule le parametre b∗ de l’hyperplan
On a donc la fonction de decision finale suivante :
Kevin Bailly () Introduction aux SVM 2014-2015 66 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Que fait-on apres ?
On a le probleme d’optimisation quadratique suivant :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
On le trouve le vecteur α∗ a l’aide d’un solver
On calcule le parametre w∗ de l’hyperplan (pas obligatoire)
On calcule le parametre b∗ de l’hyperplan
On a donc la fonction de decision finale suivante :
Kevin Bailly () Introduction aux SVM 2014-2015 66 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Que fait-on apres ?
On a le probleme d’optimisation quadratique suivant :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
On le trouve le vecteur α∗ a l’aide d’un solver
α∗ ← solveOptiQuad(Qd ,−1,AD , 0)
Les {α∗n} qui sont strictement positifs sont appeles les vecteurssupports α∗sOn calcule le parametre w∗ de l’hyperplan (pas obligatoire)
On calcule le parametre b∗ de l’hyperplan
On a donc la fonction de decision finale suivante :Kevin Bailly () Introduction aux SVM 2014-2015 66 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Que fait-on apres ?
On a le probleme d’optimisation quadratique suivant :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
On le trouve le vecteur α∗ a l’aide d’un solver
On calcule le parametre w∗ de l’hyperplan (pas obligatoire)
On calcule le parametre b∗ de l’hyperplan
On a donc la fonction de decision finale suivante :
Kevin Bailly () Introduction aux SVM 2014-2015 66 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Que fait-on apres ?
On a le probleme d’optimisation quadratique suivant :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
On le trouve le vecteur α∗ a l’aide d’un solver
On calcule le parametre w∗ de l’hyperplan (pas obligatoire)
w∗ =N∑
n=1
ynα∗nxn
On calcule le parametre b∗ de l’hyperplan
On a donc la fonction de decision finale suivante :
Kevin Bailly () Introduction aux SVM 2014-2015 66 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Que fait-on apres ?
On a le probleme d’optimisation quadratique suivant :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
On le trouve le vecteur α∗ a l’aide d’un solver
On calcule le parametre w∗ de l’hyperplan (pas obligatoire)
On calcule le parametre b∗ de l’hyperplan
On a donc la fonction de decision finale suivante :
Kevin Bailly () Introduction aux SVM 2014-2015 66 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Que fait-on apres ?
On a le probleme d’optimisation quadratique suivant :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
On le trouve le vecteur α∗ a l’aide d’un solver
On calcule le parametre w∗ de l’hyperplan (pas obligatoire)
On calcule le parametre b∗ de l’hyperplan
b∗ = ys −w∗Txs= ys −
∑Nn=1 ynαnxTn xs
On a donc la fonction de decision finale suivante :
Kevin Bailly () Introduction aux SVM 2014-2015 66 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Que fait-on apres ?
On a le probleme d’optimisation quadratique suivant :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
On le trouve le vecteur α∗ a l’aide d’un solver
On calcule le parametre w∗ de l’hyperplan (pas obligatoire)
On calcule le parametre b∗ de l’hyperplan
On a donc la fonction de decision finale suivante :
Kevin Bailly () Introduction aux SVM 2014-2015 66 / 75
SVM : formulation duale Application aux SVM
Application aux SVM
Que fait-on apres ?
On a le probleme d’optimisation quadratique suivant :
minα∈RN
12α
TQDα− 1TNα
s.c . ADα ≥ 0N+2
On le trouve le vecteur α∗ a l’aide d’un solver
On calcule le parametre w∗ de l’hyperplan (pas obligatoire)
On calcule le parametre b∗ de l’hyperplan
On a donc la fonction de decision finale suivante :
g(x) = signe(∑α∗n>0
ynα∗nxTn x + b∗)
Kevin Bailly () Introduction aux SVM 2014-2015 66 / 75
SVM : formulation duale Application aux SVM
Exemple
Kevin Bailly () Introduction aux SVM 2014-2015 67 / 75
SVM : formulation duale Application aux SVM
Formulation duale de la SVM a marge poreuse
SVM a marge poreuse dans le primal
minw,b,ξ
12wTw + C
∑Nn=1 ξn
s.c. yn(wTxn + b) ≥ 1−ξn pour n = 1, . . . ,Nξn ≥ 0 pour n = 1, . . . ,N
SVM a marge poreuse dans le dual (sans demonstration)
minα
12α
TQDα + 1Tα
s.c. yTα = 00 ≤ α ≤ C .1
Kevin Bailly () Introduction aux SVM 2014-2015 68 / 75
SVM : formulation duale Application aux SVM
Formulation duale de la SVM a marge poreuse
SVM a marge poreuse dans le primal
minw,b,ξ
12wTw + C
∑Nn=1 ξn
s.c. yn(wTxn + b) ≥ 1−ξn pour n = 1, . . . ,Nξn ≥ 0 pour n = 1, . . . ,N
SVM a marge poreuse dans le dual (sans demonstration)
minα
12α
TQDα + 1Tα
s.c. yTα = 00 ≤ α ≤ C .1
Kevin Bailly () Introduction aux SVM 2014-2015 68 / 75
SVM : formulation duale L’astuce du Noyaux (Kernel Trick)
1 Introduction
2 SVM : formulation primaleSVM lineaire a marge dureSVM a marge poreuseSeparations non lineaires
3 SVM : formulation dualeMultiplicateurs de LagrangeApplication aux SVML’astuce du Noyaux (Kernel Trick)
Kevin Bailly () Introduction aux SVM 2014-2015 69 / 75
SVM : formulation duale L’astuce du Noyaux (Kernel Trick)
Separations non lineaires
Souvenez vous...
Appliquer aux donnees une transformation Φ : Rd → Rd vers un espace deplus grande dimension :
zn = Φ(xn)
Quel impact sur la formulation duale
Kevin Bailly () Introduction aux SVM 2014-2015 70 / 75
SVM : formulation duale L’astuce du Noyaux (Kernel Trick)
Separations non lineaires
Souvenez vous...
Appliquer aux donnees une transformation Φ : Rd → Rd vers un espace deplus grande dimension :
zn = Φ(xn)
Quel impact sur la formulation duale
minα∈RN
12
∑Nn=1
∑Nm=1 ynymαnαmxTn xm −
∑Nn=1 αn
s.c .∑N
n=1 ynαn = 0αn ≥ 0
Kevin Bailly () Introduction aux SVM 2014-2015 70 / 75
SVM : formulation duale L’astuce du Noyaux (Kernel Trick)
Separations non lineaires
Souvenez vous...
Appliquer aux donnees une transformation Φ : Rd → Rd vers un espace deplus grande dimension :
zn = Φ(xn)
Quel impact sur la formulation duale
minα∈RN
12
∑Nn=1
∑Nm=1 ynymαnαmΦ(xn)TΦ(xm)−
∑Nn=1 αn
s.c .∑N
n=1 ynαn = 0αn ≥ 0
Kevin Bailly () Introduction aux SVM 2014-2015 70 / 75
SVM : formulation duale L’astuce du Noyaux (Kernel Trick)
Separations non lineaires
Souvenez vous...
Appliquer aux donnees une transformation Φ : Rd → Rd vers un espace deplus grande dimension :
zn = Φ(xn)
Et la fonction de decision
Kevin Bailly () Introduction aux SVM 2014-2015 71 / 75
SVM : formulation duale L’astuce du Noyaux (Kernel Trick)
Separations non lineaires
Souvenez vous...
Appliquer aux donnees une transformation Φ : Rd → Rd vers un espace deplus grande dimension :
zn = Φ(xn)
Et la fonction de decision
g(x) = signe(∑α∗n>0
ynα∗nxTn x + b∗)
Kevin Bailly () Introduction aux SVM 2014-2015 71 / 75
SVM : formulation duale L’astuce du Noyaux (Kernel Trick)
Separations non lineaires
Souvenez vous...
Appliquer aux donnees une transformation Φ : Rd → Rd vers un espace deplus grande dimension :
zn = Φ(xn)
Et la fonction de decision
g(x) = signe(∑α∗n>0
ynα∗nΦ(xn)TΦ(x) + b∗)
Kevin Bailly () Introduction aux SVM 2014-2015 71 / 75
SVM : formulation duale L’astuce du Noyaux (Kernel Trick)
Kernel Trick
Dans l’espace de resdescription
Dans la formulation precedente (pour l’apprentissage et la decision), leseul calcul qui est realise dans l’espace de redescription Z est un produitscalaire :
Φ(x)TΦ(x′)
Kernel Trick
L’idee est trouver une fonction qui calcule conjointement latransformation et le produit scalaire independamment de d :
KΦ(x, x′) ≡ Φ(x)TΦ(x′)
KΦ est une fonction noyau
Objectif : trouver un moyen de calculer efficacement cette fonction,i.e. sans calculer explicitement la projection dans Z
Kevin Bailly () Introduction aux SVM 2014-2015 72 / 75
SVM : formulation duale L’astuce du Noyaux (Kernel Trick)
Kernel Trick
Dans l’espace de resdescription
Dans la formulation precedente (pour l’apprentissage et la decision), leseul calcul qui est realise dans l’espace de redescription Z est un produitscalaire :
Φ(x)TΦ(x′)
Kernel Trick
L’idee est trouver une fonction qui calcule conjointement latransformation et le produit scalaire independamment de d :
KΦ(x, x′) ≡ Φ(x)TΦ(x′)
KΦ est une fonction noyau
Objectif : trouver un moyen de calculer efficacement cette fonction,i.e. sans calculer explicitement la projection dans Z
Kevin Bailly () Introduction aux SVM 2014-2015 72 / 75
SVM : formulation duale L’astuce du Noyaux (Kernel Trick)
Kernel Trick
Exemple de noyau : le noyau polynomial
Considerons la transformation polynomiale suivante
Φ(x) =
(x1
x2
)→
x21
x22√
2x1x2
Produit scalaire
Φ(x)TΦ(x′) = (x21 , x
22 ,√
2x1x2)
x ′21
x ′22√2x ′1x ′2
= x2
1 x ′21 + x22 x ′22 + 2x1x2x ′1x ′2
= (x1x ′1 + x2x ′2)2
= (xTx)2
Kevin Bailly () Introduction aux SVM 2014-2015 73 / 75
SVM : formulation duale L’astuce du Noyaux (Kernel Trick)
Kernel Trick
Exemple de noyau : le noyau polynomial
Considerons la transformation polynomiale suivante
Φ(x) =
(x1
x2
)→
x21
x22√
2x1x2
Produit scalaire
Φ(x)TΦ(x′) = (x21 , x
22 ,√
2x1x2)
x ′21
x ′22√2x ′1x ′2
= x2
1 x ′21 + x22 x ′22 + 2x1x2x ′1x ′2
= (x1x ′1 + x2x ′2)2
= (xTx)2
Kevin Bailly () Introduction aux SVM 2014-2015 73 / 75
SVM : formulation duale L’astuce du Noyaux (Kernel Trick)
Autres exemples de noyaux
Noyau lineaire : K (x, x′) = xTx′
Noyau polynomial : K (x, x′) = (1− xTx′)p avec p > 0
contient tous les termes du polynome de degre p
Noyau gaussien : K (x, x′) = exp(−||x−x′||2σ2 )2
projection dans un espace de dimension infinie
Kevin Bailly () Introduction aux SVM 2014-2015 74 / 75