Wie trainiere ich eine SVM über Backpropagation?

10

Ich habe mich gefragt, ob es möglich ist, eine SVM (sagen wir eine lineare, um die Sache zu vereinfachen) mit Backpropagation zu trainieren.

Derzeit bin ich an einer Straßensperre, weil ich nur daran denken kann, die Ausgabe des Klassifikators als zu schreiben

f(x;θ,b)=sgn(θx(b+1))=sgn(g(x;θ,b))

Wenn wir also versuchen, den "Rückwärtsdurchlauf" (propagierten Fehler) zu berechnen, erhalten wir , da dieAbleitung vonsgn(x)ist dsgn(x)

Ex=Ef(x;θ,b)f(x;θ,b)x=Ef(x;θ,b)sgn(g(x;θ,b))g(x;θ,b)g(x;θ,b)x=δdsgn(z)dzθ=δ0θ=0
sgn(x)
dsgn(x)dx={0if x02δ(x)if x=0

In ähnlicher Weise stellen wir fest, dass , was bedeutet, dass wir keine Informationen zurückgeben oder Gradientenaktualisierungen durchführen können!E/θ=E/b=0

Was gibt?

StevieP
quelle

Antworten:

14

Sie haben Recht, wenn Sie versuchen, die Genauigkeit der SVM in Trainingsfällen, auch als 0: 1-Verlust bezeichnet, direkt zu optimieren, verschwindet der Gradient. Deshalb machen die Leute das nicht. :) :)

Was Sie zu tun versuchen, ist aber nicht wirklich noch ein SVM; Es ist eher nur ein allgemeiner linearer Klassifikator. Eine SVM entsteht insbesondere dann, wenn Sie die 0-1-Verlustfunktion durch einen konvexen Ersatz ersetzen, der als Scharnierverlust bezeichnet wird . Dies entspricht der Idee der Margenmaximierung, die für die Idee einer SVM von zentraler Bedeutung ist. Diese Verlustfunktion ist (fast) differenzierbar; Das einzige Problem ist, wenn sich irgendwelche Ausgänge genau am Scharnierpunkt befinden, was (a) unter den vernünftigsten Annahmen mit der Wahrscheinlichkeit Null geschieht und (b) Sie einfach entweder 0 oder 1 als Ableitung (oder irgendetwas dazwischen) in verwenden können In diesem Fall führen Sie technisch einen Abstieg unter dem Gefälle durch.

Da es sich um Backpropagation handelt, gehe ich davon aus, dass Sie mit der Optimierung neuronaler Netze zumindest ein wenig vertraut sind. Das gleiche Problem tritt auch bei Klassifizierern für neuronale Netze auf. Deshalb nutzen die Menschen dort auch andere Verlustfunktionen.

Dougal
quelle
Ax+b
1
Ja, eine lineare SVM entspricht im Wesentlichen einer 1-Schicht-NN mit linearer Aktivierung am Ausgangsknoten und wird über Scharnierverlust trainiert.
Dougal
5

Wenn Sie nur an dem linearen Fall interessiert sind, ist die logistische Regression (LR) die bessere Wahl, da sie sowohl konvex als auch analytisch ist (Sie können sie möglicherweise kämmen, wenn Sie an der Regularisierung interessiert sind). Aber wenn Sie sich für nichtlinear entscheiden, kommt der schwierige Teil ins Spiel. In nichtlinearen Fällen gibt es keine vernünftige Möglichkeit, die Dinge sowohl konvex als auch analytisch zu halten. Sie müssen eines der beiden opfern. In neuronalen Netzen opfern Sie die Konvexität und in svms opfern Sie den Holomorphismus.

Genau genommen gibt es keinen Unterschied zwischen LR und SVM. SVMs sagen nur voraus, auf welcher Seite der Linie ein Punkt liegt. LRs berücksichtigen auch, wie weit sie von der Grenze entfernt sind (auf der Grenzrandlinie gibt Ihnen das Sigmoid die Wahrscheinlichkeit 0,5 im Falle von LR). SVMs sind gezwungen, diesen Kompromiss einzugehen, da für nichtlineare Kernel die Intuition der Entfernung von einer gekrümmten Hyperebene (algebraische Varietät ist ein besserer Begriff) nicht dieselbe ist wie im linearen Fall, sondern das Problem der Lösung der kürzesten Entfernung von einer Hyperfläche zu einem bestimmten Punkt ist sehr schwer (schwerer als die SVM selbst), aber andererseits hat Vapnik erkannt, dass es sehr einfach ist, nur vorherzusagen, auf welcher Seite der Grenze ein Punkt liegt, wie in der O (1) -Zeit. Dies ist die wahre Erkenntnis hinter SVM und macht es zur einzigen verfügbaren konvexen Optimierungsalternative in der statistischen Lerntheorie. Aber ich habe das Gefühl, Sie opfern etwas zu viel, sowohl der Holomorphismus als auch die Wahrscheinlichkeitsfähigkeit gehen verloren. Aber für bestimmte Fälle wie Ground-Truthing sind SVMs sehr zuverlässig und im Gegensatz zu ihren nicht konvexen Alternativen auch vollständig fälschbare wissenschaftliche Modelle.

Tldr: Ja, der Mittelwertsatz dient zur Rettung nichtanalytischer Funktionen. In konvex-nichtanalytischen Fällen wird der Mittelwert-Thorem zu einer Ungleichung, bei der einige Randbedingungen für die Subgradienten festgelegt werden, um einen Subgradienten-Anstand zu erzielen

Franck Dernoncourt
quelle
1
Was bedeutet LR für Sie?
Sycorax sagt Reinstate Monica
@ Sycorax logistische Regression
Franck Dernoncourt