Typen
:Konstrukte
:Generalisierungen
:Eigenschaften
:Involvierte Definitionen
:Veranstaltung
: EMLReferenz
: @thimm2024 (Abschnitt 2.3.1, Grundlagen von SVMs)
⠀
Definition: Support Vector Machine
Seien
die betrachteten Klassen.
Seiein Datenpunkt.
Seieine -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: Den Normalvektor
und den Bias erhalten wir durch
: model.coef_
: -model.intercept_[0]
Die Support Vektoren erhalten wir durch
svm.support_vectors_
.