SVM-Kostenfunktion: alte und neue Definitionen

9

Ich versuche, verschiedene Definitionen der SVM-Kosten-Verlust-Funktion mit weichen Margen in ursprünglicher Form miteinander in Einklang zu bringen. Es gibt einen "max ()" - Operator, den ich nicht verstehe.

Ich habe vor vielen Jahren aus dem Lehrbuch " Introduction to Data Mining " von Tan, Steinbach und Kumar (2006) etwas über SVM gelernt . Es beschreibt die SVM-Kostenfunktion für weiche Margin-Primärformen in Kapitel 5, S. 22. 267-268. Beachten Sie, dass ein max () -Operator nicht erwähnt wird.

Dies kann erreicht werden, indem positiv bewertete Slack-Variablen ( ) in die Einschränkungen des Optimierungsproblems eingeführt werden. ... Die modifizierte Zielfunktion ergibt sich aus folgender Gleichung:ξ

f(w)=w22+C(i=1Nξ)k

Dabei sind C und k benutzerdefinierte Parameter, die die Strafe für die Fehlklassifizierung der Trainingsinstanzen darstellen. Für den Rest dieses Abschnitts nehmen wir k = 1 an, um das Problem zu vereinfachen. Der Parameter C kann basierend auf der Leistung des Modells im Validierungssatz ausgewählt werden.

Daraus folgt, dass der Lagrange für dieses eingeschränkte Optimierungsproblem wie folgt geschrieben werden kann:

Lp=w22+C(i=1Nξ)ki=1Nλi(yi(wxi+b)1+ξi)i=1Nμiξi

Wenn die ersten beiden Terme die zu minimierende Zielfunktion sind, repräsentiert der dritte Term die Ungleichheitsbeschränkungen, die mit den Slack-Variablen verbunden sind, und der letzte Term ist das Ergebnis der Nicht-Negativitätsanforderungen an die Werte der ξi .

Das war also aus einem Lehrbuch von 2006.

Jetzt (im Jahr 2016) habe ich angefangen, neueres Material über SVM zu lesen. In der Stanford-Klasse zur Bilderkennung wird die Urform mit weichem Rand auf ganz andere Weise angegeben:

Beziehung zu Binary Support Vector Machine. Möglicherweise kommen Sie mit früheren Erfahrungen mit binären Support-Vektormaschinen zu dieser Klasse, in der der Verlust für das i-te Beispiel wie folgt geschrieben werden kann:

Stanford SVM

In ähnlicher Weise wird im Wikipedia-Artikel über SVM die Verlustfunktion wie folgt angegeben:

Geben Sie hier die Bildbeschreibung ein

Woher kommt diese "max" -Funktion? Ist es in den ersten beiden Formeln der Version "Einführung in Data Mining" enthalten? Wie versöhne ich die alten und neuen Formulierungen? Ist das Lehrbuch einfach veraltet?

stackoverflowuser2010
quelle

Antworten:

6

Die Slack-Variable ist wie folgt definiert (Bild aus Mustererkennung und maschinellem Lernen).ξ

Geben Sie hier die Bildbeschreibung ein

ξi=1yi(ωxi+b) wenn auf der falschen Seite des Randes liegt (dh ), .xi1yi(ωxi+b)>0ξi=0

Somit ist .ξi=max(0,1yi(ωxi+b))(1)

Minimieren Sie also die erste Definition, die der Einschränkung (1) unterliegt entspricht der Minimierung der zweiten Definition (Regularisierer + Scharnierverlust)

f(w)=w22+C(i=1Nξ)k
R(w)+Cmax(0,1yi(ωxi+b)).

Es gibt noch eine andere Frage, die verwandt sein könnte. Die Einschränkungen von SVMs im nicht trennbaren Fall verstehen? .

dontloo
quelle
Kannst du bitte erklären, warum zeta_i = 1-yi (wx_i + b) ..wenn x_i auf der falschen Seite ist
Milan Amrut Joshi
@MilanAmrutJoshi gute Frage, ich habe nicht wirklich darüber nachgedacht und darauf gewartet, ob es eine Antwort auf die Frage gibt, die Sie gerade gepostet haben
dontloo
@MilanAmrutJoshi Ich glaube, es hat etwas mit dem Rand zu tun, da der Verlust einen Term enthält. Ich denke, es ist gleich "die Grenze zu finden, die der Abstand aller Punkte auf der falschen Seite zum Rand ist." ist die kleinste "||w||2
Dontloo