Auswahl des Bereichs und der Gitterdichte für den Regularisierungsparameter in LASSO

11

In der Zwischenzeit studiere ich LASSO (Operator für geringste absolute Schrumpfung und Auswahl). Ich sehe, dass der optimale Wert für den Regularisierungsparameter durch Kreuzvalidierung ausgewählt werden kann. Ich sehe auch in der Gratregression und vielen Methoden, die Regularisierung anwenden, dass wir CV verwenden können, um den optimalen Regularisierungsparameter zu finden (sagen Strafe). Jetzt geht es bei meiner Frage um Anfangswerte für die obere und untere Grenze des Parameters und darum, wie die Länge der Sequenz bestimmt werden kann.

Um genau zu sein, gehen wir von einem LASSO Problem haben und wir wollen den optimalen Wert für die Strafe λ finden . Wie können wir dann eine Unter- und Obergrenze für λ [ a = wählen ? , b = ? ]]

LogLikelihood=(yxβ)(yxβ)+λ|β|1
λλ[a=?,b=?]? und wie viele Teilungen zwischen diesen beiden Werten ?(ba)k=?
TPArrow
quelle
Verwandte Frage hier .
Richard Hardy

Antworten:

11

Diese Methode wird im glmnet-Artikel Regularisierungspfade für verallgemeinerte lineare Modelle über Koordinatenabstieg beschrieben . Obwohl die Methodik hier sowohl für den allgemeinen Fall der als auch der L 2 -Regulierung gilt, sollte sie auch für das LASSO (nur L 1 ) gelten.L.1L.2L.1

Die Lösung für das Maximum ist in Abschnitt 2.5 angegeben. λ

Wenn , sehen wir aus (5), dass ˜ β j bei 1 Null bleibtβ~=0β~j. Daher istNαλmax=maxl| Xl,y|1N.|xj,y|<λαN.αλmeinx=maxl|xl,y|

λ>λmeinx

λminλmin=0.001λmax100

Dies funktioniert in der Praxis gut. Bei meiner umfangreichen Verwendung von glmnet habe ich dieses Gitter nie als zu grob empfunden.

L1λ

β=0λmaxL1

Probengewichte erschweren ebenfalls die Situation, die inneren Produkte müssen an geeigneten Stellen durch gewichtete innere Produkte ersetzt werden.

Matthew Drury
quelle