Modyfikacja Lasso dla LARS

12

Próbuję zrozumieć, w jaki sposób można zmodyfikować algorytm Larsa w celu wygenerowania Lasso. Chociaż rozumiem LARS, nie jestem w stanie zobaczyć modyfikacji Lasso z pracy Tibshirani i in. W szczególności nie rozumiem, dlaczego warunek znaku w tym, że znak niezerowej współrzędnej musi zgadzać się ze znakiem bieżącej korelacji. Czy ktoś mógłby mi z tym pomóc. Chyba szukam matematycznego dowodu przy użyciu warunku KKT na pierwotnym problemie normy L-1, tj. Lasso. Dzięki wielkie!

nowicjusz
źródło
To dotyczy Efron wsp za stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf ? Potwierdza to Lemat 8 rozdziału 5. Czy też źle rozumiem twoje pytanie?
Peter Ellis
1
Nie jestem również pewien pytania, ale tak naprawdę Lasso jest uproszczeniem Larsa: dla Lasso szukasz tylko pozytywnych korelacji między bieżącą resztą a pozostałymi funkcjami bazowymi, ponieważ tylko pozytywne korelacje prowadzą do pozytywnych (~ nieujemne) współczynniki.
Mr. White

Odpowiedzi:

2

Niech (rozmiar ) oznacza zestaw standardowych danych wejściowych, (rozmiar ) wyśrodkowane odpowiedzi, (rozmiar ) wagi regresji i a -normalny współczynnik karania.Xn×pyn×1βp×1λ>0l1

Problem LASSO zapisuje następnie

β=argminβ L(β,λ)L(β,λ)=yXβ22+λβ1

Rozwiązanie tego dla wszystkich wartości daje tak zwaną ścieżkę regularyzacji LASSO .λ>0β(λ)

Dla stałej wartości współczynnika karania (tj. Stałej liczby aktywnych predyktorów = ustalony krok algorytmu LARS), możliwe jest wykazanie, że spełnia (wystarczy zapisać warunek stacjonarności KKT, jak w tym przypadku odpowiedź )λβ

λ=2 sign(βa)XaT(yXβ),   aA

gdzie reprezentuje zestaw aktywnych predyktorów.A

Ponieważ musi być dodatnia (jest to współczynnik karania), jasne jest, że znak (waga dowolnego niezerowego, a więc aktywnego predyktora) powinien być taki sam jak tj. Korelacja z obecną resztkową regresją.λβaXaT(yXβ)=XaTr

Quantuple
źródło
1

@ Mr._White podał świetne intuicyjne wyjaśnienie głównej różnicy między LARS a Lasso; Jedyne, co chciałbym dodać, to to, że lasso jest (w pewnym sensie) podejściem do selekcji wstecznej, znokautowując termin na każdym kroku, o ile istnieje termin, dla którego istnieje korelacja („znormalizowana” względem ). LARS utrzymuje wszystko tam - po prostu wykonując lasso w każdej możliwej kolejności. Oznacza to, że w lasso każda iteracja zależy od tego, które warunki zostały już usunięte. X×X

Implementacja Effrona dobrze ilustruje różnice między nimi: lars.R w źródłowym pkg dla larsa . Zwróć uwagę na krok aktualizacji macierzy macierzy i rozpoczynający się od linii 180, oraz porzucenie warunków, dla których . Mogę sobie wyobrazić niektóre dziwne sytuacje wynikające ze spacji których warunki są niezrównoważone ( i są bardzo skorelowane, ale nie z innymi, z ale nie z innymi itd.), Kolejność wyboru może być dość stronnicza.X×Xζζmin<ζcurrentAx1x2x2x3

egbutter
źródło