Definition

Qu'est-ce qu'une machine à vecteurs de support (SVM) ?

Les SVM visent à trouver la meilleure ligne possible, ou frontière de décision, qui sépare les points de données de différentes classes. Cette limite est appelée hyperplan lorsque l'on travaille dans des espaces de caractéristiques à haute dimension. L'idée est de maximiser la marge, qui est la distance entre l'hyperplan et les points de données les plus proches de chaque catégorie, ce qui permet de distinguer facilement les classes de données.

Les SVM sont utiles pour analyser des données complexes qu'une simple ligne droite ne peut séparer. Appelés SVM non linéaires, ils y parviennent en utilisant une astuce mathématique qui transforme les données en un espace à plus haute dimension, où il est plus facile de trouver une limite.

Les SVM améliorent la précision prédictive et la prise de décision dans divers domaines, tels que l'exploration de données et l'intelligence artificielle (IA). L'idée principale des SVM est de transformer les données d'entrée en un espace de caractéristiques de dimension supérieure. Cette transformation permet de trouver plus facilement une séparation linéaire ou de classer plus efficacement l'ensemble des données.

Pour ce faire, les SVM utilisent une fonction noyau. Au lieu de calculer explicitement les coordonnées de l'espace transformé, la fonction noyau permet au SVM de calculer implicitement les produits points entre les vecteurs de caractéristiques transformés et d'éviter les calculs coûteux et inutiles pour les cas extrêmes.

Les SVM peuvent traiter des données linéairement séparables et non linéairement séparables. Pour ce faire, ils utilisent différents types de fonctions de noyau, tels que le noyau linéaire, le noyau polynomial ou le noyau de fonction de base radiale (RBF). Ces noyaux permettent aux SVM de capturer efficacement des relations et des modèles complexes dans les données.

Pendant la phase d'apprentissage, les SVM utilisent une formulation mathématique pour trouver l'hyperplan optimal dans un espace de dimension supérieure, souvent appelé l'espace du noyau. Cet hyperplan est crucial car il maximise la marge entre les points de données de différentes classes, tout en minimisant les erreurs de classification.

La fonction noyau joue un rôle essentiel dans les SVM, car elle permet de faire correspondre les données de l'espace des caractéristiques d'origine à l'espace noyau. Le choix de la fonction noyau peut avoir un effet significatif sur les performances de l'algorithme SVM, et le choix de la meilleure fonction noyau pour un problème particulier dépend des caractéristiques des données.

Les fonctions de noyau les plus populaires pour les SVM sont les suivantes :

  • Noyau linéaire. Il s'agit de la fonction de noyau la plus simple, qui permet de faire correspondre les données à un espace de dimension supérieure, dans lequel les données sont linéairement séparables.
  • Noyau polynomial. Cette fonction noyau est plus puissante que le noyau linéaire et peut être utilisée pour cartographier les données dans un espace de dimension supérieure, où les données sont séparables de manière non linéaire.
  • Noyau RBF. Il s'agit de la fonction noyau la plus répandue pour les SVM et elle est efficace pour un large éventail de problèmes de classification.
  • Noyau sigmoïde. Cette fonction noyau est similaire au noyau RBF mais a une forme différente qui peut être utile pour certains problèmes de classification.

Le choix de la fonction noyau pour un algorithme SVM est un compromis entre la précision et la complexité. Les fonctions de noyau les plus puissantes, telles que le noyau RBF, peuvent atteindre une plus grande précision que les fonctions de noyau plus simples, mais elles nécessitent également plus de données et de temps de calcul pour entraîner l'algorithme SVM. Toutefois, les progrès technologiques permettent de réduire ce problème.

Une fois formés, les SVM peuvent classer de nouveaux points de données inédits en déterminant de quel côté de la limite de décision ils se situent. La sortie du SVM est l'étiquette de classe associée au côté de la limite de décision.

Types de machines à vecteurs de support

Les machines à vecteurs de support ont différents types et variantes qui offrent des fonctionnalités spécifiques et répondent à des scénarios de problèmes particuliers. Voici les types de SVM les plus courants et leur importance :

  1. SVM linéaire. Les SVM linéaires utilisent un noyau linéaire pour créer une frontière de décision rectiligne qui sépare les différentes classes. Ils sont efficaces lorsque les données sont linéairement séparables ou lorsqu'une approximation linéaire est suffisante. Les SVM linéaires sont efficaces d'un point de vue informatique et ont une bonne capacité d'interprétation, car la limite de décision est un hyperplan dans l'espace des caractéristiques d'entrée.
  2. SVM non linéaire. Les SVM non linéaires traitent les scénarios dans lesquels les données ne peuvent pas être séparées par une ligne droite dans l'espace des caractéristiques d'entrée. Ils y parviennent en utilisant des fonctions de noyau qui cartographient implicitement les données dans un espace de caractéristiques à plus haute dimension, où une limite de décision linéaire peut être trouvée. Les fonctions de noyau les plus utilisées dans ce type de SVM sont le noyau polynomial, le noyau gaussien (RBF) et le noyau sigmoïde. Les SVM non linéaires peuvent capturer des modèles complexes et atteindre une précision de classification plus élevée que les SVM linéaires.
  3. Régression vectorielle de soutien. Le SVR est une extension du SVM spécialement conçue pour les tâches de régression linéaire. L'objectif du SVR n'est pas de trouver un hyperplan qui sépare les classes, mais plutôt de trouver une fonction qui modélise la relation entre les caractéristiques d'entrée et les valeurs de sortie continues. Le SVR utilise également le concept de marges pour définir la plage d'erreur acceptable.
  4. SVM à une classe. Ce type de SVM est généralement utilisé pour la détection des valeurs aberrantes et des anomalies. En apprenant la fonction de décision pour une seule classe, un SVM à classe unique identifie si les nouveaux points de données appartiennent aux valeurs aberrantes ou à cette classe. Ce type de SVM est utile dans les scénarios où une seule classe est bien définie ou lorsque l'ensemble de données est déséquilibré.
  5. SVM multi-classes. Les SVM sont fondamentalement des classificateurs binaires, mais ils peuvent être entraînés à des tâches de classification multi-classe en utilisant des méthodes telles que One-vs-One (OvO) ou One-vs-All (OvA). Dans la méthode OvA, un SVM distinct est formé pour chaque classe par rapport à toutes les autres classes. En revanche, dans la méthode OvO, un SVM est entraîné pour chaque paire de classes.

Avantages des SVM

Les SVM sont des algorithmes d'apprentissage automatique puissants qui présentent les avantages suivants :

  • Efficace dans les espaces à haute dimension. Les données à haute dimension sont celles pour lesquelles le nombre de caractéristiques est supérieur au nombre d'observations, c'est-à-dire de points de données. Les SVM sont performants même lorsque le nombre de caractéristiques est supérieur au nombre d'échantillons. Ils peuvent traiter efficacement les données à haute dimension, ce qui les rend adaptés aux applications comportant un grand nombre de caractéristiques.
  • Résistance à l'overfitting. Les SVM sont moins sujets à l'overfitting que d'autres algorithmes, tels que les arbres de décision. L'overfitting se produit lorsqu'un modèle est extrêmement performant sur les données d'apprentissage, mais devient trop spécifique à ces données et ne peut pas se généraliser à de nouvelles données. L'utilisation par les SVM du principe de maximisation de la marge permet une bonne généralisation à des données inédites.
  • Polyvalents. Les SVM peuvent être appliqués aux problèmes de classification et de régression. Ils prennent en charge différentes fonctions de noyau, ce qui permet de saisir avec souplesse des relations complexes dans les données. Cette polyvalence rend les SVM applicables à un large éventail de tâches.
  • Efficace en cas de données limitées. Les SVM peuvent donner de bons résultats même lorsque l'ensemble de données d'apprentissage est restreint. L'utilisation de vecteurs de support garantit que seul un sous-ensemble de points de données influence la limite de décision, ce qui peut être avantageux lorsque les données sont limitées.
  • Capacité à traiter des données non linéaires. Les SVM peuvent implicitement traiter des données séparables non linéaires en utilisant des fonctions de noyau. L'astuce du noyau permet aux SVM de transformer l'espace d'entrée en un espace de caractéristiques à plus haute dimension, ce qui permet de trouver des limites de décision linéaires.
  • Mémoire efficace. Les SVM sont économes en mémoire car ils s'appuient sur un sous-ensemble de points d'apprentissage, appelés vecteurs de support, dans leur fonction de décision. Cela permet de réduire la charge de calcul, en particulier lorsqu'il s'agit de grands ensembles de données.
  • Moins sensibles au bruit. Comparés à d'autres classificateurs, les SVM sont moins sensibles aux valeurs aberrantes. Le fait qu'ils se concentrent sur les vecteurs de support minimise l'influence des points de données bruyants, ce qui permet d'obtenir des modèles plus stables.

Inconvénients des machines à vecteurs de support

Bien que les machines à vecteurs de support soient populaires pour les raisons mentionnées ci-dessus, elles présentent également des limites et des problèmes potentiels, notamment les suivants :

  • Intensité de calcul. Les SVM peuvent être coûteux en termes de calcul, en particulier lorsqu'ils traitent de grands ensembles de données. Le temps d'apprentissage et les besoins en mémoire augmentent considérablement avec le nombre d'échantillons d'apprentissage.
  • Sensible à l'ajustement des paramètres. Les SVM ont des paramètres, tels que le paramètre de régularisation et le choix de la fonction noyau. Les performances des SVM peuvent être sensibles à ces paramètres. Un mauvais réglage peut conduire à des résultats sous-optimaux ou à des temps de formation plus longs.
  • Absence de résultats probabilistes. Les SVM fournissent des résultats de classification binaires et n'estiment pas directement les probabilités des classes. Des techniques supplémentaires, telles que la mise à l'échelle de Platt ou la validation croisée, sont nécessaires pour obtenir des estimations de probabilité.
  • Difficulté d'interprétation des modèles complexes. Les SVM peuvent créer des limites de décision complexes, en particulier lorsqu'ils utilisent des noyaux non linéaires. Cette complexité peut rendre difficile l'interprétation du modèle et la compréhension des modèles sous-jacents dans les données.
  • Problèmes d'évolutivité. Les SVM peuvent être confrontés à des problèmes d'évolutivité lorsqu'ils sont appliqués à des ensembles de données extrêmement volumineux. L'entraînement d'un SVM sur des millions d'échantillons peut devenir impraticable en raison des contraintes de mémoire et de calcul.
  • Choix du noyau. Les performances des SVM sont influencées par le choix de la fonction noyau, d'où l'importance de sélectionner la bonne et d'ajuster ses paramètres. Ce processus peut s'avérer difficile et nécessite souvent une expérimentation considérable, car l'utilisation d'un noyau inadapté peut conduire à des performances sous-optimales du modèle.

Vocabulaire important de la machine à vecteur de support

Paramètre C

Le paramètre C est un paramètre de régularisation primaire dans les SVM. Il contrôle le compromis entre la maximisation de la marge et la minimisation des erreurs de classification des données d'apprentissage. Un C plus petit permet davantage d'erreurs de classification, tandis qu'un C plus grand impose une marge plus stricte.

Classification

La classification consiste à classer les choses en différents groupes ou catégories en fonction de leurs caractéristiques, un peu comme si l'on mettait les choses dans des boîtes étiquetées. Le tri des courriers électroniques en catégories "spam" ou "non spam" en est un exemple.

Limite de décision

Une limite de décision est une ligne ou une frontière imaginaire qui sépare différents groupes ou catégories dans un ensemble de données, plaçant les ensembles de données dans des régions différentes. Par exemple, une limite de décision pour les courriels peut classer un courriel contenant plus de 10 points d'exclamation comme "spam" et un courriel contenant moins de 10 points d'exclamation comme "non spam".

Recherche dans la grille

La recherche par grille est une technique utilisée pour trouver les valeurs optimales des hyperparamètres dans les SVM. Elle consiste à rechercher systématiquement un ensemble prédéfini d'hyperparamètres et à évaluer les performances du modèle.

Hyperplan

Dans un espace à n dimensions (c'est-à-dire un espace à plusieurs dimensions), un hyperplan est défini comme un sous-espace à (n-1) dimensions, une surface plane qui a une dimension de moins que l'espace lui-même. Dans un espace à deux dimensions, l'hyperplan est unidimensionnel ou une ligne.

Fonction du noyau

Une fonction noyau est une fonction mathématique utilisée dans l'astuce du noyau pour calculer le produit intérieur entre deux points de données dans l'espace transformé des caractéristiques. Les fonctions noyau les plus courantes sont les fonctions linéaires, polynomiales, gaussiennes (RBF) et sigmoïdes.

Astuce du noyau

Une astuce de noyau est une technique utilisée pour transformer des données de faible dimension en données de dimension supérieure afin de trouver une limite de décision linéaire. Elle permet d'éviter la complexité de calcul qui survient lors de la mise en correspondance explicite des données dans une dimension supérieure.

Marge

La marge est la distance entre la limite de décision et les vecteurs de support. Un SVM vise à maximiser cette marge afin d'améliorer la généralisation et de réduire l'ajustement excessif.

Marge dure

La marge dure est une approche rigoureuse dans laquelle l'algorithme cherche à trouver un hyperplan qui sépare parfaitement les classes sans aucune erreur de classification. Cette approche est efficace lorsque les données sont exemptes de bruit et linéairement séparables.

Marge souple

Une marge souple permet certaines erreurs de classification en intégrant une pénalité pour les erreurs. Cette approche permet de gérer les données bruyantes en équilibrant la maximisation de la marge et la minimisation des erreurs, ce qui permet une meilleure généralisation.

One-vs-All

OvA est une technique de classification multi-classe utilisant des SVM. Elle entraîne un classificateur SVM binaire pour chaque classe, la considérant comme la classe positive et toutes les autres classes comme la classe négative.

Un contre un

OvO est une technique de classification multi-classe utilisant des SVM. Elle entraîne un classificateur SVM binaire pour chaque paire de classes et combine les prédictions pour déterminer la classe finale.

Régression

La régression consiste à prédire ou à estimer une valeur numérique sur la base d'autres informations connues. Cela revient à faire une supposition éclairée sur la base de modèles ou de tendances donnés. Prédire le prix d'une maison en fonction de sa taille, de son emplacement et d'autres caractéristiques en est un exemple.

Régularisation

La régularisation est une technique utilisée pour éviter le sur ajustement dans les SVM. La régularisation introduit un terme de pénalité dans la fonction objective, encourageant l'algorithme à trouver une limite de décision plus simple plutôt que d'ajuster parfaitement les données d'apprentissage.

Vecteur de soutien

Un vecteur de support est un point de données ou un nœud situé le plus près de la limite de décision ou de l'hyperplan. Ces points jouent un rôle essentiel dans la définition de la limite de décision et de la marge de séparation.

Régression vectorielle de soutien

Le SVR est une variante du SVM utilisée pour les tâches de régression. Le SVR vise à trouver un hyperplan optimal qui prédit des valeurs continues, tout en maintenant une marge de tolérance.

Comparaison des SVM avec d'autres classificateurs d'apprentissage supervisé

Les SVM présentent des caractéristiques uniques qui les distinguent des autres classificateurs. Voici une comparaison des SVM avec les classificateurs d'apprentissage supervisé les plus courants.

SVM et arbres de décision

  • Les arbres de décision sont très faciles à interpréter. Ils permettent aux utilisateurs de visualiser facilement le processus de prise de décision.
  • Les SVM sont souvent considérés comme des modèles d'IA à boîte noire, ce qui rend difficile la compréhension de la manière dont les décisions sont prises.
  • Les arbres de décision peuvent traiter naturellement les relations non linéaires.
  • Les SVM nécessitent des fonctions de noyau, ce qui peut ajouter une certaine complexité lorsqu'il s'agit de données non linéaires.
  • Les SVM sont plus performants avec les données de haute dimension et, comparés aux arbres de décision, ils sont moins enclins à l'ajustement excessif.
  • Les arbres de décision sont généralement plus rapides à former et plus faciles à interpréter, en particulier pour les petits ensembles de données.

SVMs vs. régression logistique

  • La régression logistique est un classificateur linéaire et se heurte souvent à des ensembles de données complexes qui ne sont pas linéairement séparables.
  • Les SVM peuvent classer efficacement les données non linéaires, en particulier grâce à l'astuce du noyau.
  • Les SVM ont tendance à être plus performants dans les espaces à haute dimension.
  • La régression logistique peut souffrir d'un sur ajustement dans les espaces à haute dimension, en particulier lorsque le nombre de caractéristiques est élevé par rapport au nombre d'échantillons.

SVM et réseaux neuronaux

  • Les réseaux neuronaux peuvent modéliser des relations très complexes et sont efficaces pour les tâches de reconnaissance d'images et de la parole.
  • Les SVM peuvent être plus efficaces avec des ensembles de données plus petits et sont plus faciles à former dans certains cas, mais ils nécessitent de grandes quantités de données et de ressources informatiques.
  • Les réseaux neuronaux nécessitent généralement des temps d'apprentissage plus longs et davantage de réglages d'hyperparamètres que les SVM, ce qui peut poser problème pour les applications sensibles au facteur temps.
  • Comme mentionné ci-dessus, les SVM sont moins enclins à l'ajustement excessif.
  • Les réseaux neuronaux sont plus souples et plus évolutifs que les SVM.

SVM et Bayes naïf

  • Naive Bayes est un modèle génératif d'IA.
  • Le SVM est un modèle discriminant de l'IA.
  • Naive Bayes fonctionne mieux pour les problèmes simples et de haute dimension. Les SVM excellent dans les scénarios plus complexes où les interactions entre les caractéristiques sont importantes.

Exemples de machines à vecteurs de support

Les algorithmes SVM sont utilisés dans diverses applications dans différents domaines. Voici quelques exemples notables et concrets de SVM :

  • Tâches de classification de texte. Les SVM sont utilisés dans les tâches de catégorisation de texte, telles que la détection des courriels indésirables. En utilisant des techniques telles que la fréquence des termes et la fréquence inverse des documents, les SVM peuvent représenter les données textuelles sous forme de vecteurs à haute dimension, ce qui permet de classer les courriels en tant que spams ou non spams en fonction de leur contenu.
  • Aider à résoudre les problèmes de géo sondage. Le géo sondage est une méthode utilisée pour analyser la structure en couches de la Terre et implique la résolution de problèmes d'inversion, où les données observées aident à déterminer les variables qui les ont générées. Les SVM utilisent des fonctions linéaires et des algorithmes de vecteurs de support pour séparer les données électromagnétiques, en employant des techniques de programmation linéaire pour développer des modèles supervisés. Étant donné la taille relativement petite du problème, la dimensionnalité est également faible et facilite la cartographie efficace de la structure de la planète.
  • Détection des fraudes. Les SVM peuvent être utilisés pour la détection des fraudes et des anomalies, en particulier dans les transactions financières. Les algorithmes SVM sont entraînés sur un ensemble de modèles de transactions normales et étiquetées afin de détecter les valeurs aberrantes ou les transactions frauduleuses. Par exemple, pour détecter une fraude à la carte de crédit, un SVM peut être entraîné sur un ensemble de transactions par carte de crédit marquées comme frauduleuses ou non frauduleuses. Il analyse ensuite les nouvelles transactions par carte de crédit sur la base de ces données d'entraînement afin de déterminer si elles sont potentiellement frauduleuses.
  • Détection faciale. Les SVM sont largement utilisés dans les tâches de classification d'images. Les algorithmes SVM sont formés sur un ensemble d'images étiquetées, qu'ils utilisent ensuite pour classer de nouvelles images. Ils peuvent distinguer différents visages en apprenant les caractéristiques qui les séparent dans un espace à haute dimension, ce qui les rend efficaces pour reconnaître des individus dans des images. Les SVM classent généralement les structures faciales en structures faciales ou non faciales en s'entraînant sur deux classes : les entités faciales (+1) et les entités non faciales (-1).
  • Reconnaissance de la parole. Pour les tâches de reconnaissance vocale, les SVM analysent les caractéristiques audio afin de classer les phonèmes et les mots dans la parole. En s'entraînant sur des ensembles de données étiquetées représentant divers sons de la parole, les SVM permettent au modèle de différencier les différents éléments phonétiques. Ils cartographient ensuite ces caractéristiques dans un espace à haute dimension, ce qui permet une reconnaissance efficace des formes et une plus grande précision dans les systèmes de reconnaissance vocale.
  • Analyse de l'expression génétique. Les SVM sont utilisés en informatique biomédicale pour classer les données d'expression génétique. Par exemple, les SVM peuvent aider à distinguer les différents types de cancer sur la base de leurs profils d'expression génétique, ce qui peut grandement faciliter le diagnostic du cancer et les décisions de traitement.
  • Détection de sténographie. La plupart des organismes de sécurité utilisent des SVM pour détecter si une image numérique est authentique, falsifiée ou contaminée. Les images à haute résolution peuvent dissimuler des données cryptées ou des filigranes, ce qui complique la détection. La meilleure façon de résoudre ce problème est donc d'isoler chaque pixel et de stocker les données dans des ensembles distincts pour l'analyse par SVM.

La qualité des données joue un rôle crucial dans la réussite des modèles d'apprentissage automatique et des projets d'IA. Explorez les différents aspects de la qualité des données et la manière dont elle influence les résultats de ces technologies.

Pour approfondir sur IA appliquée, GenAI, IA infusée