Was passiert, wenn wir eine lineare SVM auf nicht linear trennbaren Daten trainieren?

11

Was passiert, wenn wir eine grundlegende Support-Vektor-Maschine (linearer Kernel und kein Soft-Margin) auf nicht linear trennbaren Daten trainieren? Das Optimierungsproblem ist nicht realisierbar. Was gibt der Minimierungsalgorithmus zurück?

SVM
quelle

Antworten:

11

Ich denke, Basic Support Vector Machine bedeutet SVM mit hartem Rand. Lassen Sie uns also Folgendes überprüfen:

Was ist eine Hard-Margin-SVM ?

Kurz gesagt, wir möchten eine Hyperebene mit dem größten Rand finden, die alle Beobachtungen in unserem Trainingsprobenraum korrekt trennen kann.

Das Optimierungsproblem bei hartem SVM

Was ist angesichts der obigen Definition das Optimierungsproblem, das wir lösen müssen?

  1. Die Hyperebene mit dem größten Rand: Wir wollen max(margin)
  2. In der Lage sein, alle Beobachtungen korrekt zu trennen: Wir müssen margindie Einschränkung optimieren und auch erfüllen: Keine Fehler in der Stichprobe

Was passiert, wenn wir eine lineare SVM auf nicht linear trennbaren Daten trainieren?

Zurück zu Ihrer Frage: Da Sie erwähnt haben, dass der Trainingsdatensatz nicht linear trennbar ist, ist es bei Verwendung von SVM mit hartem Rand ohne Merkmalstransformationen unmöglich, eine Hyperebene zu finden, die "Keine Fehler in der Stichprobe" erfüllt .

Normalerweise lösen wir das SVM-Optimierungsproblem durch quadratische Programmierung, da es Optimierungsaufgaben mit Einschränkungen ausführen kann. Wenn Sie Gradient Descent oder andere Optimierungsalgorithmen verwenden, die die Bedingungen von SVM mit hartem Rand nicht erfüllen, sollten Sie dennoch ein Ergebnis erhalten, aber dies ist keine SVM-Hyperebene mit hartem Rand.

Übrigens wählen wir bei nicht linear trennbaren Daten normalerweise

  • SVM + -Feature-Transformationen mit hartem Rand
  • SVM mit weichem Rand direkt verwenden (In der Praxis erzielen SVM mit weichem Rand normalerweise gute Ergebnisse)
Fansia
quelle
Danke für deine Antwort. Die SVM-Pakete in z. B. R oder Python verwenden also keine quadratischen Programmiermethoden, wenn die Daten nicht linear trennbar sind.
SVM
Ich bin mir nicht sicher, welche SVM-Bibliotheken Sie verwenden. Ich benutze libsvm und verschiedene svm-Tools verwenden möglicherweise verschiedene svm-Löser. Bessere SVM-Löser zu finden, ist ein weiteres Forschungsthema. QP ist der grundlegende Weg, um svm zu lösen.
Fansia