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 concrètes.
La Machine à Vecteurs de Support (SVM) est un algorithme d'apprentissage supervisé puissant et polyvalent utilisé à la fois pour les tâches de classification et de régression. À la base, une SVM trouve un hyperplan optimal ou une limite de décision qui sépare le mieux les points de données en différentes classes. Ce qui rend la SVM particulièrement efficace, c'est son objectif de maximiser la marge—la distance entre l'hyperplan de séparation et les points de données les plus proches de chaque classe. Ce principe, détaillé dans l'article fondateur de Cortes et Vapnik, contribue à améliorer la capacité de généralisation du modèle, le rendant moins sujet au surapprentissage.
L'algorithme fonctionne en traçant chaque élément de données comme un point dans un espace n-dimensionnel (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.
Les SVM sont efficaces dans de nombreux domaines, en particulier pour les problèmes avec des données de haute dimension.
Comparés aux algorithmes plus simples comme la régression logistique, les SVM visent à maximiser la marge plutôt que de simplement trouver une limite de séparation, ce qui peut conduire à une meilleure généralisation. Contrairement aux méthodes basées sur les arbres telles que les arbres de décision ou les forêts aléatoires, les SVM construisent un seul hyperplan optimal (éventuellement dans un espace de haute dimension). Alors que les modèles modernes d'apprentissage profond comme Ultralytics YOLO excellent dans l'extraction de caractéristiques automatique à partir de données brutes (comme les pixels en vision par ordinateur (CV)), les SVM nécessitent souvent une ingénierie des caractéristiques minutieuse, mais peuvent très bien fonctionner 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 pouvez trouver 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 SVM ne soit généralement pas au cœur des frameworks CV modernes comme PyTorch ou TensorFlow, il peut être intégré dans des flux de travail plus larges. L'entraînement et la gestion de ces modèles, ainsi que de divers autres, peuvent être rationalisés à l'aide de plateformes comme Ultralytics HUB, qui simplifie le cycle de vie MLOps de l'annotation des données au réglage des hyperparamètres et au déploiement final du modèle.