Académique Documents
Professionnel Documents
Culture Documents
STT 3795
Guy Wolf
guy.wolf@umontreal.ca
Université de Montréal
Hiver 2023
c=+
c=−
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=−
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
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
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, α)
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:
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
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
~ 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
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
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
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
λi ≥ 0 and w , xi i − b) − 1) = 0
λi (ci (h~
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
∀1≤i≤N ci (h~
w , ~xi i − b) ≥ 1 − ξi
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?
Exemple
x∈ R 7→ (x , x 2) ∈ R2
STT 3795 (Guy Wolf) SVM UdeM - Hiver 2023 11 / 17
SVM non linéaire
Exemple
Exemple
Exemple
Exemple
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
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.
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 Φ.
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.
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.
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
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.
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