Die Folien von Vorlesung 8 und 9 behandeln die SVM ausschließlich in der primalen Form und lösen sie in 6.6 mit einem Subgradientenverfahren. Lagrange-Multiplikatoren, KKT-Bedingungen und das duale Problem kommen dort nicht vor. Diese Seite fasst den Standardweg aus der Literatur (z.B. Bishop, Kap. 7; Schölkopf und Smola) zusammen, weil er
präzise begründet, warum nur die Supportvektoren die Lösung bestimmen,
zur dualen Darstellungw=∑iαiyixi führt, die in Kapitel 7 (dort über das Representer-Theorem) die Grundlage des Kernel-Tricks ist.
Ob diese Herleitung prüfungsrelevant ist, solltest du in der Vorlesung klären.
Idee: Statt die Nebenbedingungen „hart“ einzuhalten, bestraft man ihre Verletzung in der Zielfunktion. Für jede Nebenbedingung führt man einen Lagrange-Multiplikator (Lagrange multiplier) αi≥0 ein:
L(w,b,α)=21⟨w⋅w⟩−i=1∑ℓαi[yi(⟨w⋅xi⟩+b)−1].
Warum Minus und αi≥0? Die eckige Klammer ist ≥0, wenn die Bedingung erfüllt ist, und <0, wenn sie verletzt ist. Bei Verletzung wird −αi[…] positiv, die Zielfunktion steigt. Maximiert man über α≥0, so gilt:
α≥0maxL(w,b,α)={21⟨w⋅w⟩+∞falls alle Bedingungen erfu¨lltsonst.
Das primale Problem ist also minw,bmaxα≥0L. Das duale Problem vertauscht die Reihenfolge: maxα≥0minw,bL. Für konvexe Probleme mit (streng) erfüllbaren Nebenbedingungen (Slater-Bedingung, bei trennbaren Daten erfüllt) haben beide denselben Optimalwert (starke Dualität).
Für ein konvexes Problem wie die SVM sind die Karush-Kuhn-Tucker-Bedingungen (KKT conditions) notwendig und hinreichend für Optimalität. Ein Punkt (w∗,b∗,α∗) ist genau dann optimal, wenn gilt:
Das ist die wichtigste Bedingung für das Verständnis. Für jeden Trainingspunkt gibt es nur zwei Möglichkeiten:
yif(xi)>1 (Punkt liegt außerhalb des Margins, Bedingung inaktiv): Dann muss αi=0 sein.
αi>0: Dann muss yif(xi)=1 sein, der Punkt liegt genau auf dem Rand des Margins (Bedingung aktiv). Das ist ein Supportvektor.
Zusammen mit w=∑iαiyixi heißt das:
Warum nur die Supportvektoren zählen
w=i:αi>0∑αiyixi.
w ist eine Linearkombination nur der Supportvektoren. Alle anderen Punkte haben αi=0 und tragen nichts bei. Man kann sie löschen, ohne dass sich die Lösung ändert. Das ist die exakte Fassung der Folienaussage „nur sie allein bestimmen die Lage der optimalen Trennebene“ (📄 08_svm.pdf, Folie 14).
Bestimmung von b: Für einen beliebigen Supportvektor xs gilt ys(⟨w⋅xs⟩+b)=1. Wegen ys2=1 folgt
b=ys−⟨w⋅xs⟩.
Numerisch stabiler ist der Mittelwert über alle Supportvektoren.
Die Daten kommen nur noch in Skalarprodukten⟨xi⋅xj⟩ vor, im Training und in der Vorhersage. Ersetzt man das Skalarprodukt durch eine Kernfunktion, erhält man eine nichtlineare SVM, ohne den Merkmalsraum je explizit zu berechnen. Das ist der Kernel-Trick aus Kapitel 7.
Die Anzahl der Variablen ist ℓ (eine pro Trainingspunkt) statt d+1. Bei sehr hoher oder unendlicher Dimension d ist das ein großer Vorteil.
Dünnbesetzte Lösung (sparse): Die meisten αi sind 0.
Auch das duale Problem ist ein konvexes QP (die Matrix mit Einträgen yiyj⟨xi⋅xj⟩ ist positiv semidefinit). Klassische SVM-Pakete wie libsvm (auf 📄 09_svm_nicht_trennbar.pdf, Folie 5 als „svmlib“ erwähnt) lösen dieses duale Problem.
Nützliche Identität: Im Optimum gilt ⟨w⋅w⟩=∑iαi. Begründung: ⟨w⋅w⟩=∑iαiyi⟨w⋅xi⟩, und für Supportvektoren ist ⟨w⋅xi⟩=yi−b. Also ∑iαiyi(yi−b)=∑iαi−b∑iαiyi=∑iαi. Damit ist die Streifenbreite 2/∑iαi.
Da das Problem konvex ist, sind die KKT-Bedingungen hinreichend: Die Lösung ist optimal. Probe der Identität: ∑iαi=185+183+182=95=∥w∥2. ✔
Gegenprobe mit Versuch 1 (w=(21,21), b=−1): Diese Lösung verletzt die primale Zulässigkeit für x3 und ist daher nicht optimal, egal welche αi man wählt.
Beispiel 2 aus 6.2 (Punkte (0,0), (2,2), (4,4)): Hier ist y3f(x3)=3>1, also α3=0. Aus w=α2(2,2)=(21,21) folgt α2=41 und mit der Summenbedingung α1=41. Probe: ∑αi=21=∥w∥2. ✔
Vorzeichen der Lagrange-Multiplikatoren: Bei Ungleichungen müssen sie ≥0 sein, bei Gleichungen sind sie frei. Wer das vergisst, bekommt keine korrekte Dualität.
αi>0 impliziert Supportvektor, aber nicht umgekehrt. In Spezialfällen kann ein Punkt genau auf dem Margin liegen und trotzdem αi=0 haben (degenerierter Fall).
Faktor 21: Ohne ihn (wie auf 📄 08_svm.pdf, Folie 16) werden alle αi doppelt so groß, die Trennebene bleibt dieselbe.