Kiedy powinienem używać lasso kontra grzbiet?


167

Powiedzmy, że chcę oszacować dużą liczbę parametrów i chcę ukarać niektóre z nich, ponieważ uważam, że powinny one mieć niewielki wpływ w porównaniu z innymi. Jak zdecydować, jakiego schematu kary użyć? Kiedy regresja kalenicy jest bardziej odpowiednia? Kiedy powinienem używać lasso?


„Powiedz, że chcę oszacować dużą liczbę parametrów”, można to sprecyzować: jakie są ramy? Myślę, że to regresja liniowa?
— robin girard

2
Podobne pytanie zostało właśnie zadane przy metaoptimize (pamiętając, że l1 = LASSO i l2 = grzbiet): metaoptimize.com/qa/questions/5205/…
— Gael Varoquaux

Mówisz „lasso kontra grzbiet”, jakby to były jedyne dwie opcje - a co uogólnione podwójne pareto, podkowa, bma, brydż, między innymi?
— prawdopodobieństwo

Odpowiedzi:


106

Należy pamiętać, że regresja kalenicy nie może wyzerować współczynników; tak więc albo kończysz na włączeniu wszystkich współczynników do modelu, albo żadnego z nich. W przeciwieństwie do tego, LASSO wykonuje zarówno skurcz parametrów, jak i wybór zmiennych automatycznie. Jeśli niektóre z twoich zmiennych towarzyszących są silnie skorelowane, możesz spojrzeć na Elastyczną Siatkę [3] zamiast LASSO.

Osobiście poleciłbym użycie nieujemnej Garotte (NNG) [1], ponieważ jest ona spójna pod względem estymacji i wyboru zmiennych [2]. W przeciwieństwie do LASSO i regresji grzbietu, NNG wymaga wstępnego oszacowania, które następnie zmniejsza się w kierunku źródła. W oryginalnym artykule Breiman zaleca rozwiązanie dla najmniejszych kwadratów dla wstępnego oszacowania (możesz jednak chcieć rozpocząć wyszukiwanie od rozwiązania regresji grzbietu i użyć czegoś takiego jak GCV, aby wybrać parametr kary).

Jeśli chodzi o dostępne oprogramowanie, zaimplementowałem oryginalny NNG w MATLAB (na podstawie oryginalnego kodu FORTRAN Breimana). Możesz pobrać go z:

http://www.emakalic.org/blog/wp-content/uploads/2010/04/nngarotte.zip

BTW, jeśli wolisz rozwiązanie bayesowskie, sprawdź [4,5].

Bibliografia:

[1] Breiman, L. Lepsza regresja podzbioru przy użyciu nieujemnej techniki Garrote Technometrics, 1995, 37, 373–384

[2] Yuan, M. i Lin, Y. W nieujemnym estymatorze Garrotte Journal of Royal Statistics Society (Series B), 2007, 69, 143-161

[3] Zou, H. & Hastie, T. Regularyzacja i selekcja zmiennych za pomocą elastycznej siatki Journal of Royal Statistics Society (Series B), 2005, 67, 301-320

[4] Park, T. i Casella, G. The Bayesian Lasso Journal of American Statistics Association, 2008, 103, 681–686

[5] Kyung, M .; Gill, J .; Ghosh, M. & Casella, G. Regresja karana, błędy standardowe i analiza bayesowska Lassosa Bayesa, 2010, 5, 369-412


2
Czy mógłbyś być bardziej konkretny w grze Ridge vs. Lasso? Czy automatyczny wybór zmiennych jest jedynym powodem preferowania lasso?
— Chogg

42

Grzbiet lub lasso są formami regularnych regresji liniowych. Regularyzację można również interpretować jako wcześniejszą metodę szacowania maksymalnie a posteriori. Zgodnie z tą interpretacją grzbiet i lasso przyjmują różne założenia dotyczące klasy transformacji liniowej, którą wnioskują w celu powiązania danych wejściowych i wyjściowych. W grzbiecie współczynniki transformacji liniowej są rozkładane normalnie, aw lasso są rozkładem Laplace'a. W lasso ułatwia to zerowanie współczynników, a tym samym łatwiej jest wyeliminować część zmiennej wejściowej, ponieważ nie wpływa ona na wynik.

Istnieje również kilka praktycznych uwag. Grzbiet jest nieco łatwiejszy do wdrożenia i szybszy do obliczenia, co może mieć znaczenie w zależności od rodzaju posiadanych danych.

Jeśli oba zostały zaimplementowane, użyj podzbiorów danych, aby znaleźć grzbiet i lasso i porównać, jak dobrze działają na pominiętych danych. Błędy powinny dać ci wyobrażenie, z którego korzystać.


8
Nie rozumiem - skąd miałbyś wiedzieć, czy twoje współczynniki są rozkładane na laplace czy normalnie?
— ihadanny,

1
Dlaczego regresja Ridge'a jest szybsza do obliczenia?
— Archie,

4
@Hbar: „Regularyzację można również interpretować jako metodę szacunkową a posteriori maksymalnie.”: Czy możesz wyjaśnić tę część bardziej szczegółowo symbolami matematycznymi, a przynajmniej podać odniesienie? Dzięki!
— Mathmath 17.09.17

2
@ihadanny Najprawdopodobniej nie wiedziałbyś, i o to chodzi. Możesz tylko zdecydować, który zachować a posteriori .
— Firebug

30

Ogólnie rzecz biorąc, gdy masz wiele małych / średnich efektów, powinieneś iść z grzebieniem. Jeśli masz tylko kilka zmiennych o średnim / dużym efekcie, wybierz lasso. Hastie, Tibshirani, Friedman


4
Ale kiedy masz kilka zmiennych, możesz chcieć zachować je wszystkie w swoich modelach, jeśli mają one średnie / duże efekty, co nie będzie miało miejsca w lasso, ponieważ może to usunąć jedną z nich. Czy możesz to szczegółowo wyjaśnić? Czuję, że kiedy masz wiele zmiennych, używamy Lasso do usuwania niepotrzebnych zmiennych, a nie do kalenicy.
— aditya bhandari
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.