Überanpassung: L2-Regularisierung

L2-Regularisierung ist ein beliebter Regularisierungsmesswert, der die folgende Formel verwendet:

$$L_2\text{ regularization } = {w_1^2 + w_2^2 + ... + w_n^2}$$

Die folgende Tabelle zeigt beispielsweise die Berechnung von L2 Regularisierung für ein Modell mit sechs Gewichtungen:

Wert Quadratischer Wert
W1 0,2 0,04
W2 -0,5 0,25
W3 5 25.0
W4 -1,2 1,44
W5 0,3 0,09
W6 -0,1 0,01
    26,83 = Summe

Beachten Sie, dass Gewichtungen nahe null sich nicht auf die L2-Regularisierung auswirken aber große Gewichtungen können große Auswirkungen haben. Im Feld vorherigen Berechnung:

  • Ein einzelnes Gewicht (w3) trägt zu etwa 93% des Gesamtkomplexität.
  • Die anderen fünf Gewichtungen tragen zusammen nur etwa 7% des Gesamtkomplexität.

Die L2-Regularisierung fördert Gewichtungen in Richtung 0, überträgt aber nie die Gewichtung bis auf null.

Übungen: Wissen testen

Was passiert, wenn Sie die L2-Regularisierung beim Trainieren eines Modells verwenden mit der Gesamtkomplexität des Modells vergleichen?
Die Gesamtkomplexität des Systems wird wahrscheinlich sinken.
Da die L2-Regularisierung Gewichtungen in Richtung 0 fördert, wird die Komplexität insgesamt wahrscheinlich sinken.
Die Gesamtkomplexität des Modells bleibt wahrscheinlich konstant.
Das ist sehr unwahrscheinlich.
Die Gesamtkomplexität des Modells wird wahrscheinlich zunehmen.
Das ist unwahrscheinlich. Denken Sie daran, dass die L2-Regularisierung fördert Gewichtungen in Richtung 0.
Wenn Sie beim Trainieren eines Modells die L2-Regularisierung verwenden, werden einige Funktionen aus dem Modell entfernt.
Richtig
Auch wenn die L2-Regularisierung einige Gewichtungen sehr wahrscheinlich werden Gewichtungen niemals ganz auf null geschoben. Daher tragen alle Funktionen weiterhin zur das Modell zu verstehen.
Falsch
Die L2-Regularisierung verschiebt Gewichtungen niemals ganz bis Null.

Regularisierungsrate (Lambda)

Wie bereits erwähnt, wird beim Training versucht, eine Kombination aus Verlust und Komplexität zu minimieren:

$$\text{minimize(loss} + \text{ complexity)}$$

Modellentwickler optimieren die Gesamtauswirkungen der Komplexität auf das Modelltraining durch Multiplizieren seines Werts mit einem Skalar, Regularisierungsrate. Das griechische Zeichen Lambda symbolisiert normalerweise die Regularisierungsrate.

Modellentwickler möchten also Folgendes tun:

$$\text{minimize(loss} + \lambda \text{ complexity)}$$

Eine hohe Regularisierungsrate:

  • Stärket den Einfluss der Regularisierung und verringert so die Chancen Überanpassung.
  • Neigt dazu, ein Histogramm von Modellgewichtungen zu erstellen, das Folgendes enthält: Eigenschaften: <ph type="x-smartling-placeholder">
      </ph>
    • Normalverteilung
    • eine mittlere Gewichtung von 0.

Eine niedrige Regularisierungsrate:

  • Verringert den Einfluss der Regularisierung und erhöht damit die Wahrscheinlichkeit, Überanpassung.
  • Neigt dazu, ein Histogramm von Modellgewichtungen mit einer flachen Verteilung zu erstellen.

Ein Beispiel: Das Histogramm der Modellgewichtungen für eine hohe Regularisierungsrate wie in Abbildung 18 dargestellt.

<ph type="x-smartling-placeholder">
</ph> Abbildung 18: Histogramm der Gewichtungen eines Modells mit einem Mittelwert von null und
            Normalverteilung. <ph type="x-smartling-placeholder">
</ph> Abbildung 18. Gewichtungshistogramm für eine hohe Regularisierungsrate. Der Mittelwert ist null. Normalverteilung.

 

Im Gegensatz dazu führt eine niedrige Regularisierungsrate tendenziell zu einem flacheren Histogramm, da wie in Abbildung 19 dargestellt.

<ph type="x-smartling-placeholder">
</ph> Abbildung 19: Histogramm der Gewichtungen eines Modells mit einem Mittelwert von null,
            liegt irgendwo zwischen einer flachen Verteilung und einer Normalität
            Verteilung. <ph type="x-smartling-placeholder">
</ph> Abbildung 19. Gewichtungshistogramm für eine niedrige Regularisierungsrate. Der Mittelwert kann null sein oder nicht.

 

Regularisierungsrate auswählen

Die ideale Regularisierungsrate erzeugt ein Modell, das gut verallgemeinert neue, zuvor unbekannte Daten. Leider ist dieser ideale Wert datenabhängig, Sie müssen also einige Feinabstimmung.

Vorzeitiges Beenden: eine Alternative zur komplexitätsbasierten Regularisierung

Vorzeitiges Beenden ist ein Regularisierungsmethode, bei der die Komplexität nicht berechnet wird. Ein frühzeitiges Anhalten bedeutet stattdessen, das Training vor dem Modell zu beenden vollständig konvergent. Beispiel: Sie beenden das Training, wenn die Verlustkurve für das Validierungs-Dataset steigt an (die Steigung wird positiv).

Ein vorzeitiges Beenden erhöht zwar in der Regel den Trainingsverlust, kann aber auch sinken Testverlust.

Ein vorzeitiges Beenden ist eine schnelle, aber selten optimale Form der Regularisierung. Es ist unwahrscheinlich, dass das resultierende Modell so gut ist wie ein trainiertes Modell gründlich auf die ideale Regularisierungsrate überprüfen.

Gleichgewicht zwischen Lernrate und Regularisierungsrate finden

Lernrate und Regularisierungsrate tendieren dazu, Gewichtungen Wegbeschreibungen. Bei einer hohen Lernrate werden Gewichtungen häufig von Null abgezogen. Bei einer hohen Regularisierungsrate werden Gewichtungen in Richtung Null gezogen.

Ist die Regularisierungsrate im Hinblick auf die Lernrate hoch, Die schwachen Gewichtungen erzeugen tendenziell ein Modell, das schlechte Vorhersagen macht. Ist hingegen die Lernrate in Bezug auf die Regularisierung hoch führen die starken Gewichtungen tendenziell zu einem Überanpassungsmodell.

Ihr Ziel ist es, ein Gleichgewicht zwischen Lernrate und Regularisierungsrate. Das kann eine Herausforderung sein. Und das schlimmste ist, wenn Sie möglicherweise eine Änderung der Lernrate vornehmen müssen. Wenn Sie die Lernrate ändern, müssen Sie wieder die ideale Regularisierungsrate.