Warum verwendet glmnet den Koordinatenabstieg für die Ridge-Regression?


7

Wenn ich es richtig verstehe, verwendet glmnet den zyklischen Koordinatenabstieg nicht nur für Lasso- und Gummibänder, sondern auch für die Ridge-Regression.

Warum wird dieser Algorithmus verwendet, der manchmal leicht ungenaue Ergebnisse liefert, obwohl tatsächlich eine einfache Lösung in geschlossener Form verfügbar ist?

Vielen Dank im Voraus!


Stellen Sie sich vor, Sie haben λ1λ2und du suchst β^λ1ridge und β^λ2ridgeDie durch den Abstimmungsparameter indizierten Ridge-Regressionsschätzungen. Um das geschlossene Formular zu verwenden, um zu findenβ^λ2 nach dem Rechnen β^λ1Sie müssten ein ganz anderes lineares System lösen, für das Sie früher gelöst haben β^λ1. Wenn Sie jedoch den Koordinatenabstieg bei Warmstarts verwenden möchten, finden Sie ihn sehr schnell und effizientβ^λ2.
user795305

iterative Methoden haben einige Vorteile bei sehr großen und spärlichen Systemen. Selbst in einigen Fällen, in denen eine Lösung in geschlossener Form verfügbar ist, verwenden wir immer noch iterative Methoden. Zum Beispiel CG zum Lösen eines linearen Systems
Haitao Du

Antworten:


7

Ich denke, das liegt an der Geschwindigkeit. Der zyklische Koordinatenabstieg findet nicht die genaue Lösung in endlicher Zeit, aber er ist schneller, nicht nur für ein Gitter vonλist aber auch für eine Single λ.

Betrachten Sie die Aufgabe, die Gratregression für eine einzelne zu lösen λmit einer Datenmatrix der Größe n×p. Ich glaube, die optimale Laufzeit für eine exakte Gratregression istO(n2p) wenn n<p und O(np2) wenn n>p. Eine Referenz finden Sie in Murphy, Maschinelles Lernen , Abschnitt 7.5.2.

Mit dem Algorithmus für den zyklischen Koordinatenabstieg "ein vollständiger Zyklus durch alle p Variablen Kosten O(pN)Operationen "(S. 6, Friedman et al. 2010, https://www.jstatsoft.org/article/view/v033i01 ). Man kann dann eine Anzahl von Zyklen angebenc mit cmin(n,p) um eine schnellere Big-Oh-Laufzeit für eine Single zu bekommen λ. Zum Lösen über vieleλDie glmnetMethode sollte sich durch Warmstarts weiter verbessern.


1

Es gibt andere Löser für Ridge, und der Zweck des glmnet-Lösers besteht genau darin, CCD aus Gründen der Traktabilität und Geschwindigkeit zu verwenden. Sie verwenden für alle Elasticnet-Lösungen den gleichen Code . Elasticnet enthält Grat und LASSO nach Einstellungλ1 oder λ2 zu 0.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.