0% ont trouvé ce document utile (0 vote)
21 vues22 pages

Support Vector Machine

Le document présente les Machines à Vecteurs de Support (SVM), un algorithme d'apprentissage supervisé utilisé pour la classification, la régression et la détection d'anomalies, en mettant l'accent sur leur fonctionnement mathématique, les types de SVM et les applications. Les SVM utilisent des fonctions noyaux pour projeter des données non linéaires dans des espaces de dimensions supérieures, permettant ainsi une séparation optimale des classes. Bien que puissants, les SVM peuvent être limités par leur coût computationnel sur de grands ensembles de données et nécessitent une attention particulière lors du choix des hyper-paramètres.

Transféré par

f.mairik1801
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)
21 vues22 pages

Support Vector Machine

Le document présente les Machines à Vecteurs de Support (SVM), un algorithme d'apprentissage supervisé utilisé pour la classification, la régression et la détection d'anomalies, en mettant l'accent sur leur fonctionnement mathématique, les types de SVM et les applications. Les SVM utilisent des fonctions noyaux pour projeter des données non linéaires dans des espaces de dimensions supérieures, permettant ainsi une séparation optimale des classes. Bien que puissants, les SVM peuvent être limités par leur coût computationnel sur de grands ensembles de données et nécessitent une attention particulière lors du choix des hyper-paramètres.

Transféré par

f.mairik1801
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

Module : Intelligence Artificielle - année 2024/2025

Support Vector
Machine
GHAFOURI ISMAIL
BOULALA YOUSSEF
ELCADI ASSIA
BENZAKOUR YOUSSEF
BENABBOU YAHIA MOHAMED
Sommaire
01 Introduction 05 Kernel Trick

02 Concept de base 06 Visualisation SVM

03 Types de SVM 07 Exemples d’application & TP

04 Fonctionnement mathématique 08 Conclusion


01 Overview and Core Concepts of SVM

Le SVM (Support Vector Machine) Son principal objectif est de trouver


est un algorithme d'apprentissage l'hyperplan optimal qui sépare les
supervisé utilisé pour les tâches de points de données en classes avec
classification, régression et détection une marge maximale.
d'anomalies.
Difinition Objectif

Le SVM est capable de séparer les Le SVM est largement utilisé dans
données, qu'elles soient linéairement des domaines tels que la
ou non linéairement séparables, classification de texte et d’images, la
grâce à des fonctions noyaux qui détection de spam et la détection
projettent les données dans des d’anomalies.
Classification espaces de dimensions supérieures Applications
02 Support Vector Machine Terminology

Hyperplan : La frontière de décision qui sépare les points de données appartenant à des classes
différentes dans un espace de caractéristiques, représentée par wx+b=0 pour une classification
linéaire.
Vecteurs de support et marge : Les vecteurs de support sont les points les plus proches
de l’hyperplan, et la marge correspond à la distance entre ces points et l’hyperplan.
L’objectif du SVM est de maximiser cette marge pour une meilleure performance de
classification.
Noyau (Kernel) : Une fonction mathématique qui projette les données dans un espace de
dimensions supérieures, permettant au SVM de gérer des données non linéairement
séparables. Les noyaux courants incluent linéaire, polynomial, RBF et sigmoïde.
Marges (rigide et souple) : La marge rigide sépare parfaitement les classes sans erreur,
tandis que la marge souple tolère des erreurs grâce à des variables de relâchement,
équilibrant la maximisation de la marge et l'exactitude de la classification.
Régularisation et perte : Le paramètre C contrôle le compromis entre la taille de la marge
et les erreurs de classification, tandis que la perte de charnière (hinge loss) pénalise les
points mal classés et les violations de la marge.
03 Types de SVM

1. SVM linéaires
Les SVM linéaires sont utilisés lorsque les données sont linéairement séparables, c'est-à-dire qu'une
simple droite (ou hyperplan dans un espace à plusieurs dimensions) peut diviser les données de différentes
classes.
2. SVM non linéaires

Lorsque les données ne sont pas linéairement séparables, les SVM utilisent des
kernels pour transformer les données dans un espace de dimension plus élevée,
où elles deviennent séparables. de 2 dimensions
par exemple : surface courbe (au lieu d'une ligne droite) pourrait parfaitement séparer les points

Polynomial Kernel : Transforme les données en fonction d’un polynôme


Ce noyau transforme les données en les élevant à une puissance d
d’ordre donné. permettant ainsi de trouver une frontière plus complexe .Fonction noyau : K(x,xp )=(x*xp+c)^d
RBF (Radial Basis Function) Kernel : Un kernel gaussien souvent utilisé pour
capturer des relations complexes. K(x,xp)=exp(yxxp^2)
Sigmoid Kernel : Fonction sigmoïde pour certains types de données
Fonction noyau :K(x,xp)=tanh( ax*xp+c)
03 Types de SVM

3. SVM pour la classification


Ces SVM divisent les données en deux classes (classification binaire) ou plusieurs classes (classification multi-
classes).
Binaire : Directement basé sur un hyperplan séparateur.
Multi-classes : Approches populaires :
One-vs-One (OvO) : Chaque paire de classes est comparée, et les résultats sont combinés.
One-vs-All (OvA) : Une classe est comparée à toutes les autres.
03 Types de SVM

4. SVM pour la régression (SVR - Support Vector Regression)


Les SVM peuvent également être utilisés pour des tâches de régression. Au lieu de chercher un hyperplan qui
sépare les classes, le modèle vise à trouver une fonction qui prédit une valeur continue avec une marge d’erreur
définie. Supposons que vous souhaitiez prédire la prix des maisons en fonction de diverses caractéristiques (surface, nombre de chambres, etc.). Un SVM de régression serait
utilisé pour trouver une fonction qui prévoit ce prix, tout en tolérant une certaine marge d'erreur.

5. SVM structurés
Ces SVM sont adaptés aux problèmes où les sorties sont des objets structurés comme des séquences, des
graphes ou des chaînes de caractères.

6. SVM à soft margin (marge souple)


Utilisés lorsque les données comportent des erreurs ou du bruit. Ils permettent quelques erreurs de classification
pour maximiser la généralisation du modèle.
Paramètre clé : C, qui contrôle la pénalité pour les erreurs.
Un petit C favorise la généralisation, tandis qu’un grand C favorise la précision sur l’entraînement .
03 Comparaison entre les types SVM
Type de SVM Cas d'utilisation Avantage principal

Linéaire Données linéairement séparables Simplicité, rapide

Non-linéaire Données complexes, non linéaires Puissant pour des données compliquées

Classification Identifier des catégories discrètes Grande flexibilité

Régression Prédictions de valeurs continues Résultats précis même dans des cas non linéaires

Structuré Sorties complexes (séquences, graphes, etc.) S'adapte à des problèmes spécifiques

Soft Margin Données bruitées Tolérance aux erreurs, robustesse


04 Fonctionnement mathématique des SVM
Les Support Vector Machines (SVM) sont des algorithmes
d’apprentissage supervisé utilisés pour la classification.
Leur objectif est de trouver un hyperplan qui sépare deux classes tout
en maximisant la marge, c’est-à-dire la distance entre l’hyperplan et les
points de données les plus proches.

Définition de l’hyperplan :
La marge est la distance entre l’hyperplan et les points de données les plus
proches.

Formule :

Objectif : Trouver l’hyperplan qui maximise cette marge.


04 Problème primal w : Vecteur normal à
l’hyperplan.
b : Biais, ajuste la position de
l’hyperplan.

Fonction à minimiser :

Contraintes :

yi​est la classe (+1 ou -1) et xi​est un point de données.


Minimiser revient à maximiser la marge.
04 Formulation duale
Pourquoi un problème dual ? Simplifie le calcul et utilise les produits
scalaires des données.
Formulation :

Contraintes :

Seuls les points proches de l’hyperplan (vecteurs de support) ont αi>0.


04 Cas non-séparable
Ajout de variables de relaxation (ξi​) :
Nouvelle contrainte :

ξi​≥0 mesure l’erreur de classification.


Fonction objectif :

où C contrôle le compromis entre marge et erreurs.


04 Fonction noyau
Les données non linéaires sont transformées dans un espace de haute
dimension avec une fonction noyau.

Exemple de noyau :
Linéaire :

Gaussien :

Nouvelle formulation :
04 Importance des vecteurs de support

Les vecteurs de support sont les points qui définissent l’hyperplan.

Fonction de décision :

Un point clé des SVM est qu’ils ne dépendent que des vecteurs de support,
c’est-à-dire les points de données les plus proches de l’hyperplan. Cela rend le
modèle à la fois efficace et interprétable.
05 Kernel Trick
Pourquoi l'utiliser ?
Qu'est-ce que la Kernel Trick ?

Les données réelles sont souvent non linéairement


La Kernel Trick permet de projeter les données dans séparables dans un espace de dimension faible.
un espace de dimension plus élevée sans avoir à La Kernel Trick permet de "transformer" ces données
dans un espace de dimension plus élevée où une
calculer explicitement les nouvelles coordonnées.
séparation linéaire devient possible.
En utilisant des fonctions "kernel", nous pouvons
obtenir une représentation plus complexe des Principe

données, permettant de séparer des données non


L'idée est de calculer les produits scalaires dans cet
linéairement séparables dans l'espace d'origine.
espace de dimension plus élevée sans avoir à effectuer la
transformation explicite des données.
Fonction kernel : Un kernel est une fonction qui calcule un
produit scalaire dans un espace de plus grande dimension
sans avoir à réaliser cette transformation.
05 Kernel Trick
Exemple de fonction kernel : Le RBF Kernel Autre example

L'un des kernels les plus utilisés est le Radial Basis


Function (RBF), également appelé Gaussian kernel. Il
est défini par :
K(xi,xj)=exp⁡(−γ ||xi−xj||^2)
Où :
||xi−xj||^2 est la distance euclidienne entre les
points xi​et xj​.
γ est un paramètre de la fonction RBF qui
contrôle l'ampleur de l'influence de chaque point.
Utilisation pratique dans le SVM

Pourquoi RBF ?
Le SVM avec kernel permet de trouver la frontière de
Ce kernel est très efficace pour des séparations non séparation optimale (hyperplan) dans cet espace
linéaires complexes, et il est capable de capturer des projeté, en maximisant la marge entre les classes
relations complexes entre les données.
06 Visualisation SVM
SVM avec données linéairement SVM avec données linéairement
non séparables séparables avec Kernel
06 Visualisation SVM
SVM avec données non
linéairement séparables Comparaison entre les
deux modèles

Sans kernel : Le SVM trouve un hyperplan


linéaire pour séparer les classes.
Avec kernel RBF : Le SVM transforme les
données dans un espace de dimension
supérieure pour pouvoir trouver une séparation
linéaire, même dans des cas non linéaires.
07 Exemples d’application & TP
Détection des visages
01 SVM classifie les parties de l’image en visages et en non-visages et
crée une bordure carrée autour du visage.

Classification des images


L’utilisation de SVM offre une meilleure précision de recherche pour la
02
classification des images. Il offre une meilleure précision par rapport
aux techniques de recherche traditionnelles basées sur des requêtes.
SVM
Reconnaissance de l’écriture manuscrite
03
Reconnaître les caractères manuscrits largement utilisés.

Bio-informatique
Comprend la classification des protéines et la classification du
04
cancer. Le SVM est utilisé pour identifier la classification des gènes,
des patients sur la base de gènes et d’autres problèmes biologiques.
! Voyons l’énoncé TP !
08 Conclusion

Les Machines à Vecteurs de Support (SVM) sont des algorithmes puissants et polyvalents pour la classification
et la régression, particulièrement efficaces sur des données de taille modérée et bien séparées. Leur
capacité à utiliser des noyaux (linéaire, polynomial, RBF, etc.) permet de gérer à la fois des problèmes
linéaires et non linéaires en projetant les données dans des espaces de dimension supérieure.
Malgré leurs performances remarquables, les SVM peuvent présenter certains inconvénients :
Ils deviennent moins performants sur de très grands ensembles de données en raison de leur coût
computationnel élevé.
Le choix des hyper-paramètres (C, type de noyau, etc.) et la gestion des données déséquilibrées
nécessitent une attention particulière.

En pratique, les SVM sont idéaux pour des tâches nécessitant une séparation claire entre les classes, et leur
compréhension approfondie constitue une base solide pour explorer des algorithmes plus complexes comme
les réseaux neuronaux.

Vous aimerez peut-être aussi