Definition: Soft-Margin Support Vector Machine

Sei ein Datensatz mit und . Sei eine -dimensionale Hyperebene mit Normalenvektor und Verschiebung .

Als Soft-Margin Support Vector Machine (auch Soft-Margin SVM) definieren wir den Klassifikator

Soft-Margin SVMs können sinnvoll angewendet werden, wenn die Daten zwar grundsätzlich in einem linearen Zusammenhang stehen, einzelne Datenpunkte jedoch verrauscht sind und daher in eine andere Klasse hineinfallen:

Definition: Primales Optimierungsproblem der Soft-Margin SVM

Sei ein Datensatz mit und .

Das primale Optimierungsproblem der Soft-Margin SVM erhalten wir durch:

Im Kontrast zu dem Optimierungsproblem der Hard-Margin SVM gilt:

  • Die Nebenbedingung ist komplett weggefallen,
  • Wir bilden das arithmetische Mittel des Hinge-Losses für das Gleichgewicht zwischen Hinge-Loss und .
  • Im Unterschied zur Hard-Margin-SVM quadrieren wir , um der Länge des Normalenvektors ein größeres Gewicht innerhalb des Optimierungsproblems zuzuweisen.
  • Der Term ist äquivalent zum Tikhonov-Regularisierer, denn . Der Parameter übt die Aufgabe des sonst üblichen Regularisierungsparameters aus.
  • Je kleiner , desto stärker nähert sie sich der Hard-Margin SVM an.
  • Je größer , desto toleranter wird die Soft-Margin SVM gegenüber Fehklassifikationen.

Anmerkung

SVM mit scikit-learn

In Python erhalten wir eine lineare Soft-Margin SVM mit durch

X = ((2, 7), (7.500, 0.500), (3, 3.300), (2.500, 7.500), (4, 3.800), (5, 2))
y=(-1, -1, -1, 1, 1, 1)
 
from sklearn.svm import SVC
svm = SVC(kernel="linear", C=1/3).fit(X, y)
 
svm.predict([(5,10)])

Den Normalvektor und den Bias erhalten wir durch

  • : model.coef_
  • : -model.intercept_[0]

Die Support Vektoren erhalten wir durch svm.support_vectors_.