Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Support Vector Machine (SVM)

Eine Support-Vektor-Maschine (SVM) trennt Klassen mit einer Hyperebene mit größtmöglichem Abstand und nutzt Kernel für gekrümmte Entscheidungsgrenzen. Behandelt werden Funktionsweise, Feinabstimmung und Code.

Eine Support-Vektor-Maschine (SVM) ist ein Algorithmus für überwachtes Lernen, der Daten klassifiziert, indem er die Hyperebene findet, die zwei Klassen mit dem größtmöglichen Rand trennt – dem Abstand zwischen der Grenze und den nächstgelegenen Trainingspunkten jeder Klasse. Diese nächstgelegenen Punkte, die Stützvektoren, sind die einzigen Trainingsbeispiele, die die Grenze bestimmen. Mit Kernel-Funktionen können SVMs gekrümmte Grenzen lernen; Varianten eignen sich für Regression und die Erkennung von Ausreißern. Vladimir Vapnik und seine Kollegen entwickelten das Verfahren bei AT&T Bell Labs: Die Kernel-Version stammt aus dem Jahr 1992, und die heute verwendete Soft-Margin-Formulierung wurde 1995 von Cortes und Vapnik veröffentlicht. Vor dem Deep Learning gehörten SVMs zu den genauesten Klassifikatoren für Text, Bilder und biologische Daten. Auch heute liefern sie bei kleinen bis mittelgroßen Datensätzen mit vielen Merkmalen gute Ergebnisse.

So funktionieren SVMs#

Eine lineare SVM sagt die Klasse anhand des Vorzeichens von w·x + b voraus. Ihre Entscheidungsgrenze ist daher die Hyperebene w·x + b = 0. Sind die Gewichte so skaliert, dass für die nächstgelegenen Punkte |w·x + b| = 1 gilt, ist der Rand 2/‖w‖ breit. Beim Training wird der Rand maximiert, indem ‖w‖² minimiert wird, während jeder Trainingspunkt auf der richtigen Seite liegen muss. Reale Klassen überschneiden sich, deshalb erlaubt die Soft-Margin-SVM, dass Punkte den Rand überschreiten; die Kosten dafür legt der Parameter C für die Regularisierung fest. Der Hinge-Loss bestraft korrekt klassifizierte Punkte außerhalb des Rands nicht und belegt die übrigen Punkte mit einer Strafe, die linear mit der Verletzung wächst. Ein kleines C toleriert mehr Verletzungen und führt zu einem breiteren, glatteren Rand. Ein großes C passt sich stärker an die Trainingsdaten an und erhöht das Risiko des Overfittings. Im trainierten Modell haben nur Punkte auf dem Rand oder auf seiner falschen Seite ein von null verschiedenes Gewicht. Das sind die Stützvektoren; verschiebt man einen anderen Punkt, ohne dass er den Rand überschreitet, bleibt die Grenze unverändert.

Der Kernel-Trick#

Wenn keine Hyperebene die Klassen trennt, kann eine Abbildung der Daten in einen höherdimensionalen Raum sie trennbar machen: Zwei konzentrische Ringe in 2D lassen sich durch eine flache Ebene trennen, sobald ein drittes Merkmal, x₁² + x₂², den Abstand jedes Punkts vom Mittelpunkt misst. In der dualen Form verwenden SVM-Training und -Vorhersage die Daten ausschließlich über Skalarprodukte zwischen Punktepaaren. Eine Kernel-Funktion k(x, x′) kann daher direkt das Skalarprodukt im abgebildeten Raum zurückgeben, ohne die abgebildeten Koordinaten jemals zu berechnen. Das ist der Kernel-Trick. Zu den gängigen Kernels zählen der lineare Kernel, der polynomiale Kernel und die radiale Basisfunktion (RBF), exp(−γ‖x − x′‖²), wobei γ festlegt, wie weit der Einfluss jedes Stützvektors reicht. Dieses Beispiel trainiert scikit-learn's SVC mit einem linearen und einem RBF-Kernel auf zwei konzentrischen Ringen:

from sklearn.datasets import make_circles
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC

# Two concentric rings: no straight line separates the classes
X, y = make_circles(n_samples=500, factor=0.4, noise=0.1, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

for kernel in ("linear", "rbf"):
    clf = SVC(kernel=kernel, C=1.0)
    clf.fit(X_train, y_train)
    print(f"{kernel}: test accuracy {clf.score(X_test, y_test):.2f}, support vectors {clf.n_support_.sum()}")

Der lineare Kernel erreicht bei zurückgehaltenen Punkten einen Wert von 0,43 und schneidet damit schlechter ab als Raten. Er behält 360 der 375 Trainingspunkte als Stützvektoren bei. Der RBF-Kernel trennt die Ringe perfekt (1,00) und benötigt dafür nur 42 Stützvektoren.

Kernel und Hyperparameter auswählen#

Abstände und Skalarprodukte hängen von der Skalierung der Merkmale ab. Deshalb werden SVM-Eingaben zunächst standardisiert. Der praxisorientierte Leitfaden der Autoren von LIBSVM, der Bibliothek hinter scikit-learn's SVC, empfiehlt, die Merkmale zu skalieren, mit dem RBF-Kernel zu beginnen und C und γ per Rastersuche mit Kreuzvalidierung auszuwählen. Wenn es sehr viel mehr Merkmale als Stichproben gibt, wie bei Text, liefert ein linearer Kernel etwa gleich gute Ergebnisse und lässt sich deutlich schneller trainieren. Die Trainingszeit von Kernel-SVMs wächst mindestens quadratisch mit der Anzahl der Stichproben. Bei mehr als Zehntausenden von Stichproben ersetzen daher lineare SVMs oder approximierte Kernel-Merkmale das exakte Kernel-Modell.

SVMs in der Computer Vision#

Die klassische Computer Vision kombinierte von Hand entwickelte Merkmale mit linearen SVMs. Dalal und Triggs' Fußgängerdetektor von 2005 klassifizierte Histogramme orientierter Gradienten (HOG) mit einer linearen SVM. Der Objektdetektor R-CNN von 2014 klassifizierte CNN-Merkmale aus jedem Regionenvorschlag mit einer linearen SVM pro Klasse, bis Fast R-CNN diese 2015 durch eine Softmax-Schicht ersetzte, die gemeinsam mit dem Netzwerk trainiert wurde. Moderne Detektoren lernen Merkmale und Klassifikator gemeinsam; SVMs kommen weiterhin als schnelle Klassifikatoren für feste Merkmale zum Einsatz. Eine lineare SVM, die auf den Vektoren trainiert wird, die YOLO26 aus model.embed() zurückgibt – ein Embedding pro Bild –, ist ein linearer Probe-Klassifikator, mit dem sich eine neue Bildkategorie hinzufügen lässt, ohne das Netzwerk erneut zu trainieren.

Anwendungen#

  • Textklassifizierung: Wortzählvektoren haben Zehntausende dünn besetzte Dimensionen. Lineare SVMs trennen darin Themen, Spam und Stimmungen präzise – ein Vorteil, den Thorsten Joachims 1998 für die Textkategorisierung nachwies.
  • Bioinformatik: Bei Genexpressionsstudien werden Tumore anhand von Tausenden gemessenen Genen und nur Dutzenden oder Hunderten von Patienten klassifiziert. In solchen Fällen begrenzt der Rand das Overfitting; String-Kernels vergleichen außerdem Proteinsequenzen direkt.
  • Anomalieerkennung: Eine One-Class-SVM lernt eine Grenze ausschließlich um normale Daten und kennzeichnet Punkte außerhalb dieser Grenze. Das eignet sich für Betrugserkennung und die Maschinenüberwachung, wenn Fehler zu selten auftreten, um sie zu labeln.
  • Regression: Die Support-Vektor-Regression passt eine Funktion innerhalb eines Schlauchs der Breite ε an, ignoriert Fehler unter ε und behält nur Punkte auf oder außerhalb des Schlauchs als Stützvektoren bei.
  • K-nächste Nachbarn (KNN): Speichert den gesamten Trainingsdatensatz und vergleicht bei der Vorhersage jeden neuen Punkt mit seinen Nachbarn. Eine SVM behält dagegen nur ihre Stützvektoren.
  • Entscheidungsbäume und Random Forests: Treffen Entscheidungen anhand jeweils eines Merkmals, benötigen keine Skalierung der Merkmale und verarbeiten gemischte numerische und kategoriale Spalten. SVMs benötigen dagegen numerische, skalierte Eingaben.
  • Neuronale Netze: Lernen die Merkmalsabbildung aus den Daten, statt sie mit einem Kernel festzulegen. So lassen sie sich auf Millionen von Bildern skalieren, während Kernel-SVMs dafür zu langsam werden.
  • Logistische Regression: Lernt ebenfalls eine lineare Grenze, minimiert aber den Log-Loss über alle Trainingspunkte und gibt Wahrscheinlichkeiten aus. Eine SVM gibt vorzeichenbehaftete Abstände zur Grenze aus. scikit-learn's SVC erzeugt Wahrscheinlichkeiten nur mit probability=True; dafür wird die Platt-Skalierung mittels interner fünffacher Kreuzvalidierung angepasst.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens