Vous êtes sur la page 1sur 9

Rapport de :

Support Vector Machine

Elaboré par :
Yesmine Abdennadher

Groupe :
INDP2E

Année universitaire :
2021/2022

1
Bibliographie
1. Introduction
Parmi les méthodes à noyaux, inspirées de la théorie statistique de l’apprentissage de
Vladimir Vapnik, les Machines à Vecteurs de Support (SVM) constituent la forme la plus
connue. SVM est une méthode de classification binaire par apprentissage supervisé, elle fut
introduite par Vapnik en 1995.
Cette méthode est donc une alternative récente pour la classification. Elle repose sur
l’existence d’un classificateur linéaire dans un espace approprié. Puisque c’est un problème
de classification à deux classes, cette méthode fait appel à un jeu de données
d'apprentissage pour apprendre les paramètres du modèle. Elle est basée sur l'utilisation de
fonctions dites noyau (kernel) qui permettent une séparation optimale des données. Dans la
présentation des principes de fonctionnements, nous schématiserons les données par des «
points » dans un plan.

2. Domaine d’application des SVM


Comme nous l’avons vu, les SVM dépendent d’algorithmes d’apprentissage supervisé.
L'objectif de l’utilisation de SVM est de classer correctement les données non visibles. Les
SVM ont de nombreuses applications dans plusieurs domaines.
Certaines applications courantes de SVM sont :
• Détection des visages :
SVM classifie les parties de l’image en visages et en non-visages et crée une bordure carrée
autour du visage.
• Catégorisation du texte et de l’hypertexte :
Les SVM permettent la catégorisation du texte et de l’hypertexte pour les modèles inductifs
et transductifs. Ils utilisent les données de formation pour classer les documents en
différentes catégories. Il catégorise sur la base du score généré, puis compare avec la valeur
de seuil.
• Classification des images :
L’utilisation de SVM offre une meilleure précision de recherche pour la classification des
images. Il offre une meilleure précision par rapport aux techniques de recherche
traditionnelles basées sur des requêtes.
• Bio-informatique :
Comprend la classification des protéines et la classification du cancer. Nous utilisons SVM
pour identifier la classification des gènes, des patients sur la base de gènes et d’autres
problèmes biologiques.

2
• Détection de repli protéique et d’homologie à distance :
Appliquez des algorithmes SVM pour la détection d’homologie à distance de protéines.
• Reconnaissance de l’écriture manuscrite :
Nous utilisons des SVM pour reconnaître les caractères manuscrits largement utilisés.

3. Avantages et inconvénients de SVM


Avantages SVM
- Les SVM sont très bons lorsque nous n'avons aucune idée des données.
- Fonctionne bien avec même des données non structurées et semi-structurées telles
que du texte, des images et des arbres.
- L'astuce du noyau est la vraie force de SVM. Avec une fonction noyau appropriée,
nous pouvons résoudre n'importe quel problème complexe.
Inconvénients SVM
- Choisir une « bonne » fonction du noyau n'est pas facile.
- Long temps de formation pour les grands ensembles de données.

4. Principe de la méthode SVM


L'objectif de l'algorithme de la machine à vecteurs de support est de trouver un hyperplan
dans l'espace à N dimensions (N - le nombre d'entités) qui classe distinctement les points de
données.

Pour séparer les deux classes de points de données, il existe de nombreux hyperplans
possibles qui pourraient être choisis. Notre objectif est de trouver un plan qui a la marge

3
maximale, c'est-à-dire la distance maximale entre les points de données des deux classes.
Maximiser la distance de la marge fournit un certain renforcement afin que les futurs points
de données puissent être classés avec plus de confiance.
- Hyperplans et vecteurs de support

Les hyperplans sont des limites de décision qui aident à classer les points de données. Les points de
données tombant de chaque côté de l'hyperplan peuvent être attribués à différentes classes. De
plus, la dimension de l'hyperplan dépend du nombre de caractéristiques. Si le nombre d'entités en
entrée est de 2, alors l'hyperplan n'est qu'une droite. Si le nombre d'entités en entrée est de 3,
l'hyperplan devient un plan à deux dimensions. Il devient difficile d'imaginer lorsque le nombre de
fonctionnalités dépasse 3.

Les vecteurs de support sont des points de données plus proches de l'hyperplan et qui
influencent la position et l'orientation de l'hyperplan. En utilisant ces vecteurs de support,

4
nous maximisons la marge du classifieur. La suppression des vecteurs de support modifiera
la position de l'hyperplan. Ce sont les points qui nous aident à construire notre SVM.
- Intuition à grande marge
Dans la régression logistique, nous prenons la sortie de la fonction linéaire et écrasons la
valeur dans la plage de [0,1] à l'aide de la fonction sigmoïde. Si la valeur écrasée est
supérieure à une valeur seuil (0,5) nous lui attribuons une étiquette 1, sinon nous lui
attribuons une étiquette 0.
Dans SVM, nous prenons la sortie de la fonction linéaire et si cette sortie est supérieure à 1,
nous l'identifions avec une classe et si la sortie est -1, nous l'identifions avec une autre
classe. Puisque les valeurs de seuil sont changées en 1 et -1 dans SVM, nous obtenons cette
plage de valeurs de renforcement ([-1,1]) qui sert de marge.

- Fonction de coût et mises à jour de gradient


Dans l'algorithme SVM, nous cherchons à maximiser la marge entre les points de données et
l'hyperplan. La fonction de perte qui aide à maximiser la marge est le hinge loss.

Le coût est de 0 si la valeur prédite et la valeur réelle sont de même signe. S'ils ne le sont
pas, nous calculons alors la valeur de la perte. Nous ajoutons également un paramètre de
régularisation à la fonction de coût. L'objectif du paramètre de régularisation est
d'équilibrer la maximisation de la marge et la perte. Après avoir ajouté le paramètre de
régularisation, les fonctions de coût se présentent comme ci-dessous.

Maintenant que nous avons la fonction de perte, nous prenons des dérivées partielles par
rapport aux poids pour trouver les gradients. En utilisant les gradients, nous pouvons mettre
à jour nos poids.

5
Lorsqu'il n'y a pas de mauvaise classification, c'est-à-dire que notre modèle prédit
correctement la classe de notre point de données, nous n'avons qu'à mettre à jour le
gradient à partir du paramètre de régularisation.
Lorsqu'il y a une erreur de classification, c'est-à-dire que notre modèle se trompe sur la
prédiction de la classe de notre point de données, nous incluons la perte avec le paramètre
de régularisation pour effectuer la mise à jour du gradient.

Implémentation SVM en Python


 Importation des bibliothèques

 La classe SVM

6
 Le programme principal
- En 2 dimensions :

- En 3 Dimensions

7
- En 3 dimensions

La manœuvre du noyau polynomial permet aux machines à vecteurs de support, de bien


fonctionner avec des données non linéaires. L'idée est de mapper les données dans un
espace de grande dimension dans lequel elles deviennent linéaires, puis d'appliquer une
SVM simple et linéaire.

8
Conclusion
Dans la méthode SVM, avoir des dimensions a 2 ou 3 est assez simple. Plus le nombre de
dimensions augmente plus que la visualisation devient difficile.
Ajoutant que pour la méthode SVM non linéaire on doit travailler avec la fonction noyau.
Cette fct exige une grande précision, en fait le choix de cette fonction doit être bon sinon on
tombe dans des erreurs.

Vous aimerez peut-être aussi