Angesichts der Datenpunkte und Etiketten y 1 , ... , y n ∈ { - 1 , 1 } , das Problem harter Rand SVM Ur ist
s.t.
Das ist ein quadratisches Programm mit Variablen, für die optimiert werden soll und i Einschränkungen. Das Doppelte
S.T.
ist ein quadratisches Programm mit n + 1 zu optimierenden Variablen und n Ungleichungs- und n Gleichheitsbedingungen.
Warum sollte ich bei der Implementierung einer SVM mit festem Rand das doppelte Problem anstelle des ursprünglichen Problems lösen? Das ursprüngliche Problem erscheint mir "intuitiver", und ich muss mich nicht mit der Dualitätslücke, dem Kuhn-Tucker-Zustand usw. befassen.
Es würde Sinn für mich das duale Problem , wenn zu lösen , aber ich vermute , es gibt bessere Gründe. Ist das der Fall?
Antworten:
Basierend auf den Vorlesungsunterlagen, auf die in der Antwort von @ user765195 verwiesen wird (danke!), Scheinen die offensichtlichsten Gründe zu sein:
Dieser Term wird sehr effizient berechnet, wenn nur wenige Unterstützungsvektoren vorhanden sind. Da ferner wir jetzt nur noch einen Skalarprodukt beteiligt haben Datenvektoren, so können wir den Kernel Trick anwenden .
quelle
<x1, x>
und benutzewTx
. Ersteres wird als Symbol für eine Kernauswertung K (x1, x) verwendet, die x1 und x in einen sehr hochdimensionalen Raum projiziert und implizit das Skalarprodukt der projizierten Werte berechnet. Letzteres ist die normale Skalarprodukt, sow
undx
hat explizit projiziert werden, und dann wird das Skalarprodukt explizit berechnet. Abhängig von der Wahl des Kernels kann eine einzelne explizite Berechnung viel mehr Rechenaufwand erfordern als viele Kernel-Auswertungen.Lesen Sie den zweiten Absatz auf Seite 13 und die Erläuterungen dazu in diesen Notizen:
http://cs229.stanford.edu/notes/cs229-notes3.pdf
quelle
Dies ist ein Grund, warum die duale Formulierung unter dem Gesichtspunkt der numerischen Optimierung attraktiv ist. Details finden Sie in folgendem Artikel :
Hsieh, C.-J., Chang, K.-W., Lin, C.-J., Keerthi, SS und Sundararajan, S., "A Dual Coordinate Descent Method for large-scale linear SVM", Proceedings of the 25. Internationale Konferenz über maschinelles Lernen, Helsinki, 2008.
Die duale Formulierung beinhaltet eine einzige affine Gleichheitsbedingung und n gebundene Bedingungen.
1. Die affine Gleichheitsbedingung kann aus der dualen Formulierung "eliminiert" werden.
Dies kann durch einfaches Betrachten Ihrer Daten in R ^ (d + 1) durch Einbetten von R ^ d in R ^ (d + 1) erreicht werden, indem jedem Datenpunkt, dh R ^, eine einzelne "1" -Koordinate hinzugefügt wird d ----> R ^ (d + 1): (a1, ..., ad) | ---> (a1, ..., ad, 1).
Wenn Sie dies für alle Punkte in der Trainingsmenge tun, wird das lineare Trennbarkeitsproblem in R ^ (d + 1) neu berechnet und der konstante Term w0 aus Ihrem Klassifikator entfernt, wodurch wiederum die affine Gleichheitsbeschränkung aus dem Dual eliminiert wird.
2. Nach Punkt 1 kann das Dual einfach als konvexes quadratisches Optimierungsproblem geworfen werden, dessen Bedingungen nur gebundene Bedingungen sind.
3. Das Doppelproblem kann nun effizient gelöst werden, dh über einen Doppelkoordinaten-Abstiegsalgorithmus, der eine für Epsilon optimale Lösung in O (log (1 / Epsilon)) ergibt.
Dies geschieht, indem festgehalten wird, dass das Fixieren aller Alphas mit Ausnahme eines Alphas eine geschlossene Lösung ergibt. Sie können dann nacheinander alle Alphas durchlaufen (z. B. eine zufällige Auswahl treffen, alle anderen Alphas korrigieren, die Lösung in geschlossener Form berechnen). Man kann zeigen, dass man "ziemlich schnell" eine nahezu optimale Lösung erhält (siehe Satz 1 in der oben genannten Arbeit).
Es gibt viele andere Gründe, warum das doppelte Problem unter Optimierungsgesichtspunkten attraktiv ist, von denen einige die Tatsache ausnutzen, dass es nur eine affine Gleichheitsbedingung hat (die übrigen Bedingungen sind alle gebundenen Bedingungen), während andere die Beobachtung ausnutzen, die bei der Lösung vorliegt des doppelten Problems "Oft sind die meisten Alphas" Null (Nicht-Null-Alphas entsprechen Unterstützungsvektoren).
Einen guten Überblick über Überlegungen zur numerischen Optimierung von SVMs erhalten Sie in Stephen Wrights Präsentation auf dem Computational Learning Workshop (2009).
PS: Ich bin neu hier. Entschuldigung, dass Sie die mathematische Notation auf dieser Website nicht gut beherrschen.
quelle
Meiner Meinung nach wurde in den Vorlesungsunterlagen von Andrew ng klar erwähnt, dass das Hauptproblem von 1 / || w || ein nicht konvexes Problem ist. Das Dual ist ein konvexes Problem und es ist immer leicht, das Optimum einer konvexen Funktion zu finden.
quelle