Glossaire

Machine à vecteurs de support (SVM)

Découvrez la puissance des machines à vecteurs de support (SVM) pour la classification, la régression et la détection des valeurs aberrantes, avec des applications et des informations du monde réel.

La machine à vecteurs de support (SVM) est un algorithme d'apprentissage supervisé puissant et polyvalent utilisé pour les tâches de classification et de régression. À la base, un SVM trouve un hyperplan optimal ou une frontière de décision qui sépare au mieux les points de données en différentes classes. Ce qui rend le SVM particulièrement efficace, c'est son objectif de maximiser la marge, c'est-à-dire la distance entre l'hyperplan de séparation et les points de données les plus proches de n'importe quelle classe. Ce principe, décrit dans l'article fondateur de Cortes et Vapnik, permet d'améliorer la capacité de généralisation du modèle, ce qui le rend moins enclin à la suradaptation.

Fonctionnement des Svms

L'algorithme fonctionne en représentant chaque donnée comme un point dans un espace à n dimensions (où n est le nombre de caractéristiques). La classification est ensuite effectuée en trouvant l'hyperplan qui crée la meilleure séparation entre les classes.

  • Hyperplan: Il s'agit de la limite de décision. Dans un ensemble de données comportant deux caractéristiques, il s'agit d'une ligne ; avec trois caractéristiques, il s'agit d'un plan. Pour plus de caractéristiques, il s'agit d'un hyperplan.
  • Vecteurs de soutien: Il s'agit des points de données les plus proches de l'hyperplan. Ils sont essentiels car ils définissent la marge et leur suppression modifierait la position de l'hyperplan. Une excellente visualisation des vecteurs de support est disponible dans les notes de cours CS229 de Stanford.
  • Marge: La marge est l'écart entre les vecteurs de support et l'hyperplan. L'objectif du SVM est de trouver l'hyperplan qui maximise cette marge, créant ainsi la séparation la plus robuste possible.
  • L'astuce du noyau: Pour les données qui ne sont pas linéairement séparables, les SVM utilisent une technique appelée l'astuce du noyau. Cette méthode puissante consiste à transformer les données dans un espace de dimension supérieure où un séparateur linéaire peut être trouvé sans calculer explicitement les coordonnées des données dans ce nouvel espace. Des noyaux populaires comme la fonction de base radiale (RBF) peuvent gérer des relations non linéaires très complexes. Pour plus de détails, vous pouvez consulter le guide des noyaux de SVM.

Applications dans le monde réel

Les SVM sont efficaces dans de nombreux domaines, en particulier pour les problèmes liés à des données de haute dimension.

  • Bioinformatique: En génomique et en protéomique, les SVM sont utilisés pour classer les protéines et analyser les données d'expression génétique. Par exemple, ils peuvent aider à identifier des sous-types de cancer sur la base de données de microréseaux, une tâche qui implique des milliers de caractéristiques. Ils constituent donc un outil essentiel de l'IA pour les soins de santé.
  • Classification d'images: Avant la domination des réseaux neuronaux profonds, les SVM étaient un modèle très performant pour la classification d'images. Ils ont été utilisés avec succès pour des tâches telles que la reconnaissance de chiffres manuscrits sur des ensembles de données comme le MNIST et la reconnaissance d'objets sur le Caltech-101.
  • Classification de textes: Dans le traitement du langage naturel (NLP), les SVM sont efficaces pour des tâches telles que la détection des spams et l'analyse des sentiments. Ils peuvent gérer efficacement les espaces de caractéristiques à haute dimension créés par les méthodes de vectorisation de texte.

Svm vs. autres algorithmes

Par rapport à des algorithmes plus simples comme la régression logistique, les SVM visent à maximiser la marge plutôt qu'à trouver une limite de séparation, ce qui peut conduire à une meilleure généralisation. Contrairement aux méthodes arborescentes telles que les arbres de décision ou les forêts aléatoires, les SVM construisent un seul hyperplan optimal (éventuellement dans un espace à haute dimension). Alors que les modèles modernes d'apprentissage profond comme Ultralytics YOLO excellent dans l'extraction automatique de caractéristiques à partir de données brutes (comme les pixels dans la vision par ordinateur (CV)), les SVM nécessitent souvent une ingénierie minutieuse des caractéristiques, mais peuvent être exceptionnellement performants sur des ensembles de données plus petits ou des types spécifiques de données structurées où les caractéristiques sont bien définies. Vous trouverez de nombreux ensembles de données de ce type dans le UCI Machine Learning Repository.

Les implémentations populaires incluent LibSVM et le module SVM dans scikit-learn. Bien que le SVM ne soit pas typiquement au cœur des frameworks CV modernes comme PyTorch ou TensorFlow, il peut être intégré dans des flux de travail plus larges. La formation et la gestion de ces modèles, ainsi que d'autres, peuvent être rationalisées à l'aide de plateformes comme Ultralytics HUB, qui simplifie le cycle de vie des MLOps, de l'étiquetage des données à l'ajustement des hyperparamètres et au déploiement final du modèle.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers