Que se passe-t-il lorsque nous formons un SVM linéaire sur des données non linéairement séparables?

11

Que se passe-t-il lorsque nous formons une machine à vecteurs de support de base (noyau linéaire et pas de marge souple) sur des données non linéairement séparables? Le problème d'optimisation n'est pas possible, alors que renvoie l'algorithme de minimisation?

SVM
la source

Réponses:

11

Je pense que la machine vectorielle de support de base signifie SVM à marge dure. Alors, passons en revue:

Qu'est-ce qu'un SVM à marge fixe

En bref, nous voulons trouver un hyperplan avec la plus grande marge qui puisse séparer correctement toutes les observations dans notre espace d'échantillonnage de formation.

Le problème d'optimisation dans SVM à marge dure

Compte tenu de la définition ci-dessus, quel est le problème d'optimisation que nous devons résoudre?

  1. Le plus grand hyperplan de marge: nous voulons max(margin)
  2. Être capable de séparer correctement toutes les observations: nous devons optimiser marginet satisfaire également la contrainte: pas d'erreurs dans l'échantillon

Que se passe-t-il lorsque nous formons un SVM linéaire sur des données non linéairement séparables?

Revenons à votre question, puisque vous avez mentionné que l'ensemble de données de formation n'est pas séparable linéairement, en utilisant SVM à marge dure sans transformations de fonctionnalités, il est impossible de trouver un hyperplan qui satisfait "Aucune erreur dans l'échantillon" .

Normalement, nous résolvons le problème d'optimisation SVM par programmation quadratique, car il peut effectuer des tâches d'optimisation avec des contraintes. Si vous utilisez Gradient Descent ou d'autres algorithmes d'optimisation qui sans satisfaire aux contraintes de SVM à marge dure, vous devriez toujours obtenir un résultat, mais ce n'est pas un hyperplan SVM à marge dure.

Soit dit en passant, avec des données non linéairement séparables, nous choisissons généralement

  • transformations de fonctionnalités SVM + à marge fixe
  • utiliser directement le SVM à marge douce (Dans la pratique, le SVM à marge douce obtient généralement de bons résultats)
fansia
la source
Merci pour votre réponse. Ainsi, les packages SVM dans R ou Python, par exemple, n'utilisent pas de méthodes de programmation quadratique lorsque les données sont séparables de manière non linéaire?
SVM
Je ne sais pas quelles bibliothèques svm vous utilisez. J'utilise libsvm et différents outils svm peuvent utiliser différents solveurs svm. Trouver de meilleurs solveurs svm est un autre sujet de recherche. QP est le moyen de base pour résoudre svm.
fansia