Least-Angle-Regression vs. Lasso

39

Die Least-Angle-Regression und das Lasso tendieren dazu, sehr ähnliche Regularisierungspfade zu erzeugen (identisch, außer wenn ein Koeffizient Null überschreitet).

Beide können durch praktisch identische Algorithmen effizient angepasst werden.

Gibt es jemals einen praktischen Grund, eine Methode der anderen vorzuziehen?

NPE
quelle
Wenn Sie die Antworten an dieser Stelle neu bewerten, würden Sie eine andere "akzeptierte" Antwort wählen?
Aaron Hall

Antworten:

13

Die "no free lunch" -Sätze legen nahe, dass es keine Unterscheidung von statistischen Inferenzalgorithmen von vornherein gibt, dh ob LARS oder LASSO am besten funktionieren, hängt von der Art des jeweiligen Datensatzes ab. In der Praxis ist es dann am besten, beides zu versuchen und einen zuverlässigen Schätzer für die Generalisierungsleistung zu verwenden, um zu entscheiden, welcher im Betrieb verwendet werden soll (oder ein Ensemble zu verwenden). Da die Unterschiede zwischen LARS und LASSO eher gering sind, dürften auch die Leistungsunterschiede eher gering sein, aber im Allgemeinen gibt es nur einen Weg, dies mit Sicherheit herauszufinden!

Dikran Beuteltier
quelle
Können Sie in diesem speziellen Fall die mögliche "Ensemble-Methode" erweitern?
Chl
35

Im stufenweisen Modus ist der LARS-Algorithmus eine gierige Methode, die keinen nachweislich konsistenten Schätzer liefert (mit anderen Worten, er konvergiert nicht zu einem stabilen Ergebnis, wenn Sie die Anzahl der Abtastungen erhöhen).

Umgekehrt löst der LASSO (und damit der LARS-Algorithmus im LASSO-Modus) ein konvexes Datenanpassungsproblem. Insbesondere hat dieses Problem (der L1-bestrafte lineare Schätzer) viele gute nachgewiesene Eigenschaften (Konsistenz, Sparsistenz).

Ich würde daher versuchen, die LARS immer im LASSO-Modus zu verwenden (oder einen anderen Solver für LASSO zu verwenden), es sei denn, Sie haben sehr gute Gründe, die Bühne zu bevorzugen.

Gael Varoquaux
quelle
9

LASSO ist kein Algorithmus an sich, sondern ein Operator.

Es gibt viele verschiedene Möglichkeiten, effiziente Algorithmen für regulierte Probleme abzuleiten . Zum Beispiel kann man eine quadratische Programmierung verwenden, um sie direkt anzugehen. Ich denke, das ist es, was Sie als LASSO bezeichnen.1

Ein anderes ist LARS, sehr beliebt wegen seiner Einfachheit, der Verbindung mit Vorwärtsprozeduren (aber nicht zu gierig), des sehr konstruktiven Beweises und der einfachen Verallgemeinerung.

Selbst im Vergleich zu modernen quadratischen Programmierlösern kann LARS wesentlich effizienter sein.

Georgi
quelle
9

l1l1l2

Die Beantwortung dieser Frage soll darauf hinweisen, dass LARS heutzutage offenbar durch Methoden des Koordinatenabstiegs und des stochastischen Koordinatenabstiegs abgelöst wurde. Diese Methoden basieren auf besonders einfachen Algorithmen, während gleichzeitig die Leistung höher zu sein scheint als die von LARS (oft um ein oder zwei Größenordnungen schneller). Beispiele finden sich in dieser Veröffentlichung von Friedman et al.

Wenn Sie vorhaben, LARS zu implementieren, sollten Sie dies nicht tun. Verwenden Sie einen Koordinatenabstieg, der einige Stunden dauert.

Davidhigh
quelle
1
+1 für die Nichtimplementierung von LARS, sondern für die Koordinatensenkung: Es gibt Einstellungen, bei denen die Koordinatensenkung besser ist als bei der Koordinatensenkung (z. B. bei kleinen und sehr spärlichen Problemen, siehe die These von Julien Mairal für empirische Vergleiche) sehr schwer richtig umzusetzen, viel schwieriger als das koordinieren des abstiegs.
Gael Varoquaux
3

λ


Hier ist meine Meinung:

Cp

Darüber hinaus ist LARS rechnerisch schnell und zuverlässig. Lasso ist schnell, aber es gibt einen winzigen Unterschied zwischen den Algorithmen, der bewirkt, dass der LARS die Geschwindigkeitsherausforderung gewinnt. Andererseits gibt es in R alternative Pakete, die 'glmnet' genannt werden und zuverlässiger funktionieren als lars package (weil es allgemeiner ist).

Zusammenfassend lässt sich sagen, dass an Lars und Lasso nichts Bedeutendes zu denken ist. Dies hing vom Kontext ab, in dem Sie das Modell verwenden möchten.

Ich persönlich rate dazu, glmnet in R sowohl in hoch- als auch in niedrigdimensionalen Fällen zu verwenden. Wenn Sie an verschiedenen Kriterien interessiert sind, können Sie http://cran.r-project.org/web/packages/msgps/ package verwenden.

TPArrow
quelle
0

In einigen Kontexten kann eine regulierte Version der Lösung der kleinsten Quadrate vorzuziehen sein. Beispielsweise findet der LASSO-Algorithmus (Least Absolute Shrinking and Selection Operator) eine Least-Squares-Lösung mit der Einschränkung, dass | β | 1, die L1-Norm des Parametervektors, ist nicht größer als ein gegebener Wert. In gleicher Weise kann eine uneingeschränkte Minimierung der Bestrafung der kleinsten Fehlerquadrate mit α | gelöst werden β | 1 hinzugefügt, wobei α eine Konstante ist (dies ist die Lagrange-Form des eingeschränkten Problems). Dieses Problem kann unter Verwendung einer quadratischen Programmierung oder allgemeinerer konvexer Optimierungsmethoden sowie durch spezifische Algorithmen wie den Algorithmus der kleinsten Winkelregression gelöst werden. Die L1-regulierte Formulierung ist in einigen Zusammenhängen nützlich, da sie tendenziell Lösungen mit weniger Nicht-Null-Parameterwerten bevorzugt. Reduziert effektiv die Anzahl der Variablen, von denen die gegebene Lösung abhängt. [11] Aus diesem Grund sind der LASSO und seine Varianten für das Gebiet der komprimierten Abtastung von grundlegender Bedeutung.

mariana weicher
quelle
5
In Anbetracht dessen sieht dies wie direktes Kopieren und Einfügen aus Wikipedia aus und beantwortet die Frage nicht wirklich.
NPE
3
(-1) Zumindest sollten Sie das Zitat aus Wikipedia, § über die LASSO-Methode unter en.wikipedia.org/wiki/Least_squares bestätigen !!! Übrigens haben Sie vergessen, die 11. Referenz einzufügen.
chl
Ich habe zwar vergessen, den Link zu setzen, aber ich denke trotzdem, dass dies eine gute Antwort auf diese Frage ist. Es
tut
np