Hinweis: Ich weiß, dass L1 die Eigenschaft zur Featureauswahl hat. Ich versuche zu verstehen, welche ich wählen soll, wenn die Funktionsauswahl völlig irrelevant ist.
- Wie kann man entscheiden, welche Regularisierung (L1 oder L2) verwendet werden soll?
- Was sind die Vor- und Nachteile jeder L1 / L2-Regularisierung?
- Wird empfohlen, zuerst die Featureauswahl mit L1 durchzuführen und dann L2 auf diese ausgewählten Variablen anzuwenden?
regression
lasso
regularization
ridge-regression
GeorgeOfTheRF
quelle
quelle
Antworten:
Was ist dein Ziel? Beide können die Modellverallgemeinerung verbessern, indem Koeffizienten benachteiligt werden, da Merkmale mit entgegengesetzter Beziehung zum Ergebnis sich gegenseitig "versetzen" können (ein großer positiver Wert wird durch einen großen negativen Wert ausgeglichen). Dies kann bei kollinearen Merkmalen auftreten. Kleine Änderungen in den Daten können zu dramatisch unterschiedlichen Parameterschätzungen führen (Schätzungen mit hoher Varianz). Eine Bestrafung kann dazu führen, dass beide Koeffizienten kleiner sind. (Hastie et al., Elements of Statistical Learning , 2. Auflage, S. 63)
Die L1-Regularisierung kann das Multikollinearitätsproblem lösen, indem die Koeffizientennorm eingeschränkt und einige Koeffizientenwerte auf 0 festgelegt werden. Die Lasso-Regression (Regression mit einer L1-Strafe) ist ein quadratisches Programm, für dessen Lösung einige spezielle Werkzeuge erforderlich sind. Wenn Sie mehr Merkmale als Beobachtungen , behält Lasso höchstens Nicht-Null-Koeffizienten beiN N . Je nach Kontext ist dies möglicherweise nicht das, was Sie möchten.
Die L1-Regularisierung wird manchmal als Merkmalsauswahlmethode verwendet. Angenommen, Sie haben eine feste Grenze für die Anzahl der Features, die Sie verwenden können (da die Datenerfassung für alle Features teuer ist oder Sie strenge technische Einschränkungen hinsichtlich der Anzahl der zu speichernden Werte usw. haben). Sie können versuchen, die L1-Strafe so einzustellen, dass die gewünschte Anzahl von Nicht-Null-Features erreicht wird.
Die L2-Regularisierung kann das Multikollinearitätsproblem lösen, indem sie die Koeffizientennorm einschränkt und alle Variablen beibehält. Es ist unwahrscheinlich, dass ein Koeffizient auf genau 0 geschätzt wird. Dies ist nicht unbedingt ein Nachteil, es sei denn, ein spärlicher Koeffizientenvektor ist aus irgendeinem Grund wichtig.
In der Regressionseinstellung ist dies die "klassische" Lösung für das Problem der Schätzung einer Regression mit mehr Merkmalen als Beobachtungen. Die L2-Regularisierung kann einen Koeffizienten für jedes Merkmal schätzen, selbst wenn es mehr Merkmale als Beobachtungen gibt (dies war tatsächlich die ursprüngliche Motivation für die "Gratregression").
Das elastische Netz ermöglicht alternativ die Regulierung von L1 und L2 als Sonderfälle. Ein typischer Anwendungsfall für einen Data Scientist in der Industrie ist, dass Sie nur das beste Modell auswählen möchten, sich aber nicht unbedingt darum kümmern müssen, ob es mit L1, L2 oder beidem bestraft wird. Elastisches Netz ist in solchen Situationen gut.
Ich kenne keine Publikation, die eine L1-dann-L2-Pipeline vorschlägt, aber dies ist wahrscheinlich nur Unwissenheit meinerseits. Daran scheint nichts auszusetzen. Ich würde eine Literaturrecherche durchführen.
Es gibt einige Beispiele für ähnliche "phasengesteuerte" Pipelines. Eines ist das "entspannte Lasso", bei dem die Lasso-Regression zweimal angewendet wird , einmal, um aus einer großen Gruppe eine kleine Gruppe von Merkmalen auszuwählen, und zum anderen, um Koeffizienten für die Verwendung in einem Modell abzuschätzen. Dies verwendet eine Kreuzvalidierung bei jedem Schritt, um die Stärke der Strafe zu bestimmen. Die Überlegung ist, dass Sie im ersten Schritt eine Kreuzvalidierung durchführen und wahrscheinlich eine große Strafe wählen, um irrelevante Prädiktoren auszusortieren. Im zweiten Schritt führen Sie eine Kreuzvalidierung durch und wählen wahrscheinlich eine kleinere Strafe (und damit größere Koeffizienten) aus. Dies wird in Elements of Statistical Learning mit einem Zitat an Nicolai Meinshausen ("Relaxed Lasso") kurz erwähnt. Computational Statistics & Data Analysis Band 52, Ausgabe 1, 15. September 2007, S. 374-393).
Benutzer @amoeba schlägt auch eine L1-dann-OLS-Pipeline vor. Das ist vielleicht nett, weil es nur einen Hyperparameter für die Größe der L1-Strafe gibt, sodass weniger Fummelei erforderlich wäre.
Ein Problem, das bei jeder "phasengesteuerten" Analyse-Pipeline auftreten kann, die einige Schritte und dann einige andere Schritte separat ausführt, ist, dass zwischen diesen verschiedenen Algorithmen keine "Sichtbarkeit" besteht. Daher erbt ein Prozess alle Daten-Snooping-Vorgänge, die in den vorherigen Schritten durchgeführt wurden. Dieser Effekt ist nicht zu vernachlässigen. Eine schlecht durchdachte Modellierung kann zu Müllmodellen führen.
Eine Möglichkeit, sich gegen Daten-Snooping-Nebenwirkungen abzusichern, besteht darin, alle Ihre Entscheidungen zu überprüfen. Die erhöhten Rechenkosten können sich jedoch als unerschwinglich erweisen.
quelle
Wenn Sie eine optimale Vorhersage wünschen, verwenden Sie im Allgemeinen L2. Wenn Sie Sparsamkeit bei einem Opfer der prädiktiven Diskriminierung wünschen, verwenden Sie L1. Beachten Sie jedoch, dass die Sparsamkeit illusorisch sein kann. Wenn Sie beispielsweise den Lasso- Vorgang mit dem Bootstrap wiederholen, wird häufig eine erhebliche Instabilität in der Liste der "ausgewählten" Merkmale festgestellt, insbesondere wenn die Prädiktoren miteinander korreliert sind.
quelle