Ich versuche, die SVM Verlustfunktion und ihre Steigung zu implementieren. Ich fand einige Beispielprojekte, die diese beiden implementieren, aber ich konnte nicht herausfinden, wie sie die Verlustfunktion verwenden können, wenn sie den Gradienten berechnen. HierBerechnen Sie die Steigung der SVM Verlustfunktion
ist die Formel der Verlustfunktion:
Was kann ich nicht verstehen, ist, dass, wie kann ich das Ergebnis der Verlustfunktion während Gradienten Berechnung?
Das Beispiel Projekt berechnet den Gradienten wie folgt:
for i in xrange(num_train):
scores = X[i].dot(W)
correct_class_score = scores[y[i]]
for j in xrange(num_classes):
if j == y[i]:
continue
margin = scores[j] - correct_class_score + 1 # note delta = 1
if margin > 0:
loss += margin
dW[:,j] += X[i]
dW[:,y[i]] -= X[i]
dW für gradient Ergebnis. Und X ist das Array von Trainingsdaten. Aber ich habe nicht verstanden, wie die Ableitung der Verlustfunktion in diesem Code resultiert.
Welches Beispiel benutzen Sie? – Prophecies