Warum führen kleinere Gewichte zu einfacheren Regularisierungsmodellen?

27

Ich habe Andrew Ngs Maschinelles Lernen-Kurs vor ungefähr einem Jahr abgeschlossen und schreibe jetzt meine High-School-Mathematikerkunde über die Funktionsweise der logistischen Regression und Techniken zur Leistungsoptimierung. Eine dieser Techniken ist natürlich die Regularisierung.

Ziel der Regularisierung ist es, eine Überanpassung zu verhindern, indem die Kostenfunktion um das Ziel der Modellvereinfachung erweitert wird. Wir können dies erreichen, indem wir die Größe der Gewichte bestrafen, indem wir zur Kostenfunktion jedes der quadrierten Gewichte addieren, multipliziert mit einigen Regularisierungsparametern.

Der Algorithmus für maschinelles Lernen zielt nun darauf ab, die Größe der Gewichte zu reduzieren, während die Genauigkeit des Trainingssatzes beibehalten wird. Die Idee ist, dass wir einen Punkt in der Mitte erreichen, an dem wir ein Modell erstellen können, das die Daten verallgemeinert und nicht versucht, das gesamte stochastische Rauschen zu berücksichtigen, indem es weniger komplex ist.

Meine Verwirrung ist, warum wir die Größe der Gewichte bestrafen ? Warum erzeugen größere Gewichte komplexere Modelle und kleinere Gewichte einfachere / glattere Modelle? Andrew Ng behauptet in seinem Vortrag, dass die Erklärung schwierig zu lehren ist, aber ich schätze, ich suche jetzt nach dieser Erklärung.

Prof. Ng gab tatsächlich ein Beispiel dafür, wie die neue Kostenfunktion dazu führen kann, dass die Gewichtung von Merkmalen (dh x ^ 3 und x ^ 4) gegen Null tendiert, so dass der Grad des Modells verringert wird, dies führt jedoch nicht zu einem vollständigen Ergebnis Erläuterung.

Meine Intuition ist, dass kleinere Gewichtungen bei Merkmalen mit größeren Exponenten "akzeptabler" sind als solche mit kleineren Exponenten (weil die Merkmale mit kleinen Gewichtungen wie die Basis der Funktion sind). Kleinere Gewichte bedeuten kleinere "Beiträge" zu den Merkmalen mit hoher Ordnung. Aber diese Intuition ist nicht sehr konkret.

MCKapur
quelle
2
Das klingt nach einer Frage, die beantwortet werden muss, damit meine Oma sie versteht.
EngrStudent
2
@EngrStudent Weil genau so muss ich es in meiner Mathematik-IA präsentieren, damit mein Mathematiklehrer und meine Mathematikprüfer lesen können.
MCKapur

Antworten:

4

Wenn Sie Regularisierung sind Sie nicht nur in den Probenfehler zu minimieren , aber OutOfSampleErrOrichnSeinmpleErrOr+MOdelCOmplexichtyPeneinlty.

Genauer gesagt, für eine HypothesehH, wobeiλeinige Parameter ist,Regelλ(0,1),mist die Anzahl der Beispiele inDatenSet, undΩeine gewisse Strafedie auf die Gewichte abhängig istw,Ω=wTw. Dies wird alserweiterter Fehler bezeichnet. Jetzt können Sie die obige Funktion nur minimieren, wenn die Gewichte eher klein sind.JeinuG(h(x),y,λ,Ω)=J(h(x),y)+λ2mΩhHλλ(0,1)mΩwΩ=wTw

Hier ist ein R-Code zum Spielen

w <- c(0.1,0.2,0.3)
out <- t(w) %*% w
print(out)

Anstatt also den gesamten Hypothesenraum bestrafen, bestrafen wir jede Hypothese h einzeln. Wir beziehen uns manchmal auf die Hypothese h durch ihren Gewichtsvektor w .Hhhw

Sehen wir uns die folgende Hypothese an, warum kleine Gewichte mit einer geringen Komplexität des Modells einhergehen: . Insgesamt haben wir drei aktive Gewichtsparameter w 1 , , w 3 . Setzen wir nun w 3 auf einen sehr sehr kleinen Wert, w 3 = 0 . Dies reduziert die Komplexität des Modells auf: hh1(x)=x1×w1+x2×w2+x3×w3w1,,w3w3w3=0 . Anstelle von drei aktiven Gewichtsparametern sind nur noch zwei übrig.h1(x)=x1×w1+x2×w2

JimBoy
quelle
1
Wenn eine Gewichtung auf Null reduziert wird, verringert sich natürlich die Komplexität des Modells, da Sie einen Term und damit eine Rechenoperation entfernen können. Dies erklärt jedoch nicht, warum sich die Komplexität des Modells verringert, wenn sich der Wert des Gewichts Null nähert . Kann jemand das mit Worten und nicht mit Formeln erklären?
Greg7gkb
6

Ich bin mir nicht sicher, ob ich wirklich weiß, wovon ich spreche, aber ich werde es versuchen. Es ist nicht so sehr, dass kleine Gewichte eine Überanpassung verhindern (glaube ich), sondern vielmehr, dass das Regularisieren den Modellraum stärker reduziert. Tatsächlich können Sie etwa 10000000 regulieren, wenn Sie die L2-Norm Ihrer X-Werte abzüglich eines Vektors von 10000000s verwenden möchten. Dies würde auch die Überanpassung verringern (natürlich sollten Sie auch einige Gründe dafür haben (dh Ihre Y-Werte sind möglicherweise 10000000-mal größer als die Summe Ihrer X-Werte, aber niemand tut dies wirklich, weil Sie einfach die Daten neu skalieren können).

Bias und Varianz sind beide eine Funktion der Modellkomplexität. Dies hängt mit der VC-Theorie zusammen, schauen Sie sich das an. Je größer der Raum möglicher Modelle ist (dh Werte, die alle Ihre Parameter grundsätzlich annehmen können), desto wahrscheinlicher ist es, dass das Modell überpasst. Wenn Ihr Modell alles kann, von einer geraden Linie bis hin zu einem Wackeln in jede Richtung wie eine Sinuswelle, die auch auf und ab gehen kann, ist es viel wahrscheinlicher, zufällige Störungen in Ihren Daten zu erfassen und zu modellieren, die nicht das Ergebnis der sind Das zugrunde liegende Signal ist jedoch das Ergebnis eines glücklichen Zufalls in diesem Datensatz.

Wenn Sie regulieren, reduzieren Sie im Grunde den Modellraum. Dies bedeutet nicht zwangsläufig, dass weichere / flachere Funktionen eine höhere Abweichung und eine geringere Varianz aufweisen. Stellen Sie sich ein lineares Modell vor, das mit einer Sinuswelle überlagert ist, die nur sehr kleine Amplitudenschwingungen aufweist, die im Grunde nichts bewirken (im Grunde eine Fuzzy-Linie). Diese Funktion ist in gewissem Sinne super verwackelt, passt aber nur geringfügig mehr als eine lineare Regression. Der Grund, warum glattere / flachere Funktionen tendenziell eine höhere Verzerrung und eine geringere Varianz aufweisen, liegt darin, dass wir als Datenwissenschaftler davon ausgehen, dass wir die Modelle, die glatter und einfacher sind, lieber mit dem Rasiermesser von Occam behalten und wegwerfen würden, wenn wir den Probenraum verkleinern würden das ist wackelig und oszilliert überall. Es ist sinnvoll, zuerst wackelige Modelle zu werfen,

Regularisierung wie die Ridge-Regression reduziert den Modellraum, da es teurer wird, weiter von Null (oder einer beliebigen Zahl) entfernt zu sein. Wenn das Modell vor der Wahl steht, eine kleine Störung in Ihren Daten zu berücksichtigen, wird es daher eher auf der Seite von "nicht" liegen, da dies (im Allgemeinen) Ihren Parameterwert erhöht. Wenn diese Störung zufällig ist (dh eine Ihrer x-Variablen hatte nur eine geringfügige zufällige Korrelation mit Ihren y-Variablen), berücksichtigt das Modell dies nicht im Vergleich zu einer nicht regulierten Regression, da mit der nicht regulierten Regression keine Kosten verbunden sind zunehmende Beta-Größen. Wenn diese Störung jedoch auf ein reales Signal zurückzuführen ist, wird Ihre regulierte Regression es mit größerer Wahrscheinlichkeit verfehlen, weshalb sie eine höhere Verzerrung aufweist (und warum es einen Kompromiss zwischen Varianz und Verzerrung gibt).

www3
quelle
Vielen Dank für Ihre nachdenkliche Antwort! Also ja, im vierten Absatz geben Sie an: "Wenn das Modell vor der Wahl steht, eine kleine Störung in Ihren Daten zu berücksichtigen, wird es wahrscheinlich eher auf der Seite von" nicht "liegen, da dies (im Allgemeinen) Ihren Parameter erhöht Wert.". Dies ist, was ich im Einzelnen frage, warum dies der Fall ist? Vielen Dank!
MCKapur
Durch Hinzufügen eines Straffaktors verringern Sie die Wahrscheinlichkeit, dass das Modell höhere Beta-Werte aufweist, weshalb der Modellbereich kleiner ist. Die andere Sache, an die Sie sich erinnern sollten, ist, dass Ihr Modell, wenn es nur aus Rauschen besteht, wahrscheinlich eine Steigung von Null hat, da es keine Korrelation gibt Grundsätzlich richtig). Wenn es also eine Störung / Beziehung gibt, ist es wahrscheinlich, dass dies das Beta erhöht. Die Regularisierung bestraft diese Tatsache und verhindert, dass die Regression diese Störungen, sei es Signal oder Rauschen, ausgleicht.
www3
@ ww3 Ich verstehe. Aber warum führen größere Betas zu einem größeren Modellraum?
MCKapur,
Ich bin mir nicht sicher, ob du das noch brauchst, aber ich dachte, ich würde antworten. Es geht nicht um große Betas. Zum Beispiel können Sie eine Regression mit Y oder 1000 * Y durchführen. Jede Regression hat dieselbe Komplexität, aber die Betas sind im zweiten Fall 1000 höher. Typische Regularisierungen erschweren das Erreichen bestimmter Beta-Kombinationen, z. B. wenn ein Koeffizient 1000 und ein anderer 1000 beträgt, und andere, die flacher / einfacher sind, wie alle Nullen. Dies bedeutet, dass das regularisierte Modell bei einem Modell mit bestimmten verrauschten Macken aus den Daten weniger wahrscheinlich ist, dass es diese aufnimmt.
www3
Um fortzufahren, ignoriert das Modell nicht alle lauten Macken, sondern nur Macken, die die absoluten Werte der Betas erhöhen. Dies bedeutet, dass Macken, die die Werte von Betas reduzieren, stärker betont werden. Dies ist jedoch in Ordnung, da Sie weitaus mehr verwackelte Linien zeichnen können als gerade Linien (dh Sie können eine quadratische Gleichung mit einer linearen oder konstanten Gleichung vergleichen). Wenn also verrauschte Fehler auftreten, die sich auf die Daten auswirken, ist es viel wahrscheinlicher, dass ein Modell zu einem wackligen (und daher komplexeren) Modell passt als zu einem flacheren / geraden Modell.
www3
3

Story:
Meine Oma geht, klettert aber nicht. Einige Omas tun. Eine Oma war berühmt dafür , den Kilimandscharo zu besteigen .

Dieser schlafende Vulkan ist groß. Es ist 16.000 Fuß über seiner Basis. (Hassen Sie nicht meine imperialen Einheiten.) Manchmal sind auch Gletscher auf dem Gipfel.

Wenn Sie in einem Jahr klettern, in dem es keinen Gletscher gibt und Sie an den Gipfel gelangen, ist es derselbe Gipfel, als ob es einen Gletscher gäbe? Die Höhe ist anders. Der Weg, den Sie gehen müssen, ist anders. Was ist, wenn Sie nach oben gehen, wenn die Gletscherdicke größer ist? Ist das mehr eine Leistung? Ungefähr 35.000 Menschen versuchen jedes Jahr, es zu besteigen , aber nur ungefähr 16.000 schaffen es.

Anwendung:
So würde ich meiner Oma die Gewichtskontrolle (auch bekannt als Minimierung der Modellkomplexität) erklären:

Oma, dein Gehirn ist ein erstaunlicher Denker, ob du es weißt oder nicht. Wenn ich Sie frage, wie viele der 16.000, die glauben, die Spitze erreicht zu haben, dies tatsächlich getan haben, würden Sie "alle von ihnen" sagen.

Wenn ich Sensoren in die Schuhe aller 30.000 Kletterer stecke und die Höhe über dem Meeresspiegel messe, werden einige dieser Leute nicht so hoch wie andere und qualifizieren sich möglicherweise nicht. Wenn ich das mache, gehe ich zu einem konstanten Modell - ich sage, wenn die Höhe nicht gleich einem Perzentil der gemessenen Maximalhöhen ist, dann ist es nicht die Spitze. Einige Leute springen an der Spitze. Einige Leute überqueren einfach die Grenze und setzen sich.

Ich könnte dem Sensor Breiten- und Längengrade hinzufügen und einige Gleichungen höherer Ordnung anpassen, und vielleicht könnte ich eine bessere Anpassung erhalten und mehr Leute haben, vielleicht sogar genau 45% aller Leute, die es versuchen.

Nehmen wir also an, nächstes Jahr ist ein "großes Gletscherjahr" oder ein "kein Gletscherjahr", weil ein Vulkan die Albedo der Erde wirklich verändert . Wenn ich mein komplexes und anspruchsvolles Modell aus diesem Jahr nehme und es auf die Leute übertrage, die nächstes Jahr klettern, wird das Modell seltsame Ergebnisse haben. Vielleicht wird jeder "passen" oder sogar zu hoch sein, um zu passen. Vielleicht kommt überhaupt niemand vorbei und es wird angenommen, dass niemand den Aufstieg tatsächlich abgeschlossen hat. Insbesondere wenn das Modell komplex ist, wird es sich nicht gut verallgemeinern lassen. Es passt zwar genau zu den diesjährigen "Trainings" -Daten, aber wenn neue Daten eingehen, verhält es sich schlecht.

Diskussion:
Wenn Sie die Komplexität des Modells einschränken, können Sie in der Regel eine bessere Verallgemeinerung erzielen, ohne eine Überanpassung vorzunehmen. Wenn einfachere Modelle verwendet werden, die eher für Variationen in der realen Welt ausgelegt sind, werden tendenziell bessere Ergebnisse erzielt, wenn alle anderen gleich sind.

Jetzt haben Sie eine feste Netzwerktopologie. Sie sagen also: "Meine Parameteranzahl ist fest". Die Modellkomplexität kann nicht variieren. Unsinn. Messen Sie die Entropie in den Gewichten. Wenn die Entropie höher ist, bedeutet dies, dass einige Koeffizienten wesentlich informativer sind als andere. Wenn Sie eine sehr niedrige Entropie haben, bedeutet dies, dass die Koeffizienten im Allgemeinen einen ähnlichen Grad an "Informativität" aufweisen. Informativität ist nicht unbedingt eine gute Sache. In einer Demokratie möchten Sie, dass alle Menschen gleich sind, und Dinge wie George Orwell, die "gleicher sind als andere", sind ein Maß für das Versagen des Systems. Wenn Sie keinen guten Grund dafür haben, möchten Sie, dass die Gewichte einander ziemlich ähnlich sind.

Persönlich: Anstatt Voodoo oder Heuristik zu verwenden, bevorzuge ich Dinge wie "Informationskriterien", weil sie mir zuverlässige und konsistente Ergebnisse ermöglichen. AIC , AICc und BIC sind einige häufige und nützliche Ausgangspunkte. Die Analyse zu wiederholen, um die Stabilität der Lösung oder die Ergebnisse verschiedener Informationskriterien zu bestimmen, ist ein gängiger Ansatz. Man könnte versuchen, die Entropie in den Gewichten zu begrenzen.

EngrStudent - Setzen Sie Monica wieder ein
quelle
2
Interessanterweise anders. Pedant's Corner: Sie haben "Orson Wells" geschrieben. Die Schreibweise ist Welles. Ich vermute, Sie haben die ganze Zeit George Orwell ( Animal Farm ) gemeint .
Nick Cox
@ NickCox - Ich war sehr krank. Mein Gehirn funktioniert nicht so gut, wie ich es mir gewünscht habe. Orwell war es.
EngrStudent
Ich möchte verstehen, warum die Modellkomplexität mit einer festgelegten Anzahl von Parametern variieren kann (die Idee Ihres vorletzten Absatzes), und ich habe kein Glück, "Parameter-Entropie" oder "ols Parameter-Entropie" zu googeln. Haben Sie das Konzept der Entropie verwendet, weil es einfach gut passt, oder ist dies der tatsächliche, weithin bekannte Name einer Eigenschaft von Modellparametern? Danke im Voraus.
Alvaro Fuentes
1
@AlvaroFuentes - Entropie kommt in diesem Sinne aus der Informationstheorie. Hier ist der Wikipedia-Artikel. Stellen Sie sich Gewichte als Liste vor, und Sie können die Entropie des Systems aller Gewichte mithilfe einer Kernel-Methode berechnen, um die Wahrscheinlichkeitsdichte zu approximieren. Sie könnten die mittlere Entropie pro Neuron betrachten, um sie auf einer höheren Skala zwischen Neuronen zu vergleichen.
EngrStudent
0

Eine einfache Intuition ist die folgende. Denken Sie daran, dass zur Regularisierung die Funktionen standardisiert werden sollten, um ca. der gleiche Maßstab.

Nehmen wir an, dass die Minimierungsfunktion nur die Summe der Fehlerquadrate ist:

SSE

SSESSE

Betrachten wir nun die Regularisierung, in diesem Fall LASSO. Die zu minimierenden Funktionen sind dann

SSE+λΣ|β|

Das Hinzufügen eines zusätzlichen Features führt jetzt zu einer zusätzlichen Strafe: Die Summe der absoluten Koeffizienten wird größer! Die Reduzierung der SSE sollte die zusätzliche Strafe aufwiegen. Zusätzliche Funktionen können nicht mehr kostenlos hinzugefügt werden.

Die Kombination aus Merkmalstandardisierung und Bestrafung der Summe der absoluten Koeffizienten schränkt den Suchraum ein, was zu einer geringeren Überanpassung führt.

Nun LASSO:

SSE+λΣ|β|

neigt dazu, die Koeffizienten auf Null zu setzen, während die Gratregression:

SSE+λΣβ2

neigt dazu, die Koeffizienten proportional zu verkleinern. Dies kann als Nebeneffekt der Art der Bestrafungsfunktion angesehen werden. Das folgende Bild hilft dabei:

Bildbeschreibung hier eingeben

Die Regularisierungsstraffunktion in der Praxis gibt ein "Budget" für die Parameter vor, wie oben im Cyan-Bereich dargestellt.

SSE

Das Bild stammt von https://onlinecourses.science.psu.edu/stat857/node/158

Zusammenfassen: Die Regularisierung bestraft das Hinzufügen zusätzlicher Parameter. Abhängig von der Art der Regularisierung werden alle Koeffizienten verkleinert (Ridge) oder eine Reihe von Koeffizienten auf 0 gesetzt, während die anderen Koeffizienten beibehalten werden, soweit das Budget dies zulässt (Lasso).

spdrnl
quelle
1
Sie erklären nur den Unterschied zwischen Lasso und Gratregression, fragen sich aber, warum Regularisierung zu geringerer Komplexität führt.
Sobi
Bitte lesen Sie diesen Abschnitt: "Das Hinzufügen eines zusätzlichen Features führt jetzt zu einer zusätzlichen Strafe: Die Summe der absoluten Koeffizienten wird größer! Die Reduzierung der SSE sollte die zusätzliche Strafe überwiegen. Es ist nicht mehr möglich, zusätzliche Features ohne Kosten hinzuzufügen."
SPDRNL
L1λλL2
Das Wesentliche ist, dass die Art der Strafe für das Hinzufügen von Parametern die Parameter auf unterschiedliche Weise beeinflusst. In der Praxis erhält man ein Modell mit Parametern, die weniger genau zu den Trainingsdaten passen: Das war eine Art Ziel.
SPDRNL
0

Durch Hinzufügen von Guass'schem Rauschen zu der Eingabe verhält sich das Lernmodell wie ein L2-Penalty-Regularisierer.

Um zu sehen, warum, betrachten Sie eine lineare Regression, bei der das Rauschen zu den Features hinzugefügt wird. Der Verlust ist nun eine Funktion der Fehler + des Beitrags der Gewichtsnorm.

siehe Ableitung: https://www.youtube.com/watch?v=qw4vtBYhLp0

Hanan Shteingart
quelle
0

Ich erinnere mich, dass mein Lehrer in einer Universitätsklasse sagte, dass die Bestrafung großer Parameter die Überanpassung verringern kann, da dadurch verhindert wird, dass das Modell bestimmten Merkmalen in Daten zu viel Gewicht beimisst das Etikett, anstatt zu versuchen, allgemeine Regeln zu lernen.

rongzzz
quelle