• Aucun résultat trouvé

SVM - Séparateur à Vaste Marge

L’abbréviation SVM signifie originellement "Support Vector Machine" et se traduit naturellement par "Ma-chine à vecteur de support", ou plus spécifiquement "Séparateur à Vaste Marge". Il s’agit d’une famille de méthodes de classification très puissantes et adaptées pour un grand nombre de cas de figures. Les variantes décrites ci-dessous permettent de classifier des données linéairement séparables, disjointes ou avec recouvrement, ou non linéairement séparables. On présentera ici ces méthodes pour des variables binaires, pouvant donc être classées selon deux catégories.

6.3.1 Cas linéairement séparable : SVM à marge rigide

La Figure 6.4 présente un ensemble de données D = {x(i)

j , 1 ≤ j ≤ 2; y(i)}(1 ≤ i ≤ n), appartenant à deux

classes (× pour les étiquettes -1 et + pour les +1), "linéairement séparables", c’est-à-dire qu’il est possible de séparer/classer ces données en définissant une frontière linéaire : dans R2, cette frontière est une droite, comme sur la figure, et dans Rp, cette frontière serait un hyperplan de dimension p − 1.

La Figure 6.4 (gauche) montre qu’il est souvent possible de définir plusieurs frontières (en fait, une infinité) qui divisent effectivement l’ensemble des données mais qui passent plus ou moins près de certaines données. Pour chacune de ces frontières, qu’on appellera "séparateur", on peut définir une "marge", qui est la distance entre le séparateur et la donnée la plus proche. Cette donnée la plus proche peut appartenir à l’une ou l’autre des classes. Un bon séparateur ne devrait pas favoriser l’une ou l’autre des classes et devrait donc être équidistant des deux familles de données. L’idée de base des SVM consiste à optimiser le séparateur pour qu’il maximise la marge sans favoriser l’une ou l’autre des classes.

6.3. SVM - SÉPARATEUR À VASTE MARGE 49 0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10 marge marge

Figure 6.4 – Représentation d’un ensemble de données (linéairement séparables) avec plusieurs séparateurs linéaires (gauche) et le séparateur de marge maximale (droite).

La Figure 6.4 (droite) montre le séparateur optimal qui maximise la marge. Le séparateur H apparaît en trait continu. Il est entouré des deux séparateurs Het H+en pointillés, qui sont équidistants de H et se confondent avec certaines données de la classe négative et de la classe positive (⊗ et ⊕). Ces données particulières sont appelées "vecteurs de support" car ce sont les données, donc des vecteurs dans R2 ou Rp, qui supportent les hyperplans Het H+qui définissent le séparateur et sa marge. La zone entre Het H+est la zone d’indécision.

Mathématiquement, un hyperplan dans Rp est décrit par une équations de la forme :

w1x1+ w2x2+ ... + wnxn+ b = 0 (6.3)

Si on note w le vecteur des poids (aussi appelé vecteur directeur) et x le vecteur [x1 x2 . . . xn]T, cette équation devient :

wTx + b = 0 (6.4)

Les degrés de liberté sur w et b permettent alors de définir le séparateur par ses trois hyperplans :      H : wTx + b = 0 H: wTx + b = −1 H+: wTx + b = 1 (6.5) Toutes les données négatives satisfont wTx(i)+b ≤ −1 et toutes les données positives satisfont wTx(i)+b ≥ 1. Toutes les données satisfont donc le fait que le produit de leur étiquette y(i)par leur évaluation par les équations du séparateur wTx(i)+ b est donc positif et même supérieur à 1 : y(i).(wTx(i)+ b) ≥ 1. On peut également calculer la marge, notée γ, du séparateur à partir de w : γ = 1

kwk2.

En pratique, les caractéstiques w et b du séparateur linéaire optimal sont calculées par maximisation de la marge (donc la minimisation de son inverse), soumise à la bonne évaluation du signe des étiquettes :

w, b = arg min

w∈Rp,b∈R 1

2kwk22 soumis à y(i).(wTx(i)+ b) ≥ 1 (1 ≤ i ≤ n) (6.6) La présence du facteur 1

2 et du carré sur kwk2

2 ne sont pas nécessaires mais simplifient la réécriture du problème sous sa forme duale, qui est ici plus simple à résoudre (Azencott, 2019).

Ce problème d’optimisation ne possède de solutions que si les données sont linéaires séparables et donc totalement disjointes.

6.3.2 Cas non linéairement séparable : SVM à marge souple

La Figure 6.5 présente deux classes de données non linéairement séparables, et un séparateur linéaire. Les symboles × et + représentent les données correctement classées. Les symboles ⊗ et ⊕ représentent les vecteurs de support sur lesquels s’appuient Het H+. Dans la zone d’indécision entre Het H+, les données entourées d’un carré sont mal classifiées. Les données entourées d’un rond sont bien classées mais dans la zone d’indécision : il aurait été possible de choisir un séparateur pour lequel elles n’auraient pas été dans la zone d’indécision, mais sa marge aurait été beaucoup plus petite.

Le séparateur à marge souple commet donc inévitablement des erreurs car certaines données ne peuvent pas être classées linéairement. L’optimisation de son réglage est donc un compromis entre la maximisation de

0 1  3  5 6 7 8 9 1    6 8 1

Figure6.5 – Représentation d’un ensemble de données (non linéairement séparables).

la marge et la minimisation du coût qu’on accepte de payer pour les erreurs qu’il commet. Le critère global à minimiser prend donc la forme générale :

w, b = arg min w∈Rp,b∈R 1 2kwk22+ C n X i=1 L  wTx(i)+ b, y(i) ! (6.7) où C est un hyperparamètre pour pondérer le poids relatif de la marge et du coût des mauvaise classifications, et

L() est une fonction de coût qui dépend de l’étiquette vraie de la donnée y(i)et de l’estimation de cette étiquette

wTx(i)+b. L’hyperparamètre C donne de la souplesse dans la pondération des deux effets, d’où le nom de "marge souple". La fonction de coût L doit défavoriser les mauvaises classifications sans que les classifications correctes n’impactent le critère, c’est donc généralement une fonction asymétrique : pour une classification binaire, la prédiction est fausse quand y(i)et wTx(i)+ b sont de signes opposés, donc quand leur produit est négatif. Une constante est ajoutée pour tenir compte de la zone d’indécision. On utilise souvent l’erreur "hinge" :

L  wTx(i)+ b, y(i)  = Lhinge  wTx(i)+ b, y(i)  = max  0; 1 − y(i)(wTx(i)+ b)  (6.8)

6.3.3 Cas non-linéaire : SVM à noyau

Dans beaucoup de cas, la frontière entre les classes ne peut pas être approximée par un séparateur linéaire. La Figure 6.6 présente des données non linéairement séparables (◦ et +), soit dans leur espace original (x1; x2) (gauche), soit dans un espace de redescription plus adapté (x2

1; x2

2) (droite). Alors que les données ne sont pas linéairement séparables dans l’espace original, on voit immédiatement qu’elles sont linéairement séparables dans l’espace de redescription. La classification peut donc être réalisée dans l’espace de redescription.

- - 0  x - - 0  0 0    x  0 0   

Figure6.6 – Représentation d’un ensemble de données (non linéairement séparables), présentées dans l’espace original des variables x1 et x2(gauche) et dans un espace de redescription x2

1 et x2 2.

Pour cet exemple, le changement d’espace, depuis l’espace original vers l’espace de redescription, se fait par une application :

φ(x) : R2 → R2

(x1; x2) → (x2 1; x2

6.4. ARBRES DE DÉCISION 51

Documents relatifs