introduction aux support vector machines (svm) - edu€¦ ·  · 2014-12-09sommaire 1 introduction...

127
Introduction aux Support Vector Machines (SVM) Apprentissage artificiel et reconnaissance des formes evin Bailly [email protected] 2014-2015 evin Bailly () Introduction aux SVM 2014-2015 1 / 75

Upload: haxuyen

Post on 23-May-2018

255 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 2: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 3: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 4: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 5: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 6: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 7: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 8: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 9: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 10: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

Introduction

Algorithme du perceptron

Kevin Bailly () Introduction aux SVM 2014-2015 9 / 75

Page 11: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 12: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 13: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 14: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 15: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 16: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 17: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 18: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 19: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 20: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 21: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 22: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 23: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 24: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 25: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 26: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 27: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 28: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 29: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 30: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 31: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 32: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 33: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 34: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 35: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 36: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 37: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 38: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 39: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 40: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 41: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 42: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 43: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 44: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 45: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 46: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 47: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 48: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 49: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 50: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 51: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 52: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 53: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 54: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 55: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 56: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 57: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

SVM : formulation primale SVM a marge poreuse

SVM a marge poreuse : influence du parametre C

Kevin Bailly () Introduction aux SVM 2014-2015 42 / 75

Page 58: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 59: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 60: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 61: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 62: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 63: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 64: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 65: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 66: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 67: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 68: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 69: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 70: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 71: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 72: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 73: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 74: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 75: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 76: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 77: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 78: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 79: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 80: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 81: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 82: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 83: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 84: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 85: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 86: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 87: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 88: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 89: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 90: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 91: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 92: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 93: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 94: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 95: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 96: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 97: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 98: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 99: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 100: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 101: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 102: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 103: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 104: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 105: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 106: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 107: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 108: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 109: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 110: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 111: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 112: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 113: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

SVM : formulation duale Application aux SVM

Exemple

Kevin Bailly () Introduction aux SVM 2014-2015 67 / 75

Page 114: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 115: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 116: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 117: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 118: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 119: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 120: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 121: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 122: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 123: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 124: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 125: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 126: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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

Page 127: Introduction aux Support Vector Machines (SVM) - edu€¦ ·  · 2014-12-09Sommaire 1 Introduction 2 SVM : formulation primale SVM lin eaire a marge dure SVM a marge poreuse S eparations

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