Jeśli mam macierz projektową , gdzie jest liczbą obserwacji wymiaru , jaka jest złożoność rozwiązania dla z Lasso wrt i ? Myślę, że odpowiedź powinna odnosić się do tego, jak jedna iteracja LASSO skaluje się z tymi parametrami, a nie do tego, jak skaluje się liczba iteracji (zbieżności), chyba że czujesz inaczej. n d β = argmin β 1nd
Przeczytałem to poprzednie pytanie o złożoność LASSO , ale wydaje się to sprzeczne z dyskusją na temat glmnet tu i tutaj . Zdaję sobie sprawę, że istnieje wiele algorytmów, w tym podejście GLMnet do GLMNeta, ale piszę artykuł o zamianie komponentu LASSO na algorytm nadrzędny i chciałbym zamieścić dyskusję na temat złożoności LASSO w ogóle, szczególnie za pomocą i . Chciałbym również poznać złożoność glmnet w podstawowym nieskomplikowanym przypadku, ale przywołany dokument jest nieco mylący, ponieważ cała złożoność algorytmu nie jest wyraźna.n
Odpowiedzi:
Odpowiedzi z referencji,
, są poprawne.
Różnica jest taka
Równania LARS są zapisane w formie zamkniętej i znajdują dokładne rozwiązanie
(i robiąc to, idąc całą ścieżką możliwego λ, podczas gdy złożoność obliczeniowa jest skalowana tak samo jak znalezienie rozwiązania zwykłego problemu najmniejszych kwadratów, który również skaluje się jako )O(d2n)
podczas
opadanie współrzędnych to iteracyjny schemat zbliżenia rozwiązania. Odnośny krok (którego koszty obliczeniowe są skalowane jako ) jest „tylko” pojedynczym krokiem aproksymacji, zbliżającym się / „schodzącym” bliżej minimum problemu LASSO.O(dn)
LARS używa (dokładnie) kroków do znalezienia rozwiązania (ze złożonością skalowania k-tego kroku jako , pierwszy termin na znalezienie produktów wewnętrznych w nieaktywnym zestaw i drugi termin na rozwiązanie nowego kąta w aktywnych zmiennych) . Przy opadaniu współrzędnych nikt tak naprawdę nie zna współczynnika konwergencji i liczby wymaganych / oczekiwanych kroków dla „wystarczającej” zbieżności (a przynajmniej nie zostało to dobrze opisane).d O((d−k)n+k2) d−k k
Z drugiej strony koszt znacznie wzrasta w przypadku dużych wymiarów (chociaż nie ma silnego powodu, aby oczekiwać, że współczynnik zbieżności współrzędnych skaluje się podobnie, = liniowy, jeśli wzrasta). Tak więc intuicyjnie koordynowane zejście będzie działało lepiej powyżej pewnego limitu dla . Pokazały to również studia przypadków (patrz także odniesienie, które pokazuje, że glmnet działa głównie lepiej niż LARS, gdy , podczas gdy dla algorytmy działają podobnie).d d d > > 100 d = 100d2n d d d>>100 d=100
Skalowanie LARS jest problemem związanym ze złożonością obliczeniową. Skalowanie opadania współrzędnych jest problemem związanym ze złożonością obliczeniową i konwergencją.
źródło