Referenz: @thimm2024 (Abschnitt 2.3.1, Grundlagen von SVMs)
⠀
Definition: Support Vector Machine
Seien die betrachteten Klassen.
Sei ein Datenpunkt.
Sei eine -dimensionale Hyperebene mit Normalenvektor und Verschiebung .
Als Support Vector Machine (auch SVM oder Hard-Margin-SVM) definieren wir den Klassifikator
Definition: Primales Optimierungsproblem der SVM
Sei ein Datensatz mit und .
Das primale Optimierungsproblem der SVM erhalten wir durch:
oder etwas kompakter:
Anmerkung
Interpretation des primalen Optimierungsproblems
Ruft man sich die Gleichung einer Hyperebene in den Kopf, nämlich
so fällt mit etwas Überlegen auf, dass die Nebenbedingungen des primalen Optimierungsproblem der SVM gleich zwei solcher Hyperebenen definieren.
Die Vektoren und werden hierbei auch als (namensgebende) Support Vektoren bezeichnet.
Die folgende Illustration zeigt die primäre und die beiden sekundären (gestrichelt) Ebenen einer SVM sowie die zugehörigen Support Vektoren (roter Rand)
Der Abstand der beiden Ebenen zu der primären Ebene beträgt genau .
Hard-Margin SVM mit scikit-learn?
Achtung: In sklearn gibt es keine Hard-Margin SVM!
Wir können aber recht nah herankommen, indem wir groß wählen: