Was ist Regularisierung im Klartext?


74

Im Gegensatz zu anderen Artikeln fand ich den Wikipedia- Eintrag für dieses Thema für einen Nicht-Mathematiker (wie mich) nicht lesbar.

Ich habe die Grundidee verstanden, dass Sie Modelle mit weniger Regeln bevorzugen. Was ich nicht verstehe, ist, wie man von einem Regelwerk zu einem "Regularisierungs-Score" gelangt, anhand dessen man die Modelle von der geringsten bis zur größten Überanpassung sortieren kann.

Können Sie eine einfache Regularisierungsmethode beschreiben?

Ich interessiere mich für den Kontext der Analyse statistischer Handelssysteme. Es wäre großartig, wenn Sie beschreiben könnten, ob / wie ich Regularisierung anwenden kann, um die folgenden zwei Vorhersagemodelle zu analysieren:

Modell 1 - Preiserhöhung bei:

  • exp_moving_avg (Preis, Zeitraum = 50)> exp_moving_avg (Preis, Zeitraum = 200)

Modell 2 - Preiserhöhung bei:

  • preis [n] <preis [n-1] 10 mal hintereinander
  • exp_moving_avg (Preis, Zeitraum = 200) steigt

Aber ich bin mehr daran interessiert, ein Gefühl dafür zu bekommen, wie man Regularisierung macht. Wenn Sie also bessere Erklärungsmodelle kennen, tun Sie dies bitte.


7
Ein Beispiel ist die Ridge-Regression, bei der es sich um eine OLS-Regression handelt, bei der die Summe der quadrierten Koeffizienten begrenzt ist. Dies führt zu einer Verzerrung des Modells, verringert jedoch die Varianz der Koeffizienten teilweise erheblich. LASSO ist eine andere verwandte Methode, setzt jedoch der Größe der Koeffizienten eine L1-Beschränkung auf. Es hat den Vorteil, dass die Koeffizienten fallengelassen werden. Dies ist nützlich für p >> n-Situationen. Regularisieren bedeutet in gewisser Weise, das Modell zu "verkleinern", um eine Überanpassung zu vermeiden (und die Koeffizientenvarianz zu verringern), was normalerweise die Prognoseleistung des Modells verbessert.
HairyBeast

2
@ HairyBeast Sie sollten Ihren netten Kommentar als Antwort setzen. Versuchen Sie nach Möglichkeit, ein anschauliches Beispiel hinzuzufügen, damit das OP herausfinden kann, wie es sich auf das jeweilige Problem auswirkt.
Chl

1
@ HairyBeast, kann ich also sagen, dass Regularisierung nur eine Methode ist, um die Idee des Bias-Varianz-Kompromisses umzusetzen ?
Avocado

Ich fand dieses Video sehr hilfreich, insbesondere bei der Visualisierung der verschiedenen Formen der Lp-Regularisierung: youtube.com/watch?v=sO4ZirJh9ds
Anm

Regularisierung dient dazu, die Überanpassung in dem gelernten Modell zu adressieren. Versucht, in einfachem Englisch und visuell zu erklären. Es folgt der Link zum Artikel medium.com/@vamsi149/…
solver149

Antworten:


57

Vereinfacht ausgedrückt bedeutet Regularisierung, die bevorzugte Ebene der Modellkomplexität abzustimmen oder auszuwählen, damit Ihre Modelle besser Vorhersagen treffen (Generalisierung) können. Wenn Sie dies nicht tun, sind Ihre Modelle möglicherweise zu komplex und über- oder zu einfach und unterangepasst, was zu schlechten Vorhersagen führt.

Wenn Sie mit den kleinsten Quadraten ein komplexes Modell an eine kleine Menge von Trainingsdaten anpassen, die Sie wahrscheinlich überanpassen, ist dies die häufigste Situation. Die optimale Komplexität des Modells hängt von der Art des zu modellierenden Prozesses und der Qualität der Daten ab. Es gibt also keine von vornherein korrekte Komplexität eines Modells.

Zum Regularisieren benötigen Sie zwei Dinge:

  1. Eine Möglichkeit, um zu testen, wie gut Ihre Modelle in der Vorhersage sind, z. B. mithilfe von Kreuzvalidierung oder einer Reihe von Validierungsdaten (Sie können den Anpassungsfehler hierfür nicht verwenden ).
  2. Ein Optimierungsparameter, mit dem Sie die Komplexität oder Glätte des Modells oder eine Auswahl von Modellen mit unterschiedlicher Komplexität / Glätte ändern können.
Grundsätzlich passen Sie den Komplexitätsparameter an (oder ändern das Modell) und finden den Wert, der die besten Modellvorhersagen liefert.

Beachten Sie, dass der optimierte Regularisierungsfehler keine genaue Schätzung des gesamten Vorhersagefehlers darstellt. Nach der Regularisierung müssen Sie schließlich einen zusätzlichen Validierungsdatensatz verwenden oder eine zusätzliche statistische Analyse durchführen, um einen unverzerrten Vorhersagefehler zu erhalten.

Eine Alternative zu (Kreuz-) Validierungstests besteht darin, Bayesian Priors oder andere Methoden zu verwenden, um die Komplexität oder Nichtglätte zu bestrafen. Diese erfordern jedoch mehr statistische Raffinesse und Kenntnisse des Problems und der Modellmerkmale.


2
+1 von mir. Ich mag, dass diese Antwort am Anfang beginnt und so einfach zu verstehen ist ...
Andrew

2
Wird die Regularisierung wirklich jemals angewendet, um die Unteranpassung zu reduzieren? Nach meiner Erfahrung wird die Regularisierung auf ein komplexes / sensitives Modell angewendet, um die Komplexität / Sensitivität zu verringern, aber niemals auf ein einfaches / unempfindliches Modell, um die Komplexität / Sensitivität zu erhöhen.
Richard Hardy

Diese Antwort ist mittlerweile ziemlich alt, aber ich nehme an, Toby bezog sich darauf, dass Regularisierung eine prinzipielle Methode ist, um ein Modell mit angemessener Komplexität in Anbetracht der Datenmenge anzupassen. Dies ist eine Alternative sowohl zur Auswahl eines Modells mit zu wenigen (oder falschen) Parametern als auch zur Auswahl eines Modells, das zu komplex ist und zu gut passt.
Bryan Krause

26

Angenommen, Sie führen das Lernen über die empirische Risikominimierung durch.

Etwas präziser:

  • Sie haben Ihre nicht-negative Verlustfunktion die charakterisiert, wie schlecht Ihre Vorhersagen sindL(actual value, predicted value)
  • Sie möchten Ihr Modell so anpassen, dass seine Vorhersagen die Mittelwertfunktion minimieren, die nur auf Trainingsdaten berechnet wird (die einzigen Daten, die Sie haben).

Ziel des Lernprozesses ist es dann, (diese Methode wird als empirisches Risiko bezeichnet) Minimierung).Model=argminL(actual,predicted(Model))

Wenn Sie jedoch nicht genügend Daten haben und Ihr Modell eine große Anzahl von Variablen enthält, ist es sehr wahrscheinlich, dass Sie ein solches Modell finden, das nicht nur Muster, sondern auch zufälliges Rauschen in Ihren Daten erklärt. Dieser Effekt wird als Überanpassung bezeichnet und führt zu einer Verschlechterung der Generalisierungsfähigkeit Ihres Modells.

Um eine Überanpassung zu vermeiden, wird ein Regularisierungsterm in die Zielfunktion eingeführt: Model=argminL(actual,predicted(Model))+λR(Model)

Normalerweise erlegt dieser Ausdruck komplexen Modellen eine besondere Strafe auf. Zum Beispiel bei Modellen mit großen Koeffizienten (L2-Regularisierung, = Summe der Koeffizientenquadrate) oder bei vielen Koeffizienten ungleich Null (L1-Regularisierung, = Summe der Absolutwerte der Koeffizienten). Wenn wir den Entscheidungsbaum trainieren, kann seine Tiefe sein.R(Model)RRR

Ein weiterer Gesichtspunkt ist, dass unser Vorwissen über eine Form des besten Modells einführt ("es hat keine zu großen Koeffizienten", "es ist fast orthogonal zu ").Ra¯


12

Vereinfacht ausgedrückt geht es bei der Regularisierung darum, von den erwarteten Lösungen zu profitieren. Wie Sie bereits erwähnt haben, können Sie beispielsweise von "einfachen" Lösungen profitieren, um die Einfachheit zu definieren. Wenn Ihr Problem Regeln enthält, kann eine Definition weniger Regeln enthalten. Das ist aber problemabhängig.

Sie stellen jedoch die richtige Frage. Zum Beispiel bei Support Vector Machines beruht diese "Einfachheit" darauf, dass Verbindungen in Richtung "maximaler Rand" unterbrochen werden. Dieser Spielraum kann im Hinblick auf das Problem klar definiert werden. Es gibt eine sehr gute geometrische Ableitung im SVM-Artikel in Wikipedia . Es stellt sich heraus, dass der Regularisierungsbegriff zumindest die "geheime Soße" von SVMs ist.

Wie machst du Regularisierung? Im Allgemeinen ist dies mit der von Ihnen verwendeten Methode verbunden. Wenn Sie SVMs verwenden, führen Sie eine L2-Regularisierung durch. Wenn Sie LASSO verwenden, führen Sie eine L1-Regularisierung durch (siehe, was Hairybeast sagt). Wenn Sie jedoch Ihre eigene Methode entwickeln, müssen Sie wissen, wie Sie wünschenswerte von nicht wünschenswerten Lösungen unterscheiden und über eine Funktion verfügen, die dies quantifiziert. Am Ende haben Sie eine Kostenbedingung und eine Regularisierungsbedingung, und Sie möchten die Summe von beiden optimieren.


1

Regularisierungstechniken sind Techniken, die auf Modelle des maschinellen Lernens angewendet werden und die Entscheidungsgrenze / das angepasste Modell glatter machen. Diese Techniken tragen dazu bei, eine Überanpassung zu verhindern.

Beispiele: L1, L2, Dropout, Gewichtsabnahme in neuronalen Netzen. Parameter in SVMs.C


0

Kurz gesagt, Regularisierung ist eine Technik, um eine Überanpassung beim Trainieren von Algorithmen für maschinelles Lernen zu vermeiden. Wenn Sie über einen Algorithmus mit genügend freien Parametern verfügen, können Sie Ihr Sample sehr detailliert interpolieren, aber Beispiele, die außerhalb des Samples liegen, folgen möglicherweise nicht dieser Detailinterpolation, da nur Rauschen oder zufällige Unregelmäßigkeiten im Sample statt des wahren Trends erfasst werden.

Eine Überanpassung wird vermieden, indem der absolute Wert der Parameter im Modell begrenzt wird. Dazu kann der Kostenfunktion ein Term hinzugefügt werden, der eine Strafe auf der Grundlage der Größe der Modellparameter auferlegt. Wenn die Größe in der L1-Norm gemessen wird, wird dies als "L1-Regularisierung" bezeichnet (und führt normalerweise zu spärlichen Modellen). Wenn sie in der L2-Norm gemessen wird, wird dies als "L2-Regularisierung" bezeichnet und so weiter.

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.