0% ont trouvé ce document utile (0 vote)
20 vues5 pages

Classification SVM avec noyau linéaire

Ce document traite de la classification SVM à l'aide d'un noyau linéaire sur un ensemble de données donné. Il décrit les étapes pour tracer les points, identifier les vecteurs de support, et calculer les poids et le biais de l'hyperplan séparateur. Les résultats finaux incluent les valeurs des poids et du biais, ainsi que la confirmation des vecteurs de support.

Transféré par

hassan adnan
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
20 vues5 pages

Classification SVM avec noyau linéaire

Ce document traite de la classification SVM à l'aide d'un noyau linéaire sur un ensemble de données donné. Il décrit les étapes pour tracer les points, identifier les vecteurs de support, et calculer les poids et le biais de l'hyperplan séparateur. Les résultats finaux incluent les valeurs des poids et du biais, ainsi que la confirmation des vecteurs de support.

Transféré par

hassan adnan
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Exercice 3 : Classification SVM (Rattrapage 2019)

Énoncé
Soit l’ensemble de données X = {(x(t) , y (t) ), t = 1, . . . , 6} présenté ci-bas.
     
(1) 7 (1) (2) 10 (2) (3) 13
x = , y = −1, x = , y = −1, x = , y (3) = −1,
5 8 9
     
(4) 8 (4) (5) 6 (5) (6) 2
x = , y = 1, x = , y = 1, x = , y (6) = 1
13 9 10

1. Tracer ces points en deux dimensions.


2. Supposons que l’on veut classer ces données avec un classifieur de type SVM utilisant un noyau
linéaire (K(x, x′ ) = ⟨x, x′ ⟩). Tracez les données de l’ensemble X, les marges géométriques maxi-
males obtenues avec le SVM, l’hyperplan séparateur correspondant, et encerclez les données agissant
comme vecteurs de support.
3. Donnez les valeurs des poids w et biais w0 correspondant au discriminant linéaire maximisant les
marges géométriques tracées en question 2).

* Indice : il n’est pas nécessaire de calculer les αi pour répondre à la question.

Solution
1) Représentation des points en 2D
x2

x(4)

x(6)
x(5) x(3)
(2)
x

x(1)

x1

1
2) SVM avec noyau linéaire
Pour un SVM avec noyau linéaire K(x, x′ ) = ⟨x, x′ ⟩, nous cherchons un hyperplan séparateur de la forme
w · x + w0 = 0 qui maximise la marge géométrique entre les deux classes.
Les données sont linéairement séparables. L’hyperplan séparateur optimal sera celui qui maximise la
distance aux points les plus proches (vecteurs de support).
x2

x(4)

x(6) w · x + w0 = 1
margew
x(5) x(3)
x(2) w · x + w0 = 0

w · x + w0 = −1
x(1)

x1

Comment identifier les vecteurs de support


Dans un problème SVM, les vecteurs de support sont les points qui déterminent directement la position
de l’hyperplan séparateur et les marges. Voici comment nous les identifions pour cet exercice :

1. Définition théorique : Les vecteurs de support sont les points qui satisfont exactement l’équation
w · x + w0 = 1 (pour la classe positive) ou w · x + w0 = −1 (pour la classe négative).
2. Méthode géométrique :
• Nous recherchons les points qui sont les plus proches de la frontière de décision dans chaque
classe.
• Ces points se situent sur les marges et exercent une contrainte active sur la position de
l’hyperplan.
• La distance entre ces points est minimale entre les deux classes.
3. Analyse des données : En examinant les coordonnées de nos points, nous constatons que :
   
10 6
• x(2) = (classe -1) et x(5) = (classe +1) sont les points les plus proches entre les deux
8 9
classes.
• La distance entre ces deux points est minimale par rapport aux autres paires de points de
classes opposées.
4. Vérification par construction :
• L’hyperplan optimal doit être perpendiculaire à la ligne qui relie ces deux points.
• Le vecteur w doit être proportionnel à la différence entre ces deux points : w ∝ (x(2) − x(5) ).

Par conséquent, les vecteurs de support dans cet exercice sont :


 
10
• Pour la classe -1 : x(2) =
8

2
 
6
• Pour la classe +1 : x (5)
=
9

Calcul et vérification des vecteurs support


Pour identifier rigoureusement les vecteurs support dans un problème SVM, nous pouvons suivre une
approche mathématique systématique.

Méthode théorique
Dans un problème SVM linéaire, un point x(i) est un vecteur support si et seulement s’il satisfait ex-
actement l’une des équations des marges :
• w · x(i) + w0 = 1 pour les points de la classe positive (y (i) = 1)
• w · x(i) + w0 = −1 pour les points de la classe négative (y (i) = −1)
Cela équivaut à dire que les vecteurs support sont les points pour lesquels la contrainte d’optimisation
est "active" (égalité stricte).

Approche par calcul direct


Pour identifier les vecteurs support de notre problème :

1. Étape 1 : Calculer le vecteur directeur w


• Identifier les points candidats qui semblent les plus proches entre les deux classes
• Pour des données en 2D et linéairement séparables, il y a généralement un point de chaque
classe qui détermine la marge
2. Étape 2 : Calculer le biais w0
• Utiliser l’équation des marges pour les points candidats
3. Étape 3 : Vérification
• Pour chaque point x(i) du jeu de données, calculer y (i) (w · x(i) + w0 )
• Si ce produit vaut exactement 1, alors x(i) est un vecteur support
• Si ce produit est supérieur à 1, alors x(i) n’est pas un vecteur support

Calcul spécifique pour notre exemple


Dans notre cas, nous avons identifié intuitivement x(2) et x(5) comme vecteurs support potentiels. Nous
allons vérifier cette hypothèse en calculant d’abord w et w0 , puis en validant la propriété des vecteurs
support.
Le vecteur w est perpendiculaire à l’hyperplan séparateur et pointe vers la classe positive. En calculant
:

     
10 6 4
w ∝ x(2) − x(5) = − =
8 9 −1

Par construction, nous savons que :

w · x(2) + w0 = −1
w · x(5) + w0 = 1

En soustrayant ces équations :

w · (x(2) − x(5) ) = −2
 
4
w· = −2
−1

3
Nous pouvons normaliser w pour qu’il satisfasse cette condition :
2
w=− (x(2) − x(5) )
∥x(2) − x(5) ∥2
 
2 4
=− 2
4 + (−1)2 −1
 
2 4
=−
17 −1
 8
− 17
= 2
17

Maintenant, nous calculons w0 en utilisant l’équation pour x(2) :


w · x(2) + w0 = −1
 8  
− 17 10
2 · + w0 = −1
17 8
8 × 10 2 × 8
− + + w0 = −1
17 17
80 16
− + + w0 = −1
17 17
64
− + w0 = −1
17
64
w0 = −1 +
17
−17 + 64
w0 =
17
47
w0 =
17

Vérification des vecteurs support


Maintenant, vérifions
  si x et x sont bien des vecteurs support :
(2) (5)

10
Pour x(2) = de classe y (2) = −1 :
8
 
8 2 47
y (2) (w · x(2) + w0 ) = −1 × − × 10 + ×8+
17 17 17
 
80 16 47
= −1 × − + +
17 17 17
 
−80 + 16 + 47
= −1 ×
17
 
−17
= −1 ×
17
=1
 
6
De même pour x(5) = de classe y (5) = 1 :
9
 
(5) (5) 8 2 47
y (w · x + w0 ) = 1 × − × 6 + ×9+
17 17 17
 
48 18 47
=1× − + +
17 17 17
 
−48 + 18 + 47
=1×
17
 
17
=1×
17
=1

4
Ces calculs confirment que x(2) et x(5) sont bien des vecteurs support, car ils satisfont exactement
l’équation de marge.

Vérification pour les autres points


Pour être rigoureux, nous
  devrions vérifier que les autres points ne sont pas des vecteurs support. Par
7
exemple, pour x =
(1)
avec y (1) = −1 :
5
 
(1) (1) 8 2 47
y (w · x + w0 ) = −1 × − × 7 + ×5+
17 17 17
 
−56 + 10 + 47
= −1 ×
17
 
1
= −1 ×
17
−1
=
17
Cette valeur est négative, ce qui signifie que y (1) f (x(1) ) < 0. Puisque le point est correctement classé,
cela implique f (x(1) ) < 0 pour un point de classe négative, donc x(1) est bien classé mais n’est pas un
vecteur support car il est loin de la marge.

3) Valeurs des poids w et du biais w0


D’après nos calculs précédents, les valeurs finales sont :
 8  
− 17 −0, 47
w= 2 ≈
17 0, 12
47
w0 = ≈ 2, 76
17
L’hyperplan séparateur est donc : − 17
8 2
x1 + 17 17 = 0, ou sous forme simplifiée : −8x1 +2x2 +47 = 0.
x2 + 47

Vous aimerez peut-être aussi