Wyprowadzenie zamkniętego rozwiązania lasso


52

minβ(Y−Xβ)T(Y−Xβ)‖β‖1≤t

βjlasso=sgn(βjLS)(|βjLS|−γ)+
X

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 (Y−Xβ)′(Y−Xβ) zastrzeżeniem ‖β‖1≤t jest równoważne znalezieniu β która minimalizuje (Y−Xβ)′(Y−Xβ)+γ∑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 (Y−Xβ)′(Y−Xβ)+γ∑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 t≥0 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β12‖y−Xβ‖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, 12yTy−yTXβ+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βi≥0β^iLS<0βi≤0

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βi≥0

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 β^iLS≤0βi≤0

Li=−β^iLSβi+12βi2−γβi.
βiβi=β^iLS+γ=sgn(β^iLS)(|β^iLS|−γ)βi≤0
β^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|‖β^lasso‖1γ=0γ>maxi|β^iLS|β^ilasso=0i


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 :)X′X=DDX′X=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 xjX∈Rn×pXTX=IXTXn≥pβ^OLS=arg⁡minβ‖y−Xβ‖22

(defn.)β^λ=arg⁡minβ12n‖y−Xβ‖22+λ‖β‖1(OLS is projection)=arg⁡minβ12n‖Xβ^OLS−Xβ‖22+λ‖β‖1(XTX=I)=arg⁡minβ12n‖β^OLS−β‖22+λ‖β‖1(algebra)=arg⁡minβ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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.