Wyprowadzenie zamkniętego rozwiązania lasso

52

minβ(YXβ)T(YXβ)β1t

βjlasso=sgn(βjLS)(|βjLS|γ)+
X
Gary
źródło
To wydaje się nieco zdezorientowane. Na początku zakładamy ograniczenie t aw rozwiązaniu wprowadzamy parametr γ . Zgaduję, że zamierzasz połączyć tych dwóch poprzez podwójny problem, ale może możesz wyjaśnić, czego szukasz.
kardynał
2
Częściowa odpowiedź na @cardinal, znalezienie β która minimalizuje (YXβ)(YXβ) zastrzeżeniem β1t jest równoważne znalezieniu β która minimalizuje (YXβ)(YXβ)+γj|βj|. Jest 1-1 zależność pomiędzy t i γ . Aby „łatwo” zrozumieć, dlaczego tak jest w przypadku miękkiego progu, zaleciłbym rozwiązanie drugiego wyrażenia (w moim komentarzu).
2
Kolejna uwaga, znajdując β która minimalizuje (YXβ)(YXβ)+γj|βj|, podziel problem na przypadki \ beta_j> 0βj>0 , βj<0 i β=0 .
2
@ kardynał Ah tak, 1-1 jest niepoprawny. Korekta: dla każdego t0 można znaleźć γ0 .
3
Dzięki za wspaniałą dyskusję! Natknąłem się na ten film na Coursera - Wyprowadzanie aktualizacji zejścia współrzędnych lasso , która jest bardzo istotna w tej dyskusji i bardzo elegancko omawia rozwiązanie. Może być pomocny dla przyszłych gości :-)
zorbar

Odpowiedzi:

64

Można to zaatakować na wiele sposobów, w tym dość ekonomiczne podejście w warunkach Karusha-Kuhna-Tuckera .

Poniżej znajduje się dość elementarny alternatywny argument.

Rozwiązanie najmniejszych kwadratów dla projektu ortogonalnego

Załóżmy, że składa się z kolumn ortogonalnych. Zatem rozwiązaniem najmniejszych kwadratów jest X

β^LS=(XTX)1XTy=XTy.

Niektóre równoważne problemy

Poprzez formularz Lagrangian łatwo jest zauważyć, że problemem równoważnym do rozważanego w pytaniu jest

minβ12yXβ22+γβ1.

Rozszerzając pierwszy termin otrzymujemy a ponieważ nie zawiera żadnych zmiennych będących przedmiotem zainteresowania, możemy je odrzucić i rozważyć kolejny równoważny problem, 12yTyyTXβ+12βTβyTy

minβ(yTXβ+12β2)+γβ1.

Zwracając uwagę, że , poprzedni problem można przepisać jako β^LS=XTy

minβi=1pβ^iLSβi+12βi2+γ|βi|.

Nasza funkcja celu jest teraz sumą celów, z których każdy odpowiada osobnej zmiennej , więc każdy z nich można rozwiązać indywidualnie.βi

Całość jest równa sumie jej części

Napraw niektóre . Następnie chcemy zminimalizować i

Li=β^iLSβi+12βi2+γ|βi|.

Jeśli , to musimy mieć ponieważ w przeciwnym razie moglibyśmy przerzucić jego znak i uzyskać niższą wartość dla funkcji celu. Podobnie, jeśli , to musimy wybrać .β^iLS>0βi0β^iLS<0βi0

Przypadek 1 : . Od , i różnicując to w odniesieniu do i ustawienia równego zeru , otrzymujemy i jest to wykonalne tylko wtedy, gdy prawa strona jest nieujemna, więc w tym przypadku faktycznym rozwiązaniem jest β^iLS>0βi0

Li=β^iLSβi+12βi2+γβi,
βiβi=β^iLSγ
β^ilasso=(β^iLSγ)+=sgn(β^iLS)(|β^iLS|γ)+.

Przypadek 2 : . Oznacza to, że musimy mieć a więc Rozróżniając względem i ustawiając wartość równą zero, otrzymujemy . Ale znowu, aby upewnić się, że jest to wykonalne, potrzebujemy , co osiąga się przyjmując β^iLS0βi0

Li=β^iLSβi+12βi2γβi.
βiβi=β^iLS+γ=sgn(β^iLS)(|β^iLS|γ)βi0
β^ilasso=sgn(β^iLS)(|β^iLS|γ)+.

W obu przypadkach otrzymujemy pożądaną formę, więc gotowe.

Uwagi końcowe

Zauważ, że wraz ze wzrostem , każdy zniekoniecznie maleje, dlatego też . Gdy , odzyskujemy rozwiązania OLS, a dla, otrzymujemy dla wszystkich .γ|β^ilasso|β^lasso1γ=0γ>maxi|β^iLS|β^ilasso=0i

kardynał
źródło
2
Świetny napis @ cardinal!
Gary
9
+1 Całą drugą połowę można zastąpić prostą obserwacją, że funkcją celu jest połączenie części dwóch wypukłych parabol z wierzchołkami w , gdzie znak ujemny jest brany dla a dodatni w przeciwnym razie. Formuła jest tylko fantazyjnym sposobem wyboru niższego wierzchołka. β12β2+(±γβ^)β±γβ^β<0
whuber
Jeśli to możliwe, chciałbym zobaczyć pochodne przy użyciu warunków optymalności KKT. Jakie są inne sposoby uzyskania tego wyniku?
user1137731,
5
@Cardinal: dzięki za fajną pochodną. Jedna obserwacja. O ile pamiętam, macierz z kolumnami ortogonalnymi nie jest tym samym co macierz ortogonalna (inaczej ortonormalna). Następnie dla pewnej macierzy diagonalnej (niekoniecznie macierz identyczności). Przy założeniu macierzy ortogonalnej (jak w pierwotnym pytaniu) mamy i wszystko wygląda świetnie :)XX=DDXX=I
Oleg Melnikov
@ cardinal Nie rozumiem, dlaczego mówisz „ponieważ w przeciwnym razie moglibyśmy odwrócić jego znak i uzyskać niższą wartość dla funkcji celu”. Bierzemy pochodną funkcji celu. A co jeśli funkcja celu jest wyższa lub niższa, kogo to obchodzi. Jedyne, na czym nam zależy, to pochodne ustawione na zero, dbamy o ekstremum. To, czy jest ona wyższa czy niższa o stałą, nie wpływa na argmin.
user13985,
7

Załóżmy, że zmienne , kolumny , są znormalizowane tak, że . Jest to dla wygody później: bez tego notacja staje się coraz cięższa, ponieważ jest tylko przekątna. Dalej zakładamy, że . Jest to niezbędne założenie do utrzymania wyniku. Zdefiniuj estymator najmniejszych kwadratów . Następnie (forma Lagrange'a) estymatora lasso xjXRn×pXTX=IXTXnpβ^OLS=argminβyXβ22

(defn.)β^λ=argminβ12nyXβ22+λβ1(OLS is projection)=argminβ12nXβ^OLSXβ22+λβ1(XTX=I)=argminβ12nβ^OLSβ22+λβ1(algebra)=argminβ12β^OLSβ22+nλβ1(defn.)=proxnλ1(β^OLS)(takes some work)=Snλ(β^OLS),
\ end {align *} gdzie jest bliższym operatorem funkcji i miękkich progów o wartośćproxffSαα.

Jest to wyprowadzenie, które pomija szczegółowe wyprowadzenie bliższego operatora, które opracowuje Kardynał, ale mam nadzieję, że wyjaśnia główne kroki, które umożliwiają zamknięcie formularza.

użytkownik795305
źródło