EMZETT.
Login

Support Vector Machines (SVM)

Kurz: Eine Support Vector Machine trennt zwei Klassen mit einer Linie (oder Ebene) so, dass der Abstand zu den nächsten Punkten beider Klassen möglichst groß ist. Mit dem Kernel-Trick trennt sie auch Daten, die nicht gerade trennbar sind.

Die Grundidee

Viele Linien trennen zwei Punktwolken. Die SVM wählt die mit dem größten Rand (Margin). Nur die Punkte nahe der Grenze, die Stützvektoren (Support Vectors), bestimmen die Linie. Alle anderen Punkte sind egal.

Weiche Grenze

Reale Daten überlappen. Der Parameter C steuert, wie viele Fehler erlaubt sind: kleines C = breiter Rand, mehr Fehler; großes C = jeder Punkt soll stimmen, Gefahr von Überanpassung (Training, Validierung und Test).

Kernel-Trick

Lassen sich Daten nicht gerade trennen (zum Beispiel ein Ring um einen Kreis), rechnet man sie gedanklich in einen höheren Raum um, in dem eine Ebene reicht. Der Kernel (zum Beispiel RBF) liefert die Ähnlichkeiten direkt, ohne den hohen Raum je auszurechnen.

Wann nutzen?

  • Gut bei wenigen bis mittleren Datenmengen und vielen Merkmalen (Texte, Gene).
  • Bei Millionen Zeilen wird das Training langsam, dann sind Entscheidungsbäume und Random Forest oder neuronale Netze meist besser.
  • Skalierung der Merkmale ist wichtig.

Siehe auch: Klassifikation und Regression