Durée: 12 mois
Rubrique: Ingénieur IA
Les Machines à Vecteurs de Support (SVM) sont une classe d'algorithmes d'apprentissage supervisé utilisés pour la classification et la régression. L'idée principale des SVM est de trouver une hyperplan dans un espace de dimension élevée qui sépare les instances de différentes classes avec la plus grande marge possible.
Un hyperplan est défini par l'équation suivante : [ w \cdot x + b = 0 ] où ( w ) est le vecteur normal à l'hyperplan, ( x ) est le vecteur de données, et ( b ) est le biais. L'objectif est de maximiser la distance entre l'hyperplan et les points de données les plus proches de chaque classe, appelés vecteurs de support.
La distance entre l'hyperplan et les vecteurs de support est appelée marge. L'idée est de maximiser cette marge, car une plus grande marge implique un modèle plus robuste et donc moins de risque de surapprentissage (overfitting). Matériellement, cela se traduit par minimiser la fonction suivante : [ L(w,b) = \frac{1}{2} \|w\|^2 ] sous les contraintes : [ yi (w \cdot xi + b) \geq 1 ] pour tout point de données ( xi ) avec son label ( yi ) (où ( y ) vaut 1 ou 1).
Les SVM linéaires fonctionnent bien lorsque les données sont linéairement séparables. Cependant, souvent les données ne sont pas linéairement séparables dans leur forme brute. Pour ces cas, on utilise le truc du noyau (kernel trick), qui consiste à transformer les données originales dans un espace de dimensions supérieures où elles deviennent linéairement séparables.
Parmi les noyaux couramment utilisés, on trouve : Noyau linéaire : ( K(xi, xj) = xi \cdot xj ) Noyau polynomial : ( K(xi, xj) = (xi \cdot xj + c)^d ) Noyau gaussien (RBF) : ( K(xi, xj) = \exp( \gamma \| xi xj \|^2) )
Pour les cas non linéaires, il est aussi possible d’ajouter une variable de pelage (variable slack) pour permettre quelques violations des contraintes de marge maximisée : [ L(w,b,\xi) = \frac{1}{2} \|w\|^2 + C \sum{i} \xii ] où ( \xi ) sont les variables de pelage et ( C ) est un paramètre qui contrôle le compromis entre maximisation de la marge et minimisation de la violation des contraintes.
Les SVM sont puissants et flexibles, rendant leur compréhension et mise en œuvre essentielles pour nombreuses applications de machine learning.