LASSO-Regularisierungsparameter vom LARS-Algorithmus

9

In ihrer wegweisenden Arbeit 'Least Angle Regression' beschreiben Efron et al. Eine einfache Modifikation des LARS-Algorithmus, mit der vollständige LASSO-Regularisierungspfade berechnet werden können.

l1β1

Es scheint jedoch, dass die meisten verfügbaren Pakete den Regularisierungspfad in Bezug auf den LASSO-Bestrafungskoeffizienten bereitstellen (z. B. LARS in R, wo Sie mit dem Argument 'mode' spielen können, um zwischen verschiedenen Darstellungen zu wechseln).λ

Meine Frage ist: Mit welcher Mechanik wird von einer Darstellung zur anderen gewechselt. Ich habe verschiedene diesbezügliche Fragen gesehen (oder insbesondere das Problem der Zuordnung der Ungleichheitsbeschränkung zu einem geeigneten Bestrafungsbegriff ), aber keine zufriedenstellende Antwort gefunden.β1tλβ1


[Bearbeiten]

Ich habe in einig MATLAB - Code sieht , dass führt die erforderliche Transformation und für jeden LARS Schritt , das ist , wie berechnet zu werden scheint:kλ

λ(k)=max(2|XTy|),   for k=1
λ(k)=median(2|XAkTrAk|),   k>1

wobei X (Größe n×p ) und y (Größe n×1 ) die standardisierten Eingaben / Antworten bezeichnen, Ak den aktiven Prädiktorsatz in Schritt k und r den aktuellen Regressionsrest in Schritt k .

Ich kann die Logik hinter dieser Berechnung nicht verstehen. Könnte jemand helfen?

Quantuple
quelle

Antworten:

4

Ich habe herausgefunden, wie die erforderliche Konvertierung durchgeführt werden soll.

Angenommen, die Eingänge sind standardisiert (Mittelwert Null, Einheitsvarianz) und die Antworten sind zentriert.Xy

Wir wissen, dass der modifizierte LARS-Algorithmus den vollständigen LASSO-Regularisierungspfad bereitstellt, vgl. Originalarbeit von Efron et al .

Dies bedeutet, dass der frühere Algorithmus bei jeder Iteration ein optimales Paar das die regulierte Verlustfunktion minimiert: k(β,λ)

(β,λ)=argmin(β,λ)L(β,λ)L(β,λ)=yXβ22+λβ1=i=1N(yij=1pβjXij)2+λj=1p|βj|

Für alle aktiven Komponenten in der aktiven Menge am Ende von Schritt ergibt das Anwenden der KKT-Stationaritätsbedingung a={1,...,q}Akk

0=Lβa(β,λ)=2i=1NXia(yij=1qβjXij)+λ sign(βa)

Mit anderen Worten oder in Matrixnotationen (unter Hinweis darauf, dass das Teilen / Multiplizieren mit ist) ist die folgende Gleichung für jede aktive Komponente erfüllt :

λ=2i=1NXia(yij=1qβjXij)sign(βa)
sign(x)a
λ=2 sign(βa)XaTr

In der Originalarbeit erwähnen die Autoren, dass für jede Lösung des LASSO-Problems das Vorzeichen eines aktiven Regressionsgewichts ( ) mit dem Vorzeichen der Korrelation des entsprechenden aktiven Prädiktors mit dem aktuellen Regressionsrest ( ) identisch sein sollte ), was nur logisch ist, da positiv sein muss. So können wir auch schreiben:βaXaTrλ

λ=2|XaTr|

Außerdem sehen wir, dass wir im letzten Schritt (OLS-Anpassung, ) aufgrund des Orthogonalitäts-Lemmas . Die Verwendung des Medians in der MATLAB-Implementierung, die ich IMHO gefunden habe, scheint ein Versuch zu sein, numerische Fehler über alle aktiven Komponenten heraus zu mitteln:kβ=(XTX)1XTyλ=0

λ=median(2|XAkTrAk|),   k>1

Um den Wert von zu berechnen, wenn keine aktiven Komponenten vorhanden sind (Schritt ), kann der gleiche Trick wie oben verwendet werden, jedoch in der infinitesimalen Grenze, in der alle Regressionsgewichte Null sind und nur das Vorzeichen der ersten Komponente wird aktiv (in Schritt ) ist wichtig. Dies ergibt:λk=1bk=2

λ=2 sign(βb)XbTy
was genau äquivalent zu ist

λ=max(2|XTy|), for k=1

weil (i) dieselbe Bemerkung wie zuvor bezüglich des Vorzeichens von Regressionsgewichten; (ii) der LARS-Algorithmus bestimmt die nächste Komponente um in die aktive Menge einzutreten, als diejenige, die am stärksten mit dem aktuellen Rest korreliert , der in Schritt einfach .bk=1y

Quantuple
quelle
2
Dies ist etwas, das in jeder LASSO-Arbeit erwähnt wird, aber niemand möchte es erklären (ich weiß nicht, ob es sehr einfach ist oder was, aber ich habe viel Zeit gebraucht, um es herauszufinden). Ich möchte nur betonen, dass Sie, obwohl "äquivalent", nur dann von einer Formulierung zur anderen wechseln können (beschränkt auf uneingeschränkt und umgekehrt), wenn Sie das Optimierungsproblem gelöst haben und die optimalen Gewichte haben.
Skd
2
Ich fühle mich gleich! Was Ihre Bemerkung betrifft, ja. Dies spiegelt sich hier im Rest wider , der erst berechnet werden kann, wenn am Ende von Schritt die optimalen Regressionsgewichte wurden . rAkβkk
Quantuple