Читать книгу Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow - Aurélien Géron - Страница 132
Formel 4-10: Kostenfunktion bei der Lasso-Regression
ОглавлениеAbbildung 4-18 zeigt das Gleiche wie Abbildung 4-17, aber ersetzt die Ridge-Modelle durch Lasso-Modelle und verwendet kleinere Werte für α.
Abbildung 4-18: Ein lineares Modell (links) und ein polynomielles Modell (rechts), beide mit unterschiedlichen Lasso-Regressionen
Eine wichtige Eigenschaft der Lasso-Regression ist, dass sie die Gewichte der unwichtigsten Merkmale vollständig eliminiert (d.h. diese auf null setzt). Beispielsweise sieht die gestrichelte Linie im Diagramm auf der rechten Seite von Abbildung 4-18 (mit α = 10-7) quadratisch oder fast schon linear aus: Sämtliche Gewichte der höhergradigen polynomiellen Merkmale sind auf null gesetzt. Anders ausgedrückt, die Lasso-Regression führt eine automatische Merkmalsauswahl durch und gibt ein spärliches Modell aus (d.h. mit wenigen Gewichten ungleich null).
Warum das so ist, können Sie anhand von Abbildung 4-19 sehen: Die Achsen repräsentieren die beiden Modellparameter, und die Hintergrundkonturen repräsentieren verschiedene Verlustfunktionen. Im oberen linken Plot stehen die Konturen für den ℓ1-Verlust (|θ1| + |θ2|), der linear abnimmt, wenn Sie sich einer Achse nähern. Initialisieren Sie beispielsweise die Modellparameter mit θ1 = 2 und θ2 = 0,5, wird das Gradientenverfahren beide Parameter gleich verringern (das ist die gestrichelte Linie), und θ2 wird damit als Erstes null erreichen (da es zu Beginn näher an null war). Danach wird das Gradientenverfahren die Rinne herabrollen, bis es θ1 = 0 erreicht (mit ein bisschen hin und her springen, da die Gradienten von ℓ1 niemals nahe an null kommen – sie sind für jeden Parameter entweder –1 oder 1). Im oberen rechten Plot repräsentieren die Konturen die Lasso-Kostenfunktion (also eine MSE-Kostenfunktion plus einen ℓ1-Verlust). Die kleinen weißen Punkte zeigen den Weg, dem das Gradientenverfahren folgt, um Modellparameter zu optimieren, die ungefähr mit θ1 = 0,25 und θ2 = –1 initialisiert wurden: Beachten Sie, wie der Weg wieder schnell θ2 = 0 erreicht, es dann die Rinne heruntergeht und schließlich um das globale Minimum herumspringt (dargestellt durch das Quadrat). Würden wir α erhöhen, würde das globale Optimum entlang der gestrichelten Linie nach links verschoben werden; würden wir α verringern, würde das globale Optimum nach rechts verschoben werden(in diesem Beispiel sind die optimalen Parameter für den unregulierten MSE θ1 = 2 und θ2 = 0,5).
Abbildung 4-19: Lasso im Vergleich zur Ridge-Regularisierung
Die beiden unteren Plots zeigen das Gleiche, aber stattdessen mit einem ℓ2-Strafterm. Im linken unteren Plot sehen Sie, dass der ℓ2-Verlust mit dem Abstand zum Ursprung abnimmt, sodass das Gradientenverfahren einfach einen geraden Weg zu diesem Punkt wählt. Im unteren rechten Plot zeigen die Konturen die Ridge-Regressions-Kostenfunktion (also eine MSE-Kostenfunktion plus einen ℓ2-Verlust). Es gibt zwei wichtige Unterschiede zum Lasso. Erstens werden die Gradienten kleiner, wenn sich die Parameter dem globalen Optimum nähern, sodass das Gradientenverfahren von allein langsamer wird, was dabei hilft, zu konvergieren (da es kein Herumspringen gibt). Und zweitens nähern sich die optimalen Parameter (dargestellt durch das rote Quadrat) immer mehr dem Ursprung, wenn Sie α erhöhen, aber sie werden niemals ganz eliminiert.
Um beim Gradientenverfahren zu vermeiden, dass es beim Einsatz des Lassos am Ende um das Optimum herumspringt, müssen Sie die Lernrate während des Trainings nach und nach reduzieren (es wird immer noch um das Optimum herumspringen, aber die Schritte werden immer kleiner werden, und das Ganze wird damit konvergieren). |
Die Lasso-Kostenfunktion ist bei θi = 0 (mit i = 1, 2, …, n) nicht differenzierbar, das Gradientenverfahren funktioniert trotzdem, wenn Sie einen Subgradientenvektor g verwenden, wenn irgendein θi = 0 beträgt.13 Formel 4-11 zeigt einen Subgradientenvektor, der sich für das Gradientenverfahren mit der Lasso-Kostenfunktion einsetzen lässt.