Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
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 concrètes.

La machine à vecteurs de support (SVM) est un algorithme d'apprentissage supervisé robuste et polyvalent. d'apprentissage supervisé robuste et polyvalent, principalement pour les tâches de classification et de régression d'images. Contrairement à certains algorithmes qui se contentent d'ajuster une ligne aux données, un SVM recherche l'hyperplan optimal - une limite de décision - qui sépare le mieux les points de données en différentes classes. de décision - qui sépare au mieux les points de données en différentes classes. La caractéristique déterminante d'un SVM est qu'il s'attache à maximiser la marge, qui est la distance entre la limite de décision et les points de données les plus proches de chaque classe. classe. En donnant la priorité à cette large séparation, le modèle obtient une meilleure généralisation sur des données inédites, ce qui réduit efficacement le risque de surajustement par rapport aux autres modèles. réduisant ainsi le risque de surajustement par rapport aux classificateurs linéaires plus simples.

Mécanismes fondamentaux du SVM

Pour comprendre le fonctionnement d'un SVM, il est utile de visualiser les points de données dans un espace multidimensionnel où chaque dimension représente un attribut ou une caractéristique spécifique.

  • Hyperplan optimal: L'algorithme identifie un plan qui divise l'espace des variables d'entrée. En deux dimensions, il s'agit d'une ligne ; en trois dimensions, d'un plan plat ; et en dimensions supérieures, d'un hyperplan. L'objectif est de de trouver l'hyperplan spécifique qui maintient la distance maximale entre les points de données les plus proches de n'importe quelle classe.
  • Vecteurs de soutien: Il s'agit des points de données spécifiques les plus proches de la limite de décision. Ils sont appelés Ils sont appelés "vecteurs de support" car ils supportent ou définissent essentiellement l'orientation et la position de l'hyperplan. l'hyperplan. Si vous supprimez d'autres points de données, la frontière reste la même, mais le déplacement d'un vecteur de soutien modifie le modèle. le modèle. Vous pouvez en savoir plus sur ces vecteurs dans la documentation SVM de Scikit-learn SVM.
  • L'astuce du noyau: Les données réelles sont rarement linéairement séparables. Les SVM résolvent ce problème en utilisant une technique l'astuce du noyau, qui projette les données dans un espace de dimension supérieure où un séparateur linéaire divise efficacement les classes. séparateur linéaire divise effectivement les classes. Les noyaux courants comprennent la fonction de base radiale (RBF) et les noyaux polynomiaux, ce qui permet au modèle de traiter des données complexes et non linéaires. de traiter des relations complexes et non linéaires souvent rencontrées dans le traitement du langage naturel (NLP) du langage naturel (NLP).

Applications concrètes

Avant l'avènement des architectures modernes architectures modernes d'apprentissage profond, les SVM étaient l'étalon l'étalon-or pour de nombreux problèmes de vision et de reconnaissance des formes.

  • Bioinformatique et santé: Les SVM jouent un rôle essentiel dans l 'IA dans le domaine de la santé, en particulier problèmes de classification tels que la détection d'homologies à distance entre protéines et la classification des cancers basée sur les données d'expression génique des puces à ADN. d'expression génétique. Leur capacité à traiter des données de haute dimension avec peu d'échantillons les rend idéales pour l'analyse d'ensembles de données biologiques complexes. des ensembles de données biologiques complexes.
  • Catégorisation des textes: Dans le domaine de l'analyse de données, les SVM sont largement utilisés pour la catégorisation de textes. dans le domaine de l 'analyse des données, les SVM sont largement utilisés pour la catégorisation de textes et d'hypertextes. pour la catégorisation de textes et d'hypertextes. Ils réduisent considérablement le besoin d'instances d'apprentissage étiquetées dans les contextes de dans le cadre de la classification inductive standard des textes, ce qui les rend efficaces pour des applications telles que la détection des spams et l'analyse des sentiments. l'analyse des sentiments.
  • Reconnaissance de l'écriture manuscrite: Les SVM ont toujours eu des performances exceptionnelles dans les tâches de reconnaissance de chiffres manuscrits, telles que celles que l'on trouve dans la littérature. comme dans l'ensemble de données MNIST. MNIST . Alors que les réseaux neuronaux convolutifs (CNN) les SVM restent pertinents pour les analyses comparatives et les cas où les données d'apprentissage sont limitées. données de formation limitées.

Mise en œuvre d'un classificateur SVM

Bien que les tâches modernes utilisent souvent le Ultralytics YOLO11 pour la détection d'objets de bout en bout, Les SVM restent un outil puissant pour les données structurées ou comme couche de classification finale au-dessus des caractéristiques extraites. Ci-dessous, un exemple concis est un exemple concis utilisant le populaire scikit-learn pour entraîner un classificateur simple.

from sklearn import svm
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split

# Generate synthetic classification data
X, y = make_classification(n_features=4, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

# Initialize and train the Support Vector Classifier
clf = svm.SVC(kernel="linear", C=1.0)
clf.fit(X_train, y_train)

# Display the accuracy on the test set
print(f"Accuracy: {clf.score(X_test, y_test):.2f}")

SVM et algorithmes apparentés

Distinguer les SVM des autres techniques d'apprentissage automatique permet de sélectionner l'outil adéquat pour un projet de modélisation prédictive. projet de modélisation prédictive.

  • Régression logistique: Les deux sont des classificateurs linéaires, mais leurs objectifs d'optimisation diffèrent. La régression logistique maximise la vraisemblance des données observées (probabiliste), tandis que le SVM maximise la marge géométrique entre les classes. des données observées (probabiliste), tandis que les SVM maximisent la marge géométrique entre les classes. Les SVM sont généralement plus Les SVM sont généralement plus efficaces lorsque les classes sont bien séparées, alors que la régression logistique fournit des probabilités calibrées.
  • K-Voisins les plus proches (KNN): Le KNN est un système d'apprentissage non paramétrique, basé sur des instances, qui classe un point en fonction de la classe majoritaire de ses voisins. de ses voisins. En revanche, le SVM est un modèle paramétrique qui apprend une limite globale. Les SVM offrent généralement une latence d'inférence d'inférence plus rapide une fois formés, car ils n'ont pas de données, contrairement au KNN.
  • Arbres de décision: Un arbre de décision divise l'espace de données en régions rectangulaires à l'aide de règles hiérarchiques. Les SVM peuvent créer des limites de décision complexes, complexes et courbes (via des noyaux) que les arbres de décision pourraient avoir du mal à approcher sans devenir trop profonds et enclins à un surajustement. sans devenir trop profonds et enclins à un surajustement.
  • Apprentissage profond (par exemple, YOLO11): Les SVM s'appuient fortement sur l'ingénierie manuelle, où les experts du domaine sélectionnent sélectionnent les entrées pertinentes. Les modèles modernes tels que YOLO11 excellent dans l'extraction l'extraction automatique de caractéristiques directement directement à partir de pixels bruts, ce qui les rend supérieurs pour des tâches complexes telles que la détection d'objets en temps réel et l'analyse de l'image. détection d'objets et la segmentation d'instances.

Pour ceux qui s'intéressent à la théorie fondamentale, l'article original de Cortes et Vapnik (1995) fournit les bases mathématiques des les bases mathématiques des SVM à marge douce utilisés aujourd'hui.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant