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.
quelle
Antworten:
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:
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.
quelle
Angenommen, Sie führen das Lernen über die empirische Risikominimierung durch.
Etwas präziser:
Ziel des Lernprozesses ist es dann, (diese Methode wird als empirisches Risiko bezeichnet) Minimierung).Model=argmin∑L(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=argmin∑L(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) R R R
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 ").R a¯
quelle
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.
quelle
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
quelle
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.
quelle