Vous êtes sur la page 1sur 60

Fondements théorétiques en science des données

Machines à vecteurs de support

STT 3795
Guy Wolf
guy.wolf@umontreal.ca

Université de Montréal
Hiver 2023

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 1 / 17


Machines à vecteurs de support

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 2 / 17


Machines à vecteurs de support

c=+

c=−

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 2 / 17


Machines à vecteurs de support



c=+

 c=−


STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 2 / 17
Machines à vecteurs de support



c=+

 c=−


STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 2 / 17
Machines à vecteurs de support

c=+

c=−

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 2 / 17


Machines à vecteurs de support



c=+ 

 c=−

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 2 / 17
Machines à vecteurs de support






c=+ 



 c=−


STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 2 / 17
Machines à vecteurs de support





c=+ 


 c=−


STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 2 / 17
Machines à vecteurs de support
Hyperplan affine

Hyperplan
Un hyperplan de Rn est un sous-espace de dimension n − 1 de cet
espace.

Hyperplan affine
Un hyperplan affine est l’ensemble des vecteurs qui satisfont
wj ~x [j] = b où wj2 = 1.
P P

Le scalaire b détermine la distance de l’origine.


En utilisant les notations vectorielles, on écrit h~
w , ~x i = b où w
~
est le vecteur normal qui détermine l’orientation de l’hyperplan.
R
Les hyperplans affines divisent n en deux parties: > b et < b.

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 3 / 17


Machines à vecteurs de support
Hyperplan affine

Hyperplan
Un hyperplan de Rn est un sous-espace de dimension n − 1 de cet
espace.

Hyperplan affine
~
w
Un hyperplan affine est l’ensembleb des vecteurs qui satisfont
wj ~x [j] = b où wj2 = 1.
P P

Le scalaire b détermine la distance de l’origine.


En utilisant les notations vectorielles, on écrit h~
w , ~x i = b où w
~
est le vecteur normal qui détermine l’orientation de l’hyperplan.
R
Les hyperplans affines divisent n en deux parties: > b et < b.

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 3 / 17


Machines à vecteurs de support
Hyperplan & formulation de la marge




c=+ 



 c=−


STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 4 / 17
Machines à vecteurs de support
Hyperplan & formulation de la marge



h~
w , ~x i > 0

c=+ 

w~
H
Y 0
 h~
w , ~x i < 0
 c=−


STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 4 / 17
Machines à vecteurs de support
Hyperplan & formulation de la marge



h~
w , ~x i ≥ α

c=+  


w~


α 0
H
Y 

 h~
w , ~x i ≤ −α
 c=−


STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 4 / 17
Machines à vecteurs de support
Hyperplan & formulation de la marge

b = h~
w , ~u i 

h~
w , ~x i − b ≥ α

c=+  


w~


α H
Y ~u

 h~
w , ~x i − b ≤ −α
 c=−


STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 4 / 17
Machines à vecteurs de support
Algorithme de base

Entraînement de SVM
Entrées:
Points de données ~x1 , . . . , ~xN ∈ n R
Cibles de classification c1 , . . . , cN ∈ {−1, 1}
Résoudre le problème de la maximisation des marges :
Find max α > 0
w , ~xi i − b) ≥ α
s.t. ci (h~
k~
wk = 1

Sortie: la solution (~
w , b, α)

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 5 / 17


Machines à vecteurs de support
Algorithme de base

Classificateur SVM
Entrées:
Nouveau point de données ~x
La solution (~
w , b, α) de l’entraînement de SVM
Classer selon la valeur de h~
w , ~x i − b:

class is − class is probably +


z }| { z }| {
α
−α | {z } | {z }
class is probably − class is +

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 5 / 17


Machines à vecteurs de support
Optimisation quadratique

Considérons w~α = w ~ /α et bα = h~
wα , ~u i = b/α.
Alors, la contrainte de SVM peut être reformulée comme

w , ~xi i − b) ≥ α ⇔ ci (h~
ci (h~ wα , ~xi i − bα ) ≥ 1

et la taille de la marge devient 2α = 2/ kwα k. Donc on peut


reformuler le problème d’optimisation de SVM comme:

arg minw~ α ,bα k~wα k2 /2


s.t. ∀1≤i≤N ci (h~
wα , ~xi i − bα ) ≥ 1

Évidemment, minimiser k~ wα k2 /2 est équivalent à maximiser α. Avec


cette formulation, on a un critère quadratique avec des contraintes
linéaires. Telles optimisations sont convexes et donnent une solution
unique.
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 6 / 17
Machines à vecteurs de support
Multiplicateurs de Lagrange

Tirée de Wikipedia
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 7 / 17
Machines à vecteurs de support
Multiplicateurs de Lagrange

Tirée de Wikipedia
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 7 / 17
Machines à vecteurs de support
Multiplicateurs de Lagrange

Lagrangien
Compte tenu d’un problème d’optimisation arg min~z f (~z ) s.t.
gj (~z ) = 0, j = 1, . . . , k, sa solution optimale doit être un point
stationnaire de la fonction Lagrangienne
fP (~z , λ1 , . . . , λk ) = f (~z ) − kj=1 λj gj (~z ), i.e., un point où ∇fP = 0.
P

Remarquons que:
Les points stationnaires peuvent être des points cols/selles, pas
seulement des points extrêmes.
∂fP
Comme ∂λ j
= gj , il suffit de considérer les contraintes initiales et
∂fP
∂~z
= 0.
C’est une condition nécessaire, mais pas suffisante.
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 7 / 17
Machines à vecteurs de support
Multiplicateurs de Lagrange

Application des multiplicateurs de Lagrange à:


arg minw~ ,b k~ w k2 /2
s.t. ∀1≤i≤N ci (h~
w , ~xi i − b) ≥ 1
obtient le Lagrangien (primal)
N
1
w k2 −
X
fP (~
w , b, λ1 , . . . , λN ) = k~ w , ~xi i − b) − 1)
λi (ci (h~
2 i=1

~ et b à zéro on obtient:
et ensuite en mettant son gradient p/r à w
N
∂ X
fP = 0 ⇒ w
~ = λi ci ~xi
~
∂w i=1
N
∂ X
fP = 0 ⇒ λi ci = 0
∂b i=1

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 7 / 17


Machines à vecteurs de support
Multiplicateurs de Lagrange

PN
On peut maintenant substituer w ~ = i=1 λi ci ~xi dans les contraintes
linéaires pour obtenir N d’inégalités:
N
X
ci cj h~xi , ~xj iλj − ci b ≥ 1 i = 1, . . . , N
j=1

S’il s’agissait de contraintes d’égalité, nous pourrions résoudre


l’ensemble des équations N + 1 (avec Ni=1 λi ci = 0) dans les vari-
P

ables N + 1 (b, λ1 , . . . , λN ). Cependant, comme il s’agit d’inégalités,


cette approche directe ne s’applique pas ici.
Pour résoudre ce problème, on applique deux techniques
d’optimisation avancées.

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 7 / 17


Machines à vecteurs de support
Dualité et les conditions Karush-Kuhn-Tucker

PN
~ =
Transformation primal-dual: En substituant w i=1 λi ci ~xi dans
le lagrangien primal on obtient:
N N N N
1 X X X X
fP = ci cj λi λj h~xi , ~xj i − ci cj λi λj h~xi , ~xj i + b ci λi + λi
2 i,j=1 i,j=1 i=1 i=1

PN
Ensuite, en utilisant i=1 λi ci = 0 et en simplifiant on obtient le
lagrangien dual:
N N
X 1 X
fD (λ1 , . . . , λN ) = λi − ci cj λi λj h~xi , ~xj i
i=1 2 i,j=1

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 8 / 17


Machines à vecteurs de support
Dualité et les conditions Karush-Kuhn-Tucker

Transformation primal-dual: Trouvez le maximum du dual:


N N
X 1 X
fD (λ1 , . . . , λN ) = λi − ci cj λi λj h~xi , ~xj i
i=1 2 i,j=1

Remarquons que:
Comme le primal, le dual est aussi une forme quadratique
Par contre, il ne dépend pas de w~ , b – seulement des
multiplicateur λ1 , . . . , λN
Alors que le point stationnaire du primal est un minimum, pour
le dual c’est un maximum

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 8 / 17


Machines à vecteurs de support
Dualité et les conditions Karush-Kuhn-Tucker

Transformation primal-dual: Trouvez le maximum du dual:


N N
X 1 X
fD (λ1 , . . . , λN ) = λi − ci cj λi λj h~xi , ~xj i
i=1 2 i,j=1

Conditions KKT: On peut montrer que la solution de la


minimisation originale satisfait pour chaque i = 1, . . . , N :

λi ≥ 0 and w , xi i − b) − 1) = 0
λi (ci (h~

Par conséquent, les w ~ et b peuvent être calculés à partir de


λ1 , . . . , λN ≥ 0 qui maximisent le dual, qui peut lui-même être estimé
numériquement en utilisant la programmation quadratique.
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 8 / 17
Machines à vecteurs de support
Vecteurs de support
Les frontières des marges sont données par h~ w , ~xi i − b = ci = ±1,
donc tout ~xi qui ne repose pas dessus doit avoir λi = 0, puisque
w , ~xi i − b) − 1) = 0. Par ailleurs, comme Ni=1 λi ci ~xi = w
~ 6= 0
P
λi (ci (h~
(sinon les contraintes deviennent ∀i − ci b ≥ 1 et sont violées par une
des classes), certains λi doivent être non nuls.

Vecteurs de support
Les vecteurs de soutien sont les points dans
{~xi |λi 6= 0, i = 1, . . . , N} =
6 ∅, qui se situent tous exactement sur les
frontières de la marge.
Le w~ et le b ne dépendent que des vecteurs de support identifiés.
Toutefois, en raison d’erreurs numériques, ces vecteurs peuvent donner
plusieurs estimations de b, de sorte qu’en pratique, c’est l’estimation
moyenne qui est utilisée.
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 9 / 17
Machines à vecteurs de support
Marge souple

Question: le SVM choisit-il toujours la meilleure marge de sép.?

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 10 / 17


Machines à vecteurs de support
Marge souple

Question: le SVM choisit-il toujours la meilleure marge de sép.?


Exemple

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 10 / 17


Machines à vecteurs de support
Marge souple

Question: le SVM choisit-il toujours la meilleure marge de sép.?


Exemple

Conclusion: des contraintes rigides rendent le SVM décrit sensible


au bruit et aux anomalies!
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 10 / 17
Machines à vecteurs de support
Marge souple

On peut assouplir le modèle SVM en ajoutant des variables ressort


ξ1 , . . . , ξN ≥ 0 et reformuler les contraintes comme:

∀1≤i≤N ci (h~
w , ~xi i − b) ≥ 1 − ξi

Ainsi, dans la classe positive (ci = 1), on obtient h~


w , ~xi i − b ≥ 1 − ξi
et dans la classe négative (ci = −1) on obtient h~ w , ~xi i − b ≤ −1 + ξi .
Les nouvelles contraintes permettent aux points de données de se
situer dans la marge, ou même du « mauvais » côté de la limite de
décision, tandis que le « slack » ξi ≥ 0 quantifie la distance entre xi
et la satisfaction des contraintes initiales.
Semblable au poids de Lagrange λi ≥ 0, lorsque ξi = 0 le point xi est
bien classé loin de la limite de la marge.
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 10 / 17
Machines à vecteurs de support
Marge souple

Les variables de «slack» non seulement rendent SVM plus robuste,


mais elles permettent aussi de classer les données non séparables (ou
non linéairement séparables) :
Exemple

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 10 / 17


Machines à vecteurs de support
Marge souple

Avec les nouvelles contraintes, plusieurs choix d’hyperplans et de


marges peuvent être adaptés pour les satisfaire avec des valeurs de
relâchement appropriées.
Problème: l’objectif initial
d’optimisation de la marge maximale
est insuffisant avec ces contraintes,
car il ne contrôle pas la quantité ou
l’ampleur des erreurs de classification
dans le modèle. Nous pouvons
facilement obtenir une marge large
où la plupart des données sont mal
classées ou se trouvent dans la marge.
Solution: adapter la fonction cible pour minimiser également les
valeurs de relâchement.
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 10 / 17
Machines à vecteurs de support
Marge souple

La formation au SVM à marge souple utilise le problème


d’optimisation suivant, où β est une constante configurable par
l’utilisateur:
w k2 /2 + β Ni=1 ξi
k~
P
arg minw~ ,b,ξ1 ,...,ξN
s.t. ∀1≤i≤N w , ~xi i − b) ≥ 1 − ξi
ci (h~
ξi ≥ 0

L’application des multiplicateurs de Lagrange donne le primal:


N
w k2 /2 + β
X
LP = k~ ξi
i=1
N
X N
X
− w , ~xi i − b) − 1 + ξi ) −
λi (ci (h~ µi ξi
i=1 i=1

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 10 / 17


Machines à vecteurs de support
Marge souple

L’application des multiplicateurs de Lagrange donne le primal:


N
2
X
LP = k~
w k /2 + β ξi
i=1
N
X N
X
− w , ~xi i − b) − 1 + ξi ) −
λi (ci (h~ µi ξi
i=1 i=1
En fixant ∇LP = 0, on obtient:
N N
∂LP X X
=0⇒w
~ [j] − λi ci xi [j] = 0 ⇒ w
~ = λi ci ~xi
∂w~ [j] i=1 i=1
N N
∂LP X X
=0⇒− λi ci ⇒ λ i ci = 0
∂b i=1 i=1
∂LP
= 0 ⇒ β − λi − µi = 0 ⇒ λi + µi = β
∂ξi
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 10 / 17
Machines à vecteurs de support
Marge souple

Ainsi, on obtient le dual:


N N N
1 X X X
LD = λi λj ci cj hxi , xj i + β ξi − λi λj ci cj hxi , xj i
2 i,j=1 i=1 i,j=1
N
X N
X N
X N
X
+b ci λ i + λi − λi ξi − (β − λi )ξi
i=1 i=1 i=1 i=1
N N
X 1 X
= λi − λi λj ci cj hxi , xj i
i=1 2 i,j=1

Ce dual est le même que celui linéairement séparable. Cependant,


dans ce cas, les conditions KKT exigent λi ≥ 0 et µi ≥ 0,
i = 1, . . . , N, donc avec λi + µi = β on obtient des contraintes
0 ≤ λi ≤ β.
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 10 / 17
Machines à vecteurs de support
Marge souple

Finalement, on applique la programmation quadratique pour résoudre:


PN 1 PN
arg maxλ1 ,...,λN i=1 λi − 2 i,j=1 λi λj ci cj hxi , xj i
s.t.∀1≤i≤N 0 ≤ λi ≤ β
PN
i=1 ci λi = 0

Ensuite, on définit µi = β − λi , w ~ = Ni=1 ci λi xi et récupère


P

b, ξ1 , . . . , ξn des conditions KKT qui fournissent un ensemble


suffisant d’équations linéaires:
w , xi i − b) − 1 + ξi ) = 0 and ξi ≥ 0
µi ξi = 0 and λi (ci (h~
Les vecs. de support ici sont situés sur les frontières de marge ou des
points avec ξi > 0 (c-à-d mal classés & à l’intérieur d.l. marge).
Notez que le classificateur résultant n’a pas besoin des variables «slack»
~ et b comme toujours avec le SVM linéaire.
car il n’utilise que w
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 10 / 17
SVM non linéaire
Que faire si les données ne sont pas séparables de manière linéaire ?
Question: Peut-on trouver une frontière de décision non linéaire?

STT
Tirée de 3795 (Guy Wolf)
Wikipedia SVM UdeM - Hiver 2023 11 / 17
SVM non linéaire
Que faire si les données ne sont pas séparables de manière linéaire ?
Question: Peut-on trouver une frontière de décision non linéaire?

Solution: utiliser une transformation x 7→ Φ(x ) des données en une


nouvel espace de représentation où elles sont linéairement séparables.
STT
Tirée de 3795 (Guy Wolf)
Wikipedia SVM UdeM - Hiver 2023 11 / 17
SVM non linéaire
Typiquement, l’augmentation de la dimensionnalité des données non
linéairement séparables peut les transformer en une représentation
linéairement séparable.

Exemple

x∈ R 7→ (x , x 2) ∈ R2
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 11 / 17
SVM non linéaire

Exemple

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 11 / 17


SVM non linéaire

Exemple

Φ(x ) = (x [1], (x [1] + x [2])4 )

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 11 / 17


SVM non linéaire

Exemple

Φ(x ) = (x [1], (x [1] + x [2])4 )

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 11 / 17


SVM non linéaire

Exemple

Φ(x ) = (x [1]2 − x [1], x [2]2 − x [2])

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 11 / 17


SVM non linéaire
Extraction de représentation

En utilisant Φ, le SVM peut être reformulé pour utiliser ces


caractéristiques plutôt que les données originales, qui ne doivent plus
être en n :R arg min ~ ,b
w w k2 /2
k~
s.t. ∀1≤i≤N ci (h~
w , Φ(xi )i − b) ≥ 1

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 12 / 17


SVM non linéaire
Extraction de représentation

En utilisant Φ, le SVM peut être reformulé pour utiliser ces


caractéristiques plutôt que les données originales, qui ne doivent plus
être en n :R arg min ~ ,b
w w k2 /2
k~
s.t. ∀1≤i≤N ci (h~
w , Φ(xi )i − b) ≥ 1

L’optimisation suit les mêmes étapes qu’auparavant, et la


classification tient compte h~
w , Φ(y )i − b pour un nouveau point y .

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 12 / 17


SVM non linéaire
Extraction de représentation

En utilisant Φ, le SVM peut être reformulé pour utiliser ces


caractéristiques plutôt que les données originales, qui ne doivent plus
être en n :R arg min ~ ,b
w w k2 /2
k~
s.t. ∀1≤i≤N ci (h~
w , Φ(xi )i − b) ≥ 1

L’optimisation suit les mêmes étapes qu’auparavant, et la


classification tient compte h~
w , Φ(y )i − b pour un nouveau point y .
Les transformations de représentation peuvent être conçus (p.ex.,
«filter banks» et «scattering») ou apprises des données (p.ex., à
l’apprentissage profond). Cependant, l’extraction des caractéristiques
appropriées n’est pas toujours claire ou pratique.

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 12 / 17


SVM non linéaire
Extraction de représentation

En utilisant Φ, le SVM peut être reformulé pour utiliser ces


caractéristiques plutôt que les données originales, qui ne doivent plus
être en n :R arg min ~ ,b
w w k2 /2
k~
s.t. ∀1≤i≤N ci (h~
w , Φ(xi )i − b) ≥ 1

L’optimisation suit les mêmes étapes qu’auparavant, et la


classification tient compte h~
w , Φ(y )i − b pour un nouveau point y .
Les transformations de représentation peuvent être conçus (p.ex.,
«filter banks» et «scattering») ou apprises des données (p.ex., à
l’apprentissage profond). Cependant, l’extraction des caractéristiques
appropriées n’est pas toujours claire ou pratique.
Question: peut-on utiliser les relations entre les points de données
(p.ex., des distances / similarités / dissimilitudes) au lieu d’utiliser
directement les caractéristiques d’entrée ou d’extraction?
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 12 / 17
SVM non linéaire
L’astuce du noyau

On commence par traiter les produits scalaires comme des relations


entre des points de données, et on considère l’optimisation de u dual
de SVM:
N 1PN
i=1 λi − 2 i,j=1 ci cj λi λj hΦ(xi ), Φ(xj )i
P
arg maxλ1 ,...,λN
s.t. ∀1≤i≤N λi ≥ 0
PN
i=1 ci λi = 0

Notez que cette optimisation ne nécessite pas l’accès à des


caractéristiques explicites, mais seulement à des produits scalaires
hΦ(xi ), Φ(xj )i
Ainsi, les multiplicateurs de Lagrange λ1 , . . . , λN peuvent être
récupérés en utilisant uniquement les produits scalaires des
caractéristiques.
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 13 / 17
SVM non linéaire
L’astuce du noyau

~ = Ni=1 ci λi Φ(xi ), et par conséquent on peut


P
Rappelons que w
reformuler l’extraction de b comme:

w , Φ(xj )i − b) − 1) = 0
λj (cj (h~ λj 6= 0
cj =±1
⇒ cj (h~
w , Φ(xj )i − b) = 1 ====⇒ h~
w , Φ(xj )i − b = cj
N
X
⇒ b = h~
w , Φ(xj )i − cj = ci λi hΦ(xi ), Φ(xj )i − cj
i=1
(N )
X
⇒ b = mean ci λi hΦ(xi ), Φ(xj )i − cj |λj > 0, j = 1, . . . , N
i=1

Donc, b peut également être récupéré en utilisant uniquement les


produits scalaires, sans accès aux caractéristiques elles-mêmes.
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 13 / 17
SVM non linéaire
L’astuce du noyau

La dernière étape de l’algorithme SVM consiste à classer un nouveau


point de données y en testant h~ w , Φ(y )i − b, mais en utilisant encore
~ = Ni=1 ci λi Φ(xi ) on obtient la règle de classification:
P
w

(−∞, −1]

 ⇒ class is −
N

(−1, 0) ⇒ class is probably −
X 
ci λi hΦ(xi ), Φ(y )i − b ∈
i=1




[0, 1) ⇒ class is probably +
[1, ∞) ⇒


class is +

Cette règle ne repose pas sur la récupération de w ~ , donc une fois que
l’on a b et λ1 , . . . , λN la classification peut être faite selon les produits
scalaires, sans exiger de caractéristiques explicites.

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 13 / 17


SVM non linéaire
L’astuce du noyau

Comme le SVM ne repose que sur des produits scalaire, il peut être
reformulé à l’aide d’une fonction de noyau k : X × X → , t.q. R
k(x , y ) = hΦ(x ), Φ(y )i au lieu d’utiliser explicitement Φ.
Il est souvent plus simple de formuler des noyaux que des carac-
téristiques, et ils ne nécessitent pas de connaissance de la dimen-
sionnalité de l’espace de caractéristiques.

Exemple

Pour Φ √
√ R R
: 2 → 6 qui transforme Φ(u) = (u[1]2 , u[2]2 , 2u[1],
2u[2], 2u[1]u[2], 1), on peut utiliser le noyau quadratique
k(x , y ) = (hx , y i + 1)2 = x [1]2 y [1]2 + x [2]2 y [2]2 + 2x [1]y [1] +
2x [2]y [2] + 2x [1]x [2]y [1]y [2] + 1 = hΦ(x ), Φ(y )i sans calculer directe-
ment Φ.

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 13 / 17


SVM non linéaire
Théorème de Mercer et l’espace de Hilbert à noyau reproduisant

Question: comment savoir quelles fonctions peuvent être utilisées


comme noyau sans tenir compte des transformation de
caractéristiques?

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 14 / 17


SVM non linéaire
Théorème de Mercer et l’espace de Hilbert à noyau reproduisant

Question: comment savoir quelles fonctions peuvent être utilisées


comme noyau sans tenir compte des transformation de
caractéristiques?

Le théorème de Mercer
Si k(x , y ) Pest P symétrique, continu et semi-défini positif (c-à-d
n n
∀x1 ,...,xn ∈X ;g∈L2 i=1 j=1
k(xi , xj )g(xi )g(xj ) ≥ 0, où X est l’espace de données et L2
est l’espace des fonctions carrées intégrables sur les données), alors il existe une fonction Φ telle
que k(x , y ) = hΦ(x ), Φ(y )i.

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 14 / 17


SVM non linéaire
Théorème de Mercer et l’espace de Hilbert à noyau reproduisant

Question: comment savoir quelles fonctions peuvent être utilisées


comme noyau sans tenir compte des transformation de
caractéristiques?

Le théorème de Mercer
Si k(x , y ) Pest P symétrique, continu et semi-défini positif (c-à-d
n n
∀x1 ,...,xn ∈X ;g∈L2 i=1 j=1
k(xi , xj )g(xi )g(xj ) ≥ 0, où X est l’espace de données et L2
est l’espace des fonctions carrées intégrables sur les données), alors il existe une fonction Φ telle
que k(x , y ) = hΦ(x ), Φ(y )i.

Un noyau Mercer, avec l’espace ambiant des données, définit un es-


pace préhilbertien. Dans des contextes continus, ces espaces sont con-
nus sous le nom de «reproducing kernel Hilbert spaces (RKHS)»
et sont largement étudiées dans l’analyse fonctionnelle.

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 14 / 17


SVM non linéaire
Kernel SVM

Entraînement du «Kernel SVM»


Entrée:
R
Matrice d’un noyau Mercer K ∈ N×N t.q. Kij = k(xi , xj )
Cibles de classification c1 , . . . , cN ∈ {−1, 1}
Résolvez le problème de maximisation :
N 1 PN
i=1 λi − 2
P
arg maxλ1 ,...,λN i,j=1 ci cj λi λj Kij
s.t. ∀1≤i≤N λi ≥ 0
PN
i=1 ci λi = 0

Calculez: b = mean{ Ni=1 ci λi Kij − cj |λj > 0, j = 1, . . . , N}


P

R
Sortie: les vecteurs de biais b and des poids ~v ∈ N t.q. ~v [i] = ci λi
i = 1, . . . , N
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 15 / 17
SVM non linéaire
Kernel SVM

classificateur « kernel SVM »


Entrée:
R
Nouvelle rangée du noyau ~ky ∈ N t.q. ~ky [i] = k(y , xi )
Les paramètres du modèle b, ~v entraîné
Classez par la valeur de Ni=1 ~v [i]~ky [i] − b:
P

class is − class is probably +


z }| { z }| {
1
−1 | {z } | {z }
class is probably − class is +

Remarquons que cette méthode peut être optimisée pour ne


considérer que les vecteurs de support en éliminant tous les
{i|λi = 0}, donc les ~v et les ~ky peuvent être très clairsemés.
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 15 / 17
SVM non linéaire
Des noyaux populaires

De nombreux noyaux dépendant de tâche ou de données peuvent être


définis, mais le plupart des applications utilisent des noyaux standard
populaires, tels que

Noyau polynomial
Le noyau polynomial est défini par k(x , y ) = (hx , y i + 1)p , pour
certain degré p. Les degrés particuliers comprennent p = 1, qui donne
le SVM linéaire classique, et p = 2, qui donne le noyau quadratique.

Fonction de base radiale (RBF - Radial Basis Function)


 
k2
Un noyau RBF est défini comme k(x , y ) = exp − kx −y
σ 2 , pour
certains σ > 0.
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 16 / 17
SVM non linéaire
Des noyaux populaires

Exemple (Noyau polynomial)

STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 16 / 17


Récapitulation
Le SVM linéaire définit un modèle de classification basé sur un hyperplan et la
marge qui l’entoure.
L’entraînement se fait par l’optimisation pour maximiser la largeur de la
marge.
Le classificateur formé ne dépend que d’un petit nombre de vecteurs de
support.
Le kernel SVM étend ce modèle aux frontières de décision non linéaires.
La formation au SVM ne repose que sur les produits internes aux données,
qui sont remplacés par un noyau Mercer.
Il est également possible de concevoir et d’apprendre des «feature maps»
non linéaires (p.ex., via l’apprentissage profond).
Les noyaux sont choisis et réglés par validation croisée de plusieurs
alternatives.

Enfin, des marges souples peuvent être appliquées à la fois dans les cas linéaires
et non linéaires pour permettre la robustesse au bruit et aux valeurs aberrantes.
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 17 / 17

Vous aimerez peut-être aussi