Regularisierung: Warum mit 1 / 2m multiplizieren?

9

In den Vorlesungsnotizen der dritten Woche der Coursera Machine Learning-Klasse von Andrew Ng wird der Kostenfunktion ein Begriff hinzugefügt, um die Regularisierung zu implementieren:

J.+(θ)=J.(θ)+λ2mj=1nθj2

In den Vorlesungsunterlagen heißt es:

Wir könnten auch alle unsere Theta-Parameter in einer einzigen Summe regulieren:

michnθ 12m [ich=1m(hθ(x(ich))- -y(ich))2+λ j=1nθj2]]

12m wird später auf den Regularisierungsterm neuronaler Netze angewendet :

Denken Sie daran, dass die Kostenfunktion für die regulierte logistische Regression war:

J.(θ)=- -1mich=1m[y(ich) Log(hθ(x(ich)))+(1- -y(ich)) Log(1- -hθ(x(ich)))]]+λ2mj=1nθj2

Für neuronale Netze wird es etwas komplizierter sein:

J.(Θ)=- -1mich=1mk=1K.[yk(ich)Log((hΘ(x(ich)))k)+(1- -yk(ich))Log(1- -(hΘ(x(ich)))k)]]+λ2ml=1L.- -1ich=1slj=1sl+1(Θj,ich(l))2
  • Warum wird hier die konstante Hälfte verwendet? Damit es in der Ableitung aufgehoben wird ?J.'
  • Warum die Aufteilung nach Trainingsbeispielen? Wie wirkt sich die Anzahl der Trainingsbeispiele auf die Dinge aus?m
Tom Hale
quelle
Sind Sie sicher, dass die 1 / m auf der Regularisierung und nicht auf der J (Theta) AFAIK @DikranMarsupial-Antwort liegt?
Seanv507
Diese Annahme ist falsch - wird sowohl auf die nicht regulierte Kostenfunktion als auch auf den Regularisierungsterm angewendet. Ich habe die Frage aktualisiert, um die vollständigen Formeln anzugeben. 12m
Tom Hale

Antworten:

5

Angenommen, Sie haben 10 Beispiele und teilen die L2-Regularisierungskosten nicht durch die Anzahl der Beispiele m . Dann beträgt eine "Dominanz" der L2-Regularisierungskosten im Vergleich zu Kreuzentropiekosten 10: 1, da jedes Trainingsbeispiel proportional zu 1 / m = 1/10 zu den Gesamtkosten beitragen kann .

Wenn Sie mehr Beispiele haben, sagen wir 100, dann beträgt die "Dominanz" der L2-Regularisierungskosten ungefähr 100: 1, sodass Sie ein λ entsprechend verringern müssen , was unpraktisch ist. Es ist besser, λ unabhängig von einer Chargengröße konstant zu halten.

Update: Um dieses Argument zu verstärken, habe ich ein Jupyter-Notizbuch erstellt .

grez
quelle
1
Hmm, aber ist nicht der Zweck des 1 / m-Faktors vor der Kostenfunktion, dass jedes Trainingsbeispiel gleichermaßen zu den Kosten beiträgt? Da wir also bereits die Einzelkosten mitteln, sollte dies nicht die Ursache für die Dominanz des L2-Terms sein. Aus Ihrer großartigen Simulation geht jedoch hervor, dass der 1 / m-Faktor auch vor dem L2-Term hilfreich ist. Ich verstehe (noch) nicht die Intuition dahinter.
Milania
Warum ist es unpraktisch? Es ist einfach, die L2-Kosten durch die Anzahl der Proben zu teilen. Ich denke, vielleicht haben Sie es falsch formuliert. Ich denke, Sie wollten damit sagen, dass es unpraktisch ist, die L2-Kosten jedes Mal manuell zu skalieren. Es ist besser, sie durch die Anzahl der Stichproben als Teil der Formel zu dividieren, um sie automatisch zu skalieren.
SpaceMonkey
6

Die Verlustfunktion auf dem Trainingssatz ist im Allgemeinen eine Summe über die Muster, aus denen der Trainingssatz besteht. Wenn der Trainingssatz größer wird, skaliert der erste Term im Wesentlichen linear mit . Wir können den Bereich verengen für seraching für einen guten Wert von ein gutes Stück , wenn wir zuerst die Regularisierungsterm durch dividieren die Abhängigkeit der zum Ausgleich auf . Die 2 liegt natürlich tatsächlich im Nenner, um die Ableitungen zu vereinfachen, die für den Opimierungsalgorithmus benötigt werden, der zur Bestimmung des optimalen .m λ m J ( θ ) m θJ.(θ)mλmJ.(θ)mθ

Dikran Beuteltier
quelle
Vielen Dank für die Erklärung der nicht regulierten Kostenskalierung mit . Ich verstehe immer noch nicht, wie die Division durch dazu beiträgt, dass ein einzelner Wert bei stark unterschiedlichen Werten von besser funktioniert . Die nicht regulierten Kosten hängen bereits stark von . Warum sollte man sich also um den Regularisierungsterm kümmern, der von Parametern abhängt , nicht von Beispielen? Liegt es daran, dass bei mehr Trainingsbeispielen die Varianz bei gleicher Anzahl von Parametern abnimmt? m λ m m n mmmλmmnm
Tom Hale
Die Verlustfunktion in der Frage ist ein Durchschnitt über alle Beispiele (dh sie wird durch m geteilt), keine Summe, daher sehe ich nicht wirklich, wie diese Antwort funktioniert.
Denziloe
@Denziloe wird auch auf den Regularisierungsbegriff angewendet.
Dikran Beuteltier
2

Ich habe mich bei diesem Kurs über genau das Gleiche gewundert und am Ende ein bisschen nachgeforscht. Ich werde hier eine kurze Antwort geben, aber Sie können eine detailliertere Übersicht in einem Blog-Beitrag lesen, den ich darüber geschrieben habe .

Ich glaube, dass zumindest ein Teil des Grundes für diese Skalierungskoeffizienten darin besteht, dass die L²-Regularisierung wahrscheinlich durch die Einführung des verwandten, aber nicht identischen Konzepts des Gewichtsabfalls in das Feld des tiefen Lernens eingetreten ist.

Der Faktor 0,5 ist dann da, um einen schönen Nur-λ-Koeffizienten für den Gewichtsabfall im Gradienten und die Skalierung um m zu erhalten. Nun , es gibt mindestens 5 verschiedene Motivationen, die ich gefunden oder mir ausgedacht habe:

  1. Ein Nebeneffekt des Batch-Gradientenabfalls: Wenn stattdessen eine einzelne Iteration des Gradientenabstiegs über den gesamten Trainingssatz formalisiert wird, wird der Algorithmus, der manchmal als Batch-Gradientenabstieg bezeichnet wird, der Skalierungsfaktor von 1 / m, eingeführt, um die Kostenfunktion vergleichbar zu machen Wird bei Datensätzen unterschiedlicher Größe automatisch auf den Begriff des Gewichtsabfalls angewendet.
  2. Skalieren Sie auf das Gewicht eines einzelnen Beispiels: Siehe grez 'interessante Intuition.
  3. Repräsentativität des Trainingssatzes: Es ist sinnvoll, die Regularisierung zu verkleinern, wenn die Größe des Trainingssatzes zunimmt, da statistisch gesehen auch die Repräsentativität der Gesamtverteilung zunimmt. Grundsätzlich gilt: Je mehr Daten wir haben, desto weniger Regularisierung ist erforderlich.
  4. Λ vergleichbar machen: Indem hoffentlich die Notwendigkeit verringert wird, λ zu ändern, wenn sich m ändert, macht diese Skalierung λ selbst über Datensätze unterschiedlicher Größe hinweg vergleichbar. Dies macht λ zu einem repräsentativeren Schätzer für den tatsächlichen Regularisierungsgrad, der von einem bestimmten Modell für ein bestimmtes Lernproblem benötigt wird.
  5. Empirischer Wert: Das großartige Notebook von grezzeigt, dass dies die Leistung in der Praxis verbessert.
ShayPal5
quelle
0

Ich war auch verwirrt darüber, aber dann in einem Vortrag zum Deeplearning.ai Andrew schlägt vor, dass dies nur eine Skalierungskonstante ist:

http://www.youtube.com/watch?v=6g0t3Phly2M&t=2m50s

Vielleicht gibt es einen tieferen Grund für die Verwendung von 1 / 2m, aber ich vermute, es ist einfach ein Hyperparameter.

Keyan P.
quelle
Dies beantwortet die Frage nicht.
Michael R. Chernick