Zdefiniuj oszacowanie lasso gdzie i ^ {th} wiersz x_i \ in \ mathbb {R} ^ p macierzy projektowej X \ in \ mathbb {R} ^ {n \ times p} jest wektorem zmiennych towarzyszących dla wyjaśnienia odpowiedzi stochastycznej y_i (dla i = 1, \ kropki n ).
Wiemy, że dla szacunek lasso . (Zobacz na przykład zakres parametrów dostrajania Lasso i Ridge'a ). W innej notacji oznacza to, że . Zauważ, że Widzimy to wizualnie z następującym obrazem przedstawiającym ścieżkę rozwiązania lasso:
Zauważ, że na daleko po prawej stronie działki, wszystkie współczynniki są równe zero. Dzieje się tak w punkcie opisanym powyżej.
Od tej działce, możemy również zauważyć, że na daleko po lewej stronie, wszystkie współczynnika są niezerowe: jaka jest wartość , w którym każdy element jest początkowo zerowa? To znaczy, co jest równa, jako funkcja i ? Interesuje mnie rozwiązanie w formie zamkniętej. W szczególności nie interesuje mnie rozwiązanie algorytmiczne, takie jak na przykład sugerowanie, że LARS może znaleźć węzeł poprzez obliczenia.beta X X min = minut ∃ JXY
Mimo moich zainteresowań wydaje się, że może nie być dostępna w formie zamkniętej, ponieważ w przeciwnym razie pakiety obliczeniowe lasso prawdopodobnie skorzystałyby z niej podczas określania głębokości parametru strojenia podczas sprawdzania poprawności krzyżowej. W związku z tym interesuje mnie wszystko, co można teoretycznie pokazać na temat i (nadal) szczególnie interesuje się formą zamkniętą. λ m i n
źródło
Odpowiedzi:
Oszacowanie lasso opisane w pytaniu jest odpowiednikiem mnożnika lagrange'a następującego problemu optymalizacji:
Ta optymalizacja ma geometryczną reprezentację znalezienia punktu styku między sferą wielowymiarową a polytopem (rozpiętym przez wektory X). Powierzchnia polytopu reprezentuje . Kwadrat promienia kuli reprezentuje funkcję i jest minimalizowany, gdy powierzchnie stykają się.g(β) f(β)
Poniższe obrazy przedstawiają objaśnienie graficzne. W obrazach wykorzystano następujący prosty problem z wektorami o długości 3 (dla uproszczenia, aby móc wykonać rysunek):
Obrazy pokazują:
Wyświetlamy trzy obrazy:
Zakres lub dla którego mamy pierwszy i trzeci przypadek, można łatwo obliczyć dzięki ich prostej reprezentacji geometrycznej.t λ
Przypadek 1: Tylko jeden niezerowyβi
Niezerowa to ta, dla której skojarzony wektor ma najwyższą bezwzględną wartość kowariancji z (jest to punkt paralallelotopu najbliższy rozwiązaniu OLS). Możemy obliczyć mnożnik Lagrange'a poniżej którego mamy co najmniej niezerową , biorąc pochodną z (znak w zależności od tego, czy zwiększymy w kierunku ujemnym czy dodatnim):βi xi y^ λmax β ±βi βi
który prowadzi do
co równa się wspomnianej w komentarzach.||XTy||∞
gdzie powinniśmy zauważyć, że jest to prawdą tylko w szczególnym przypadku, w którym czubek polytopu dotyka kuli ( więc nie jest to ogólne rozwiązanie , chociaż uogólnienie jest proste).
Przypadek 3: Wszystkie są niezerowe.βi
W tym przypadku aspekt polytopu dotyka kuli. Wtedy kierunek zmiany ścieżki lassa jest normalny do powierzchni konkretnego aspektu.
Polytop ma wiele aspektów, z dodatnim i ujemnym udziałem . W przypadku ostatniego kroku lasso, gdy rozwiązanie lasso jest zbliżone do rozwiązania ols, wówczas wkład musi być określony znakiem rozwiązania OLS. Normalna ścianka może być zdefiniowana przez przyjęcie gradientu funkcji , wartości sumy beta w punkcie , która wynosi:xi xi ||β(r)||1 r
a równoważna zmiana wersji beta dla tego kierunku to:
który po niektórych sztuczkach algebraicznych z przesunięciem transpozycji ( ) i rozkładem nawiasów staje sięATBT=[BA]T
normalizujemy ten kierunek:
Aby znaleźć poniżej której wszystkie współczynniki są niezerowe. Musimy tylko przeliczyć z rozwiązania OLS z powrotem do punktu, w którym jeden ze współczynników wynosi zero,λmin
, i w tym momencie oceniamy pochodną (jak poprzednio, gdy obliczamy ). Używamy tego dla funkcji kwadratowej mamy :λmax q′(x)=2q(1)x
Zdjęcia
punkt dotyka kuli, pojedynczy jest niezerowy:βi
grzbiet (lub różny w wielu wymiarach) dotyka kuli, wiele jest niezerowych:βi
aspekt dotyka kuli, wszystkie są niezerowe:βi
Przykład kodu:
Uwaga: najważniejsze są te trzy ostatnie linie
Napisane przez StackExchangeStrike
źródło