Warum ist eine lineare Trennbarkeit in SVM wünschenswert?

8

Geben Sie hier die Bildbeschreibung ein

Bezogen auf das obige Bild kann ein Kreis die beiden Klassen deutlich trennen (linkes Bild). Warum dann so viel Mühe auf sich nehmen, um es einer Funktion zuzuordnen, damit es linear trennbar ist (rechtes Bild)?

Kann jemand bitte erklären? Ich konnte wirklich nichts im Web oder in Youtube-Vorträgen über das Warum finden

Vinita
quelle

Antworten:

5

Nun, das ist die ganze Idee hinter Support-Vektor-Maschinen! svm suchen nach einer Hyperebene, die die Klassen trennt (warum der Name), und das kann natürlich am effektivsten gemacht werden, wenn die Punkte linear trennbar sind (das ist kein tiefer Punkt, es ist eine Zusammenfassung der vollständigen Idee). In dem Beispiel, das Sie zeigen, liegt der Punkt auf konzentrischen Ringringen, die durch keine Ebene getrennt werden können. Wenn Sie jedoch eine neue Variable RADIUS - Abstand vom Zentrum - einführen, erhalten Sie eine vollständige lineare Trennung.

kjetil b halvorsen
quelle
Sie wollen damit sagen, dass die lineare Trennbarkeit von Klassen besser / einfacher ist als die nichtlineare Trennbarkeit?
Vinita
1
Klassen können auf unendlich viele Arten nicht linear trennbar sein, also ist die lineare Trennung eindeutig einfacher zu handhaben! Und das ist die komplette Idee hinter SVM, damit sie besser für Daten funktionieren, die den Annahmen hinter der Methode entsprechen, sollte keine Überraschung sein ...
kjetil b halvorsen
@kjetilbhalvorsen Ich denke, die Schlüsselidee hinter SVM ist der Kernel-Trick, um Zeit für die Berechnung zu sparen. Aber nicht "mit Polynombasiserweiterung".
Haitao Du
1
@ hdx1101 - Der Kernel-Trick macht eine Menge Dinge rechnerisch machbar, aber das ist ein großer Segen für die Implementierung, nicht die Idee hinter der Methode selbst.
Jbowman
2

Warum ist eine lineare Trennbarkeit in SVM wünschenswert?

SVCs sind von Natur aus eine lineare Technik. Sie finden lineare Grenzen, die (so gut wie möglich) verschiedene Klassen trennen. Wenn es keine natürliche lineare Grenze für das Problem gibt, können Sie entweder eine andere Technik verwenden oder SVCs mit transformierten Merkmalen in einen Raum verwenden, in dem es tatsächlich eine lineare Grenze gibt.

Bezogen auf das obige Bild kann ein Kreis die beiden Klassen deutlich trennen (linkes Bild). Warum dann so viel Mühe auf sich nehmen, um es einer Funktion zuzuordnen, damit es linear trennbar ist (rechtes Bild)?

Dies ist ein klassisches Beispiel. Die Datenklassen sind durch einen Kreis getrennt, aber ein SVC kann Kreise nicht direkt finden. Wenn jedoch die Daten , die eine Verwendung transformieren radiale Basisfunktion , dann in dem resultierenden Raum, die Klassen werden durch eine lineare Grenze getrennt.

Ami Tavory
quelle
0

Beantworten Sie Ihre Frage nicht direkt, sondern

Es ist wichtig, den Unterschied zwischen Basiserweiterung und Kernel-Methode / SVM zu berücksichtigen .

  • Wir können Daten mithilfe der Basiserweiterung auf verschiedene Arten "erweitern". Zum Beispiel Polynomexpansion, Splines, Fourier-Reihen usw. Diese Basiserweiterung hat wenig mit SVM, Kernel-Trick zu tun.

  • SVM mit Polynomkernel bietet einen "Recheneffekt", um eine Polynombasiserweiterung durchzuführen. Suchen Sie im Kernel-Trick nach Details.

Haitao Du
quelle
-1

Du hast Recht. Wenn das Feld "linear trennbar" anzeigt, bedeutet dies, dass die Daten "differenzierbar" sein sollten: Es gibt eine Filterfunktion, die Sie dem Dataset überlagern können, um zwei oder mehr unterschiedliche Gruppierungen zu erstellen (mit einer geringen Fehlertoleranz).

Das ist alles. Aber Sie sollten die Akademiker darauf hinweisen, ihre Sprache aufzuräumen.

Marcos
quelle