Deep Learning - L1 and L2 Regularization

HerrDrachen

Lieutenant
Registriert
Feb. 2016
Beiträge
625
https://ibb.co/Jr0Fw2D

Wenn man Lambda auf 1 setzt werden die Gewichte 0 und es findet kein Lernen statt.

Warum werden die Gewichte 0, wie kommt es dazu?
Ist das bei L1 Regularization und L1 Regularization so? (dass die weights 0 werden)

Wie genau liest man das?
 
Mit einem hoeheren lambda "verstaerkst" du den Effekt der Regularisierung.
Die Regularisierung ist jedoch das Produkt aus Lambda und der Summe der Gewichte. Warum soll das0 Werden? Den Teil habe ich uebersehen und sehe das mathematisch auch unlogisch.

Bei L1 hast du halt duenn besetzte Matrizen. Warum das so ist habe ich gerade mal rausgesucht:
https://medium.com/analytics-vidhya/l1-vs-l2-regularization-which-is-better-d01068e6658c

Besser noch:
https://explained.ai/regularization/L1vsL2.html
(3.1)
 
Generell gilt dass die Gewichte sich Null annähern, je größer Lambda gewählt wird.
Für Lambda = 1 ist das nicht schon zwangsläufig der Fall (imHo). Aber die Regularisierung ist natürlich stärker, je größer Lambda wird, d.h. größere Gewichte (im Sinne der L1/L2 Norm) werden als schlechter bewertet, bis eben die einzige Möglichkeit darin besteht, alle Gewichte auf Null zu setzen.

Es geht hier ja um Minimierungsprobleme, das ist vermutlich der fehlende gedankliche Baustein. In dem Bild ist der blaue plus der rote Kasten zu minimieren und wenn Lambda sehr groß gewählt wird, dann wird der Einfluss des roten Kasten auf das Gesamtergebnis so groß, dass das beste Ergebnis erzielt wird, wenn dieser auf Null gesetzt wird, weil die Gewichte alle Null sind.

ImHo ist auch 0.5 nicht allgemein ein guter Wert, sondern dieser sollte mit Kreuzvalidierung bestimmt werden.

@snaxilian kann womöglich mehr dazu sagen? ;-)
 
Zuletzt bearbeitet:
Zurück
Oben