Ich lese die Bücher über lineare Regression. Es gibt einige Sätze zur L1- und L2-Norm. Ich kenne sie, verstehe nur nicht, warum L1-Norm für spärliche Modelle. Kann jemand eine einfache Erklärung geben?
regression
lasso
regularization
ridge-regression
Yongwei Xing
quelle
quelle
Antworten:
Man betrachte den Vektor wobei klein ist. Die und Normen von sind gegeben durchε>0l1l2 → xx⃗ =(1,ε)∈R2 ε>0 l1 l2 x⃗
Nehmen wir nun an, dass wir im Rahmen einer Regularisierung eines der Elemente von um verkleinern . Wenn wir in ändern , ergeben sich folgende Normen δ≤εx11-δx⃗ δ≤ε x1 1−δ
Auf der anderen Seite ergibt die Reduzierung von um Normen δx2 δ
Hier ist zu beachten, dass für eine Strafe das Regularisieren des größeren Terms zu einer viel stärkeren Reduzierung der Norm führt als dies beim kleineren Term . Für die Strafe ist die Reduzierung jedoch gleich. Wenn ein Modell mit der Norm , ist es sehr unwahrscheinlich, dass jemals etwas auf Null gesetzt wird, da die Verringerung der Norm von auf fast nicht vorhanden ist, wenn klein ist. Andererseits ist die Reduzierung von norm immer gleichx 1 x 2 ≤ 0 l 1 l 2 l 2 ε 0 ε l 1 δl2 x1 x2≈0 l1 l2 l2 ε 0 ε l1 δ unabhängig von der zu bestrafenden Menge.
Eine andere Sichtweise: Es ist nicht so sehr so, dass Strafen die Sparsamkeit fördern, sondern dass Strafen in gewisser Weise die Sparsamkeit mindern, indem sie zu sinkenden Renditen führen, wenn Elemente näher an Null gebracht werden.l 2l1 l2
quelle
Bei einem spärlichen Modell denken wir an ein Modell, bei dem viele der Gewichte 0 sind. Lassen Sie uns daher überlegen, wie L1-Regularisierung mit höherer Wahrscheinlichkeit zu 0-Gewichten führt.
Betrachten Sie ein Modell, das aus den Gewichten .(w1,w2,…,wm)
Mit der L1-Regularisierung bestrafen Sie das Modell mit einer Verlustfunktion =.L1(w) Σi|wi|
Mit der L2-Regularisierung bestrafen Sie das Modell mit einer Verlustfunktion =L2(w) 12Σiw2i
Wenn Gradientenabfallsaktualisierung verwendet, werden Sie iterativ die Gewichte machen in der entgegengesetzten Richtung des Gradienten mit einer Schrittweite ändern mit dem Gradienten multipliziert. Dies bedeutet, dass ein steilerer Gradient uns einen größeren Schritt machen lässt, während ein flacherer Gradient uns einen kleineren Schritt machen lässt. Betrachten wir die Gradienten (Subgradient bei L1):η
Wenn wir die Verlustfunktion zeichnen und sie für ein Modell ableiten, das nur aus einem einzigen Parameter besteht, sieht sie für L1 folgendermaßen aus:
Und so für L2:
Beachten Sie, dass für der Gradient entweder 1 oder -1 ist, außer wenn . Das bedeutet, dass die L1-Regularisierung jedes Gewicht mit derselben Schrittgröße in Richtung 0 bewegt, unabhängig vom Gewichtswert. Im Gegensatz dazu können Sie sehen, dass der Gradient linear in Richtung 0 abnimmt, wenn das Gewicht in Richtung 0 geht. Daher verschiebt die L2-Regularisierung auch jedes Gewicht in Richtung 0, nimmt jedoch immer kleinere Schritte in wenn sich das Gewicht 0 nähert.L1 w1=0 L2
Stellen Sie sich vor, Sie beginnen mit einem Modell mit und verwenden . In der folgenden Abbildung sehen Sie, wie der Gradientenabstieg mithilfe der L1-Regularisierung 10 der Aktualisierungen durchführt , bis ein Modell mit :w1=5 η=12 w1:=w1−η⋅dL1(w)dw=w1−12⋅1 w1=0
Im Gegensatz dazu ist bei L2-Regularisierung mit der Gradient , wodurch jeder Schritt nur zur Hälfte in Richtung 0 geht. Das heißt, wir führen die Aktualisierung Daher erreicht das Modell niemals eine Gewichtung von 0, unabhängig davon, wie viele Schritte wir ausführen:η=12 w1 w1:=w1−η⋅dL2(w)dw=w1−12⋅w1
Beachten Sie, dass L2-Regularisierung kann ein Gewicht Null erreichen machen , wenn die Schrittgröße so hoch ist , dass es Null in einem einzigen Schritt erreicht. Selbst wenn die L2-Regularisierung allein 0 überschreitet oder unterschreitet, kann sie dennoch eine Gewichtung von 0 erreichen, wenn sie zusammen mit einer Zielfunktion verwendet wird, die versucht, den Fehler des Modells in Bezug auf die Gewichte zu minimieren. In diesem Fall ist das Finden der besten Gewichte des Modells ein Kompromiss zwischen dem Regularisieren (mit kleinen Gewichten) und dem Minimieren des Verlusts (Anpassen der Trainingsdaten), und das Ergebnis dieses Kompromisses kann sein, dass der beste Wert für einige Gewichte ist sind 0.η
quelle
dL2(w)/dw
ist "Modul" und nicht nur linear?dL2(w)/dw
kann als die ÄnderungL2(w)
pro Gewichtsänderung gelesen werden . Da die L2-Regularisierung die Gewichte quadriert,L2(w)
ändert sich bei gleicher Gewichtsänderung viel mehr, wenn wir höhere Gewichte haben. Aus diesem Grund ist die Funktion beim Plotten konvex. Für L1 ist die ÄnderungL1(w)
pro Gewichtsänderung jedoch unabhängig von Ihren Gewichten dieselbe - dies führt zu einer linearen Funktion.Die Abbildung 3.11 aus Elements of Statistical Learning von Hastie, Tibshirani und Friedman ist sehr anschaulich:
Erklärungen: Der ist die uneingeschränkte Schätzung der kleinsten Quadrate. Die roten Ellipsen sind (wie in der Bildunterschrift erläutert) die Konturen der Fehlerfunktion der kleinsten Quadrate in Bezug auf die Parameter und . Ohne Einschränkungen wird die Fehlerfunktion im MLE minimiert und ihr Wert erhöht sich, wenn sich die roten Ellipsen ausdehnen. Die Diamant- und Scheibenregionen sind mögliche Regionen für die Lasso- Regression ( ) bzw. die Grat-Regression ( ). Heuristisch suchen wir für jede Methode nach dem Schnittpunkt der roten Ellipsen und der blauen Region, um die Fehlerfunktion zu minimieren und gleichzeitig die Machbarkeit aufrechtzuerhalten.β^ β1 β2 β^ L1 L2
ist klar zu erkennen, dass die Bedingung, die dem durch Diamant realisierbaren Bereich entspricht, aufgrund der geometrischen Eigenschaften mit größerer Wahrscheinlichkeit einen Schnittpunkt erzeugt, bei dem eine Komponente der Lösung null ist (dh das dünne Modell) von Ellipsen, Scheiben und Diamanten. Es ist einfach so, weil Diamanten Ecken haben (von denen eine Komponente Null ist), die sich leichter mit den Ellipsen schneiden lassen, die sich diagonal erstrecken.L1
quelle
Schauen Sie sich die Abbildung 3.11 (Seite 71) der Elemente des statistischen Lernens an . Es zeigt die Position einer nicht beschränkten , die die quadratische Fehlerfunktion minimiert, die Ellipsen, die die Ebenen der quadratischen Fehlerfunktion , und wo sind die Einschränkungen unterworfen und .β^ β^ ℓ1(β^)<t ℓ2(β^)<t
Auf diese Weise können Sie geometrisch sehr gut nachvollziehen, dass Sie unter der einige erhalten. Dies liegt im Grunde daran, dass die Kugel "Kanten" auf den Achsen hat.ℓ1 ℓ1 {x:ℓ1(x)≤1}
Allgemeiner ist dieses Buch eine gute Referenz zu diesem Thema: sowohl streng als auch gut illustriert, großartige Erklärungen.
quelle
Eine einfache, nicht mathematische Antwort wäre:
Für L2: Die Strafzeit wird quadriert. Wenn Sie also einen kleinen Wert quadrieren , wird er kleiner. Wir müssen nicht null machen, um unser Ziel zu erreichen, einen minimalen quadratischen Fehler zu erhalten, wir werden ihn vorher bekommen.
Für L1: Penalty Begriff ist absolut , wir könnten müssen auf Null gehen , da es kein Katalysator klein kleiner zu machen .
Das ist meine Sichtweise.
quelle
Das Bild zeigt die Flächenformen, die von der L1- und L2-Norm eingenommen werden. Das zweite Bild besteht aus verschiedenen Verlaufskonturen für verschiedene Regressionsprobleme. Beachten Sie in allen Konturdiagrammen den roten Kreis, der den Kamm oder die L2-Norm schneidet. Der Schnittpunkt liegt nicht auf den Achsen. Der schwarze Kreis in allen Konturen repräsentiert denjenigen, der die L1-Norm oder das Lasso schneidet. Es schneidet sich relativ nahe an Achsen. Dies führt dazu, dass die Koeffizienten auf 0 gesetzt werden und somit eine Merkmalsauswahl erfolgt. Daher macht die L1-Norm das Modell spärlich.
Ausführlichere Erklärung unter folgendem Link: Klicken Sie auf In Richtung Data Science posten
quelle