Eine SVM, kurz für Support Vector Machine, ist ein Klassifikator, der eine Grenze zwischen Klassen mit der größtmöglichen Margin wählt. Wenn du wissen willst, was eine SVM ist, dann ist das die Kernidee: Trenne die Gruppen nicht nur, sondern lasse einen möglichst breiten, verlässlichen Abstand zwischen ihnen.

Die Punkte, die dieser Grenze am nächsten liegen, heißen Support-Vektoren. Sie sind am wichtigsten, weil sie festlegen, wo die Trennfläche liegen kann.

Warum die Margin wichtig ist

Stell dir zwei Punktwolken vor, eine aus Klasse A und eine aus Klasse B. Viele Geraden könnten sie trennen. Eine SVM bevorzugt die Gerade, die auf beiden Seiten den größten Sicherheitsabstand lässt.

Diese größere Margin macht den Klassifikator oft weniger empfindlich gegenüber kleinen Änderungen in den Trainingsdaten. Das ist keine Garantie für bessere Leistung in der Praxis, aber es ist die wichtigste Intuition hinter SVMs.

Wie die Entscheidungsgrenze einer SVM aussieht

Bei einer linearen SVM ist die Entscheidungsgrenze eine Hyperebene:

wx+b=0w \cdot x + b = 0

Der Klassifikator sagt die eine Klasse vorher, wenn wx+b>0w \cdot x + b > 0 gilt, und die andere, wenn wx+b<0w \cdot x + b < 0 gilt.

In der üblichen Max-Margin-Skalierung für separierbare Daten wählt die SVM ww und bb so, dass

yi(wxi+b)1y_i(w \cdot x_i + b) \ge 1

für jeden Trainingspunkt gilt, während die Margin so groß wie möglich gemacht wird. In dieser Skalierung beträgt die gesamte Breite der Margin

2w.\frac{2}{\|w\|}.

Die wichtige praktische Idee ist einfacher als die Formel: Ein kleineres w\|w\| bedeutet in diesem normalisierten Aufbau eine breitere Margin.

Durchgerechnetes Beispiel: Eine eindimensionale SVM

Ein eindimensionales Beispiel macht die Idee der Margin leicht sichtbar.

Angenommen, die negative Klasse hat Punkte bei x=0x=0 und x=1x=1, und die positive Klasse hat Punkte bei x=4x=4 und x=5x=5.

Jeder Schwellenwert zwischen 11 und 44 trennt die Klassen. Zum Beispiel funktioniert x=2x=2, und x=3x=3 funktioniert auch, aber diese Entscheidungen lassen nicht auf beiden Seiten denselben Abstand.

In diesem eindimensionalen, separierbaren Aufbau wählt die SVM den Mittelpunkt zwischen den nächstgelegenen Punkten aus entgegengesetzten Klassen, also ist der Entscheidungsschwellenwert

x=2.5.x = 2.5.

Der nächstgelegene negative Punkt ist x=1x=1, und der nächstgelegene positive Punkt ist x=4x=4. Das sind die Support-Vektoren. Jeder liegt 1.51.5 Einheiten von der Grenze entfernt, also ist die Margin so breit und ausgewogen wie möglich.

Du kannst den Klassifikator hier so schreiben: „sage positiv vorher, wenn x>2.5x > 2.5 ist, und negativ, wenn x<2.5x < 2.5 ist.“ Dieser einfache Fall zeigt die eigentliche Idee: Die Grenze wird durch die schwierigen nahen Fälle bestimmt, nicht durch weit entfernte Punkte, die ohnehin leicht zu klassifizieren sind.

Hard-Margin- vs. Soft-Margin-SVM

Eine Hard-Margin-SVM funktioniert nur, wenn die Trainingsdaten perfekt linear separierbar sind. Wenn auch nur ein Punkt diese Bedingung verletzt, passt der Hard-Margin-Ansatz nicht zu den Daten.

Deshalb verwenden viele praktische SVMs eine Soft Margin. Eine Soft-Margin-SVM bevorzugt weiterhin eine breite Margin, erlaubt aber, dass einige Punkte innerhalb der Margin oder sogar auf der falschen Seite der Grenze liegen, gegen eine Strafterm.

Der Parameter CC steuert diesen Kompromiss. Ein größeres CC bestraft Verletzungen stärker. Ein kleineres CC erlaubt mehr Flexibilität. Keine der beiden Entscheidungen ist automatisch besser; es hängt von den Daten ab und sollte anhand der Validierungsleistung geprüft werden.

Wann Kernel-SVMs helfen

Manchmal reicht eine gerade Grenze im ursprünglichen Merkmalsraum nicht aus. Eine Kernel-SVM löst das, indem sie Punkte über eine Kernelfunktion vergleicht. So kann eine gekrümmte Grenze möglich werden, ohne explizit einen riesigen transformierten Merkmalsvektor aufzuschreiben.

Die entscheidende Bedingung ist, dass die zusätzliche Flexibilität nur dann hilft, wenn das Datenmuster sie wirklich braucht. Kernel können ein Modell verbessern, aber sie können auch das Tuning schwieriger machen. Deshalb sollten sie validiert und nicht einfach standardmäßig gewählt werden.

Häufige SVM-Fehler

Denken, dass jeder Punkt gleich wichtig ist

Bei einer SVM sind die nächstgelegenen Punkte am wichtigsten. Punkte weit von der Grenze entfernt haben oft nur wenig Einfluss auf die endgültige Trennfläche.

Die Bedingung hinter Hard Margin vergessen

Perfekte lineare Separierbarkeit ist eine echte Bedingung, keine Standardannahme. Wenn sich die Klassen überlappen, brauchst du eine Soft Margin oder ein anderes Modell.

Feature-Skalierung ignorieren

SVMs hängen von Abständen und Skalarprodukten ab. Wenn ein Merkmal auf einer viel größeren Skala gemessen wird als ein anderes, kann es die Grenze dominieren, wenn du die Eingaben nicht zuerst skalierst.

Annehmen, dass ein Kernel automatisch besser ist

Eine flexiblere Grenze kann die Trainingsdaten besser anpassen, aber das bedeutet nicht automatisch, dass sie auch besser generalisiert.

Wo SVMs eingesetzt werden

SVMs werden für Klassifikationsprobleme verwendet, bei denen die Grenze zwischen Klassen recht scharf sein kann und bei denen marginbasierte Überlegungen hilfreich sind. Sie sind besonders häufig bei kleinen bis mittelgroßen tabellarischen Problemen und bei der Textklassifikation, wo hochdimensionale Merkmalsräume üblich sind.

Sie werden auch für Regression in einer verwandten Methode namens Support Vector Regression verwendet, aber das ist ein anderer Aufbau als das hier erklärte Bild der binären Klassifikation.

Probiere eine ähnliche SVM-Aufgabe

Nimm die eindimensionalen Punkte aus dem Beispiel und füge einen neuen negativen Punkt bei x=2.2x=2.2 hinzu. Jetzt ist die saubere breite Lücke verschwunden. Frage dich, was sich ändert, wenn du auf einer Hard Margin bestehst, und was sich ändert, wenn du eine Soft Margin zulässt. Dieser Vergleich ist oft der schnellste Weg, damit SVMs wirklich verständlich werden.

Brauchst du Hilfe bei einer Aufgabe?

Lade deine Frage hoch und erhalte in Sekunden eine verifizierte Schritt-für-Schritt-Lösung.

GPAI Solver öffnen →