Frage

Ich bin mit der SVM-Theorie nicht sehr vertraut und verwende diese LinearSVC-Klasse in Python:

http://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVC.html#sklearn.svm.LinearSVC

Ich habe mich gefragt, was ist der Unterschied zwischen Straf- und Verlustparametern?

War es hilfreich?

Lösung

Im maschinellen Lernen, verlustfunktion misst die Qualität Ihrer Lösung, während penalty-Funktion erlegt Ihrer Lösung einige Einschränkungen auf.

Insbesondere lassen Sie X seien Sie Ihre Daten und y seien Sie Etiketten Ihrer Daten.Dann verlustfunktion V(f(X), y) misst, wie gut Ihr Modell ist f ordnet Ihre Daten den Etiketten zu.Hier ist f (X) ein Vektor vorhergesagter Markierungen.

L1- und L2-Normen sind häufig verwendete und intuitiv verstandene Verlustfunktionen (siehe *). L1 norm: V(f(X),y) = |f(x1) - y1| + ... + |f(xn) - yn|, wobei f(xi) - die vorhergesagte Bezeichnung des i-ten Objekts und yi die tatsächliche Bezeichnung ist. L2-Norm: V(f(X),y) = sqrt(|f(x1) - y1|^2 + ... + |f(xn) - yn|^2) , wobei sqrt Quadratwurzel ist.

Wie für penalty-Funktion, es wird verwendet, um einige Beschränkungen aufzuerlegen R (f) auf die Ihre Lösung f.Die L1-Norm könnte sein R(f)=|f1| + ... + |fm|, und ähnlich können Sie die L2-Norm definieren.Hier, f1,..., ukw sind die Koeffizienten des Modells.Sie kennen sie zunächst nicht, dies sind die Werte, die von einem maschinellen Lernalgorithmus aus Ihren Daten gelernt werden.

Schließlich ist die Gesamtkostenfunktion V(f(X),y) + lambda*R(f).Und das Ziel ist es, f zu finden, das Ihre Kostenfunktion minimieren würde.Dann wird dieses f verwendet, um Vorhersagen für die neuen unsichtbaren Objekte zu treffen.Warum brauchen wir eine Straffunktion?Es stellt sich heraus, dass die Straffunktion Ihrer Lösung einige nette Eigenschaften hinzufügen kann.Wenn Sie beispielsweise zu viele Funktionen haben, hilft die L1-Norm, eine Überanpassung zu verhindern, indem spärliche Lösungen generiert werden.

* So funktionieren Support-Vektor-Maschinen nicht genau, aber Sie könnten eine Vorstellung davon bekommen, was diese Begriffe bedeuten.Beispielsweise werden in SVM die Funktionen L1-Scharnierverlust und L2-Scharnierverlust verwendet. L1-Scharnier: V(f(X),y) = max(0,1 - y1*f(x1)) + ... + max(0,1 - yn*f(xn)), und L2 ist ähnlich, aber mit quadratischen Termen.Eine gute Einführung in ML finden Sie in Kurs für maschinelles Lernen von Andrew Ng auf Coursera

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top