Warum L1-Norm für spärliche Modelle?


97

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?


4
Grundsätzlich wird die Sparsamkeit durch scharfe Kanten hervorgerufen, die auf der Achse einer Isofläche liegen. Die beste grafische Erklärung, die ich bisher gefunden habe, ist in diesem Video: youtube.com/watch?v=sO4ZirJh9ds
felipeduque

1
Es gibt einen Blog-Artikel auf dem gleichen chioka.in/…
prashanth

Überprüfen Sie den folgenden Beitrag von Medium. Es könnte medium.com/@vamsi149/…
solver149

Antworten:


111

Man betrachte den Vektor wobei klein ist. Die und Normen von sind gegeben durchε>0l1l2xx=(1,ε)R2ε>0l1l2x

||x||1=1+ε,  ||x||22=1+ε2

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δεx11δ

||x(δ,0)||1=1δ+ε,  ||x(δ,0)||22=12δ+δ2+ε2

Auf der anderen Seite ergibt die Reduzierung von um Normen δx2δ

||x(0,δ)||1=1δ+ε,  ||x(0,δ)||22=12εδ+δ2+ε2

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 20 l 1 l 2 l 2 ε 0 ε l 1 δl2x1x20l1l2l2ε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 2l1l2


3
Danke für deine Antwort! Der letzte Punkt überzeugt mich allerdings nicht. Wenn Sie eine nicht bestrafte lineare Regression ausführen, erhalten Sie kaum spärliche Lösungen (während das Hinzufügen einer L1-Strafe häufig zu geringer Wahrscheinlichkeit führt). L1-Strafen fördern also in der Tat die Sparsamkeit, indem sie Koeffizienten senden, die genau von null bis null beginnen.
Stefan Wager

2
@StefanWager Vielleicht ist es ein bisschen übertrieben, aber ich denke, es ist wahr, dass die Strafe hier nichts Besonderes ist: Eine Strafe für jedes führt auch zu Sparsamkeit, aber Sie sehen diese in der Praxis weniger häufig (wahrscheinlich, weil sie nicht konvex sind). Wenn Sie wirklich nur Sparsamkeit wollen, dann ist eine Strafe (proportional zur Anzahl der Nicht-Null-Einträge) der Weg, es kommt einfach so vor, dass es ein Albtraum ist, damit zu arbeiten. l1lαα1l0
bnaul

1
Ja das ist richtig. Es gibt viele Normen, die zu Sparsamkeit führen (z. B., wie Sie erwähnt haben, jede Lp-Norm mit p <= 1). Im Allgemeinen führt jede Norm mit einer scharfen Ecke bei Null zu Sparsamkeit. Zurück zur ursprünglichen Frage: Die L1-Norm induziert Sparsamkeit, indem sie einen diskontinuierlichen Gradienten bei Null aufweist (und jede andere Strafe mit dieser Eigenschaft wird dies auch tun).
Stefan Wager

3
Für den Fall, dass jemand mehr lesen möchte, gibt es eine aktive Literatur zu nicht konvexen Straffunktionen , die Alternativen zur L1-Norm darstellen (z. B. kürzlich papers.nips.cc/paper/… ).
Stefan Wager

1
Tolle Antwort, ich habe mich schon eine Weile gefragt, bis ich das gefunden habe.
Hady Elsahar

72

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Σiwi2

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):η

dL1(w)dw=sign(w) , wobeisign(w)=(w1|w1|,w2|w2|,,wm|wm|)

dL2(w)dw=w

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:

Bildbeschreibung hier eingeben

Und so für L2:

Bildbeschreibung hier eingeben

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.L1w1=0L2

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η=12w1:=w1ηdL1(w)dw=w1121w1=0

Bildbeschreibung hier eingeben

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:η=12w1w1:=w1ηdL2(w)dw=w112w1

Bildbeschreibung hier eingeben

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.η


3
Könnte jemand mir erklären, warum wir nicht in eine Endlosschleife, wenn wir Gewicht beginnen nehmen w1 = 5,1 statt 5 Sei w = 0,1, w> 0 daher unsere partielle Ableitung gleich 1 ist dann zweiter Schritt, jetzt w <0 => Ableitung = -1:Wir oszillieren also endlos in der Nähe von 0.
η=0.5
wfirst step=0.10.5(+1)=>w=0.4
wsecondstep=0.40.5(1)=0.1.
Alex Yashin

5
@AlexYashin das ist richtig - wenn wir nur die Gewichte basierend auf der L1-Regularisierung aktualisieren, könnten Gewichte entstehen, die nahe 0 oszillieren. Wir verwenden die Regularisierung jedoch niemals alleine, um die Gewichte anzupassen. Wir verwenden die Regularisierung in Kombination mit der Optimierung einer Verlustfunktion. Auf diese Weise werden die Gewichte durch die Regularisierung gegen Null verschoben, während gleichzeitig versucht wird, die Gewichte auf einen Wert zu verschieben, der die Vorhersagen optimiert. Ein zweiter Aspekt ist die Lernrate. Mit einer geringeren Lernrate können wir dem Wert so nahe kommen, dass die Regularisierung schwankt und wir ihn vernachlässigen können
Kent Munthe Caspersen,

1
Warum dL2(w)/dwist "Modul" und nicht nur linear?
Mrgloom

1
@mrgloom dL2(w)/dwkann als die Änderung L2(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 Änderung L1(w)pro Gewichtsänderung jedoch unabhängig von Ihren Gewichten dieselbe - dies führt zu einer linearen Funktion.
Kent Munthe Caspersen

1
@ KentMuntheCaspersen Erstaunliche Erklärung! Vielen Dank für die Grafiken und den Aufwand, den Sie investiert haben, um diese intuitiv zu gestalten!
Layser

15

Die Abbildung 3.11 aus Elements of Statistical Learning von Hastie, Tibshirani und Friedman ist sehr anschaulich:Bildbeschreibung hier eingeben

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β^L1L2

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


16
Die Abbildung kann ohne zusätzliche Informationen nicht sehr überzeugen. ZB warum sollten die Konturen des Fehlers dort liegen, wo sie in der Figur sind?
Wabbit

@HrishikeshGanu Irgendwann bekam ich etwas Zeit, um den Beitrag zu bearbeiten.
Zhanxiong

Alle Konturen haben die gleiche Form ...
kjetil b halvorsen

1
Beachten Sie, dass mit L1 Kanten nur dann bevorzugt werden, wenn über die Achsen und unterschiedliche Varianzen aufweist. Mit anderen Worten, wenn die Redline-Verteilung auf der diagonalen Achse nicht symmetrisch ist. Wenn es symmetrisch ist, hat die gesamte Kante den gleichen Abstand / Wert / Preis. β^β1β2β1=β2
Tautvydas

13

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(β^)<t2(β^)<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.11{x:1(x)1}

Allgemeiner ist dieses Buch eine gute Referenz zu diesem Thema: sowohl streng als auch gut illustriert, großartige Erklärungen.


3
Ich denke, Ihr zweiter Absatz ist ein Schlüssel ... zumindest für meine Intuition: Eine 11 "Kugel" ist eher wie ein Diamant, der entlang der Achsen stachelig ist, was bedeutet, dass eine Hyperebene, die gezwungen ist, darauf zu treffen, eher eine Null hat die Achsen.
Wayne

2
Ja, ich stelle mir den Optimierungsprozess als die Bewegung eines Punktes vor, der zwei Kräften ausgesetzt ist : Anziehung auf die ungezwungene dank der quadratischen Fehlerfunktion, Anziehung auf 0 Thaks nach der oder Norm. Hier verändert die "Geometrie" dieser Anziehungskraft das Verhalten des Punktes. Wenn Sie einen kleinen oder Ball reparieren, in dem er sich frei bewegen kann, gleitet er am Rand des Balls, um in die Nähe von . Das Ergebnis ist auf der Abbildung im vorgenannten Buch zu sehen ...β^1212β^
Elvis

3
Das Buch ist gut, aber es erklärt nie, woher es kommt und was dahinter steckt.
user13985

2

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.


Nicht sehr überzeugend für mich.
Tyler 十三 十三 归 玉门

2

L1-Norm vs L2-Norm

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


Dies ist eine gute Erklärung, aber ein zusätzlicher Kommentar zum Ausdruck von Beispielkostenfunktionen wäre auch nützlich. Das heißt, die Kreisform von -norm Fehlern erscheint intuitiv, die schmal-längliche Form (die auch in den meisten anderen Beispielen verwendet wird) erscheint jedoch nicht trivial und selbsterklärend. (Hier spreche ich von der Kostenfunktion oben links in Abb. 8 (b): Warum zeigt ihre Hauptrichtung zum Punkt und nicht etwa zu ? Die Konturen wären anders, und der Minimierungspunkt wäre nicht bei 0!)β 1 = 1 β 1 = 0 L 12β1=1β1=0L1
Nutle
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.