Glossar

Support-Vektor-Maschine (SVM)

Entdecke die Leistungsfähigkeit von Support Vector Machines (SVMs) für Klassifizierung, Regression und Ausreißererkennung, mit Anwendungen und Einblicken aus der Praxis.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Die Support Vector Machine (SVM) ist ein beliebter und leistungsfähiger Algorithmus des überwachten maschinellen Lernens (ML), der vor allem für Klassifizierungsaufgaben verwendet wird, aber auch für die Regression (Support Vector Regression - SVR) und die Erkennung von Ausreißern geeignet ist. Der in den 1990er Jahren entwickelte SVM-Algorithmus findet eine optimale Grenze, die sogenannte Hyperebene, die Datenpunkte verschiedener Klassen in einem hochdimensionalen Raum am besten voneinander trennt. Der Grundgedanke besteht darin, den Abstand zwischen der Hyperebene und den nächstgelegenen Datenpunkten (Stützvektoren) jeder Klasse zu maximieren, was oft zu einer guten Generalisierungsleistung bei ungesehenen Daten führt.

Wie Svm funktioniert

Das Kernprinzip von SVM ist die Suche nach der idealen Hyperebene zur Unterteilung eines Datensatzes. Für Daten, die durch eine gerade Linie oder eine flache Ebene getrennt werden können (linear trennbare Daten), identifiziert SVM die Hyperebene, die den größtmöglichen Abstand zwischen den Klassen erzeugt. Die Datenpunkte, die dieser Hyperebene am nächsten liegen und für die Bestimmung ihrer Position und Ausrichtung entscheidend sind, werden als Support-Vektoren bezeichnet. Diese Konzentration auf die schwierigsten Punkte in der Nähe der Grenze macht die SVM speichereffizient, da nur diese Stützvektoren zur Definition des Modells nach dem Training benötigt werden.

Für Datensätze, bei denen die Klassen nicht durch eine lineare Grenze getrennt werden können (nicht linear trennbare Daten), verwenden SVMs eine Technik namens Kernel-Trick. Diese clevere Methode ermöglicht es SVMs, die ursprünglichen Daten in einen höherdimensionalen Raum abzubilden, in dem eine lineare Trennung möglich ist, ohne die Koordinaten in diesem neuen Raum explizit zu berechnen. Zu den gängigen Kernel-Funktionen gehören:

  • Linearer Kernel: Wird für linear trennbare Daten verwendet.
  • Polynomialer Kernel: Bildet Daten in einem Polynomraum höheren Grades ab.
  • Radial Basis Function (RBF) Kernel: Eine beliebte Wahl, die komplexe Beziehungen verarbeiten kann, indem sie Daten in einem unendlich-dimensionalen Raum abbildet.
  • Sigmoid-Kernel: Ähnlich wie die Aktivierungsfunktion, die in neuronalen Netzen verwendet wird.

Die Wahl des Kernels und seiner Parameter ist entscheidend und erfordert oft eine sorgfältige Abstimmung der Hyperparameter.

Relevanz und Anwendungen

SVMs bleiben trotz des Aufstiegs von Deep Learning (DL) relevant, insbesondere in Szenarien mit hochdimensionalen Daten (viele Merkmale), aber begrenzten Trainingsstichproben. Sie sind für ihre theoretischen Garantien und ihre Robustheit bekannt, vor allem wenn ein klarer Trennungsspielraum besteht. In der Vergangenheit waren SVMs in Kombination mit Merkmalsextraktoren wie dem Histogram of Oriented Gradients (HOG) der Stand der Technik für Aufgaben wie die Objekterkennung, wie die Entwicklung der Objekterkennung zeigt.

Häufige Anwendungen sind:

  • Bildklassifizierung: Klassifizierung von Bildern in vordefinierte Kategorien, wie z. B. das Erkennen handgeschriebener Ziffern oder die Unterscheidung zwischen verschiedenen Arten von Objekten. Ein SVM könnte zum Beispiel trainiert werden, um medizinische Bilder anhand der extrahierten Merkmale als tumorhaltig oder nicht tumorhaltig zu klassifizieren.
  • Text-Kategorisierung: Sortieren von Dokumenten in Themen, Stimmungsanalyse (positive/negative Bewertungen) und Spam-Erkennung. Zum Beispiel das Einordnen von Nachrichtenartikeln in Kategorien wie "Sport", "Politik" oder "Technik".
  • Erkennung von Gesichtern: Die Identifizierung von Gesichtern in Bildern, oft als Vorstufe zur Erkennung.
  • Bioinformatik: Klassifizierung von Proteinen, Genen oder Patientenproben auf der Grundlage komplexer biologischer Daten.
  • Handschrifterkennung: Wird in Systemen verwendet, die handschriftliche Zeichen erkennen.

Vorteile und Beschränkungen

Vorteile:

  • Wirksam in hochdimensionalen Räumen, auch wenn die Anzahl der Dimensionen die Anzahl der Stichproben übersteigt.
  • Sie sind speichereffizient, da sie nur eine Teilmenge der Trainingspunkte (Stützvektoren) in der Entscheidungsfunktion verwenden.
  • Vielseitig durch verschiedene Kernel-Funktionen, die eine Anpassung an verschiedene Datentypen ermöglichen.
  • Erzielt in der Regel eine hohe Genauigkeit, wenn die Klassen gut voneinander getrennt sind.

Beschränkungen:

  • Das Training auf sehr großen Datensätzen kann rechenintensiv und langsam sein.
  • Die Leistung hängt stark von der Wahl der Kernel-Funktion und den Hyperparametern ab.
  • Weniger effektiv bei verrauschten Datensätzen, bei denen sich die Klassen stark überschneiden.
  • SVMs liefern keine direkten Wahrscheinlichkeitsschätzungen; diese müssen weiterverarbeitet werden (z. B. durch Platt-Skalierung).

Svm im Vergleich zu anderen Algorithmen

Im Vergleich zu einfacheren Algorithmen wie der logistischen Regression zielen SVMs darauf ab, den Spielraum zu maximieren, anstatt nur eine Trenngrenze zu finden, was zu einer besseren Generalisierung führen kann. Anders als Entscheidungsbäume oder Zufallsforste konstruieren SVMs eine einzige optimale Hyperebene. Während moderne Deep Learning-Modelle wie Ultralytics YOLO bei der automatischen Extraktion von Merkmalen aus Rohdaten (wie Pixeln in der Computer Vision) brillieren, erfordern SVMs oft eine sorgfältige Merkmalskonstruktion, können aber bei kleineren Datensätzen oder bestimmten Arten von strukturierten Daten gute Ergebnisse erzielen. Beliebte Implementierungen sind LibSVM und das SVM-Modul in scikit-learn. Das Training und die Verwaltung solcher Modelle kann mit Plattformen wie Ultralytics HUB vereinfacht werden.

Alles lesen