6.6 Hinge-Loss und Pegasos
Die Soft Margin SVM aus 6.5 ist ein quadratisches Programm mit Nebenbedingungen. Man könnte es mit einem QP-Löser angehen. Die Vorlesung geht einen anderen, sehr modernen Weg: Sie eliminiert die Nebenbedingungen, erhält so eine Zielfunktion „Regularisierer + Verlust“ und minimiert diese mit einem stochastischen Subgradientenabstieg, ganz ähnlich wie beim Perzeptron.
Umwandlung in eine Optimierung ohne Nebenbedingungen
📄 09_svm_nicht_trennbar.pdf, Folie 12Ausgangspunkt sind die Nebenbedingungen
Schritt 1: Mit der Entscheidungsfunktion der SVM lautet das
Schritt 2: Zusammen mit muss größer oder gleich beiden Schranken sein, also
Schritt 3: Am Minimum muss hier Gleichheit gelten. Denn wäre echt größer als nötig, könnte man es verkleinern, ohne eine Nebenbedingung zu verletzen. Wegen würde die Zielfunktion dabei sinken, man wäre also nicht im Minimum. Also
Schritt 4: Einsetzen in die Zielfunktion eliminiert die und alle Nebenbedingungen:
(Optimiert wird natürlich weiterhin auch über , das in steckt. Die Folie schreibt nur .)
Auf der Folie bezeichnet sowohl die Zielfunktion als auch die Entscheidungsfunktion . Gemeint ist im Summanden immer die Entscheidungsfunktion .
Verlustfunktion
📄 09_svm_nicht_trennbar.pdf, Folie 13Der zweite Term
ist eine Verlustfunktion (loss function). Die Größe ist positiv bei korrekter, negativ bei falscher Klassifikation und umso größer, je weiter der Punkt auf der richtigen Seite liegt. Es gibt drei Fälle:
- : Punkt liegt außerhalb des Margins und trägt nichts zum Verlust bei.
- : Punkt sitzt genau auf dem Margin (Supportvektor) und trägt ebenfalls nichts bei.
- : Punkt verletzt den Margin (ebenfalls Supportvektor) und trägt zum Verlust bei, und zwar linear mit der Stärke der Verletzung.
Interpretation: Die SVM-Zielfunktion hat jetzt die Form
Ergänzung, nicht auf den Folien: Das ist dasselbe Muster wie bei Ridge-Regression (quadratischer Verlust + ) oder regularisierter logistischer Regression (logistischer Verlust + ). Die SVM unterscheidet sich „nur“ durch die Wahl des Verlusts.
Hinge-Loss
📄 09_svm_nicht_trennbar.pdf, Folie 14Trägt man den Verlust eines einzelnen Punkts über auf, erhält man den Hinge-Loss (engl. hinge, „Scharnier“, deutsch auch Scharnierverlust):
Zum Vergleich der 0-1-Verlust (0-1 loss), der einfach Fehler zählt: 1 bei falscher Klassifikation (), sonst 0.
| 0-1-Verlust | 1 | 1 | 1 bzw. 0* | 0 | 0 | 0 |
| Hinge-Loss | 3 | 2 | 1 | 0,5 | 0 | 0 |
* Bei (Punkt auf der Trennebene) ist die Konvention uneinheitlich.
Eigenschaften:
- Der Hinge-Loss ist eine obere Schranke des 0-1-Verlusts: für alle . Minimiert man den Hinge-Loss, drückt man also auch die Anzahl der Fehler nach unten.
- Er ist konvex (Maximum zweier linearer Funktionen, vgl. die V-Form im Quiz in 6.3). Der 0-1-Verlust ist das nicht und außerdem fast überall flach (Gradient 0), also für Optimierung unbrauchbar.
- Er bestraft auch korrekt klassifizierte Punkte, die zu nah an der Ebene liegen (). Das erzwingt den Margin.
- Aber: Bei hat er einen Knick, er ist dort nicht differenzierbar. Gradientenabstieg im klassischen Sinn geht also nicht.
Ergänzung: Vergleich mit dem Perzeptron. Dessen Verlust ist : Er bestraft nur Fehlklassifikationen, nicht zu kleine Abstände. Der Hinge-Loss ist genau dieser Perzeptron-Verlust, um 1 nach rechts verschoben. Diese kleine Verschiebung und der Regularisierer machen den Unterschied zwischen „irgendeine Trennebene“ und „Trennebene mit maximalem Margin“.
Subgradienten
📄 09_svm_nicht_trennbar.pdf, Folie 15Um konvexe, aber nicht überall differenzierbare Funktionen zu minimieren, verallgemeinert man den Gradienten.
Ein Subgradient einer konvexen Funktion an der Stelle ist die Steigung einer Geraden (oder Ebene), die in berührt und überall unterhalb von verläuft:
- An Stellen, an denen differenzierbar ist, ist der Subgradient eindeutig und gleich der Steigung der Tangente (dem Gradienten).
- An Stellen, an denen nicht differenzierbar ist, ist der Subgradient eine Menge: die Steigungen aller Tangentialebenen durch , die unterhalb von verlaufen. Diese Menge heißt Subdifferential .
Anmerkung: Auf der Folie steht „für alle “. Im Mehrdimensionalen ist natürlich gemeint.
Warum funktioniert das nur für konvexe Funktionen? Nur bei konvexen Funktionen gibt es an jeder Stelle eine solche „Stützgerade“ unterhalb des Graphen, denn konvexe Funktionen liegen immer oberhalb ihrer Tangenten.
Beispiele
📄 09_svm_nicht_trennbar.pdf, Folie 16Betragsfunktion :
Bei passt jede Gerade durch den Ursprung mit Steigung zwischen und unter das V. Im Graphen des Subdifferentials sieht man an dieser Stelle einen senkrechten Sprung von auf .
: Für ist mit Ableitung . Für ist mit Ableitung . An den Knickstellen:
Links und rechts der Knickstelle haben die Ableitungen die Werte 0 und 1 (bzw. und 0), das Subdifferential füllt das Intervall dazwischen.
Ergänzung: Ein Punkt ist genau dann globales Minimum einer konvexen Funktion, wenn . Beim Betrag: bei , also ist 0 das Minimum.
Subgradient des Hinge-Loss
📄 09_svm_nicht_trennbar.pdf, Folie 17Für einen Summanden gilt nach der Kettenregel (das Innere ist linear in mit Ableitung ):
Für den gesamten Verlust addiert man die Beiträge. An Knickpunkten nimmt der Subgradient alle Zwischenwerte zwischen 0 und an (genauer: die Beiträge der Punkte mit können jeweils zwischen 0 und liegen).
Ergänzung: Analog ist die Ableitung nach gleich für Punkte mit und 0 sonst.
Die Subgradientenmethode
📄 09_svm_nicht_trennbar.pdf, Folie 18Sei konvex. Die Subgradientenmethode (subgradient method) iteriert
wobei ein beliebiger Subgradient von an ist. Das entspricht dem normalen Gradientenabstieg, nur läuft man in Richtung des negativen Subgradienten.
Unterschied zum Gradientenabstieg: Es ist nicht garantiert, dass die Zielfunktion bei jedem Schritt kleiner wird. Ein negativer Subgradient ist nicht unbedingt eine Abstiegsrichtung (Beispiel: an einem Knick). Dennoch kann man beweisen, dass die Methode zum Minimum hin konvergiert, wenn die Schrittweite asymptotisch gegen 0 geht.
Ergänzung: Die genaue Bedingung ist und . Die zweite Bedingung sorgt dafür, dass man trotz kleiner werdender Schritte noch beliebig weit kommt. erfüllt beides (harmonische Reihe divergiert). Weil die Funktionswerte nicht monoton fallen, merkt man sich in der Praxis oft den bisher besten Punkt.
Subgradientenmethode für die SVM
📄 09_svm_nicht_trennbar.pdf, Folie 19Für die SVM-Zielfunktion wählt man an Knickpunkten () einfach den Subgradienten 0 für diesen Summanden. Der Subgradient des Regularisierers ist . Damit ergibt sich die Iteration
Das ist ein Batch-Update über den gesamten Datensatz. Statt dessen macht man wie beim Perzeptron eine Einzelbeispielkorrektur, d.h. einen stochastischen (Sub-)Gradientenabstieg (stochastic subgradient descent): In jedem Schritt wird nur ein (zufällig gezogenes) Beispiel betrachtet.
mit der zeitabhängigen Lernrate .
Die zwei Fälle verstehen:
- Sonst-Fall (, Punkt gut klassifiziert): . Der Gewichtsvektor wird nur geschrumpft. Das ist der Effekt des Regularisierers: kleineres , also breiterer Margin.
- Verletzungs-Fall (): . Zusätzlich zum Schrumpfen wird in Richtung des Beispiels korrigiert, genau wie beim Perzeptron (), nur dass das Perzeptron bloß bei echter Fehlklassifikation korrigiert, Pegasos schon bei einer Margin-Verletzung.
Vergleich Perzeptron und Pegasos (Ergänzung):
| Perzeptron | Pegasos | |
|---|---|---|
| Korrektur, wenn | (falsch) | (Margin verletzt) |
| Schrumpfen von | nie | in jedem Schritt |
| Lernrate | konstant | |
| Ziel | irgendeine Trennebene | Minimum der konvexen SVM-Zielfunktion |
| Ende | sobald alles getrennt ist | Konvergenz gegen das globale Optimum |
Zahlenbeispiel: Pegasos von Hand
Ergänzung, nicht auf den Folien. Zwei Punkte, , ohne Bias (), abwechselnd präsentiert: , und , . Start .
| Beispiel | Fall | ||||
|---|---|---|---|---|---|
| 1 | A | verletzt | |||
| 2 | B | sonst | |||
| 3 | A | sonst | |||
| 4 | B | sonst | |||
| 5 | A | sonst | |||
| 6 | B | verletzt |
Man sieht das typische Verhalten: Solange alle Punkte den Margin einhalten, schrumpft (der Margin wächst). Sobald ein Punkt in den Margin rutscht (), zieht die Korrektur wieder in seine Richtung. Mit kleiner werdendem pendelt sich das auf das Optimum ein.
Beispiel aus der Vorlesung
📄 09_svm_nicht_trennbar.pdf, Folie 20Links: Die „Energie“ (Wert der Zielfunktion) über ca. 300 Iterationen auf logarithmischer Skala. Sie fällt anfangs schnell, ist nicht monoton (Zacken, typisch für stochastische Subgradientenverfahren) und stabilisiert sich dann. Rechts: zwei überlappende Punktwolken mit der gefundenen Trennebene (blau) und den Margin-Rändern (gestrichelt). Einige Punkte liegen im Margin oder auf der falschen Seite, das ist bei nicht trennbaren Daten unvermeidlich.
- Die Folie lässt offen, wie behandelt wird. Üblich ist, analog mit zu aktualisieren (ohne Schrumpfen), oder eine konstante 1 als zusätzliches Merkmal an anzuhängen.
- Im Originalpaper (Shalev-Shwartz et al., 2007) steht die Zielfunktion in der Form mit Lernrate . Die Folie verwendet die -Form. Streng genommen ist ein stochastischer Schritt mit einem einzigen Beispiel eine Schätzung von erst nach Multiplikation mit . Für das Verständnis ist das unerheblich, es verschiebt nur die Bedeutung von um den Faktor .
Typische Fallstricke
- Hinge-Loss ist nicht differenzierbar, aber konvex. Nicht verwechseln: Konvexität garantiert das globale Optimum, Differenzierbarkeit ist nur für klassischen Gradientenabstieg nötig.
- Subgradientenverfahren sind keine Abstiegsverfahren. Die Zielfunktion darf zwischendurch steigen.
- Punkte mit verursachen Verlust, obwohl sie korrekt klassifiziert sind.
- ist wichtig. Bei konstanter Lernrate springt der stochastische Subgradientenabstieg dauerhaft um das Optimum herum.