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(β∗,λ∗)
(β∗,λ∗)L(β,λ)=argmin(β,λ)L(β,λ)=∥y−Xβ∥22+λ∥β∥1=∑i=1N(yi−∑j=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(β∗,λ∗)=−2∑i=1NXia(yi−∑j=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 :
λ∗=2∑Ni=1Xia(yi−∑qj=1β∗jXij)sign(β∗a)
sign(x)aλ∗=2 sign(β∗a)XTar
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:β∗aXTarλ∗
λ∗=2|XTar|
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|XTAkrAk|), ∀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)XTby
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