Regularisierung wird in fast allen Algorithmen für maschinelles Lernen angewendet, bei denen wir versuchen, aus endlichen Stichproben von Trainingsdaten zu lernen.
Ich werde versuchen, Ihre spezifischen Fragen indirekt zu beantworten, indem ich die Entstehung des Konzepts der Regularisierung erkläre. Die vollständige Theorie ist viel detaillierter und diese Erklärung sollte nicht als vollständig interpretiert werden, sondern soll Ihnen lediglich den Weg für die weitere Erforschung weisen. Da Ihr primäres Ziel darin besteht, ein intuitives Verständnis der Regularisierung zu erlangen , habe ich die folgende Erklärung aus Kapitel 7 von "Neuronale Netze und Lernmaschinen", 3. Auflage von Simon Haykin, zusammengefasst und stark vereinfacht (und dabei einige Details weggelassen).
Betrachten wir das überwachte Lernproblem mit den unabhängigen Variablen und der abhängigen Variablen y i erneut , um eine Funktion f zu finden , die in der Lage ist, die Eingabe X auf eine Ausgabe Y abzubilden.xiyif
Um dies weiter zu verfolgen, lassen Sie uns Hadamards Terminologie eines "gut gestellten" Problems verstehen - ein Problem ist gut gestellt, wenn es die folgenden drei Bedingungen erfüllt:
- Für jeden Eingang und Ausgang y i existiert.xiyi
- Für ein Paar von Eingängen und x 2 ist f ( x 1 ) = f ( x 2 ) genau dann, wenn x 1 = x 2 ist .x1x2f(x1)=f(x2)x1=x2
- Die Abbildung ist stetig (Stabilitätskriterien)f
Für betreutes Lernen können diese Bedingungen verletzt werden, da:
- Für eine bestimmte Eingabe ist möglicherweise keine eigene Ausgabe vorhanden.
- Die Trainingsmuster enthalten möglicherweise nicht genügend Informationen, um eine eindeutige Eingabe-Ausgabe-Zuordnung zu erstellen (da das Ausführen des Lernalgorithmus für verschiedene Trainingsmuster zu unterschiedlichen Zuordnungsfunktionen führt).
- Rauschen in den Daten erhöht die Unsicherheit des Rekonstruktionsprozesses, was sich auf dessen Stabilität auswirken kann.
Zur Lösung solcher "schlecht gestellten" Probleme schlug Tikhonov eine Regularisierungsmethode vor, um die Lösung zu stabilisieren, indem eine nicht negative Funktion einbezogen wird, die vorherige Informationen über die Lösung einbettet.
Die gebräuchlichste Form der Vorinformation beinhaltet die Annahme, dass die Eingabe-Ausgabe-Zuordnungsfunktion glatt ist - dh ähnliche Eingaben erzeugen ähnliche Ausgaben.
λfλ∞∞
λ
Einige Beispiele für solche regulierten Kostenfunktionen sind:
Lineare Regression:
J(θ)=1m∑mi=1[hθ(xi)−yi]2+λ2m∑nj=1θ2j
Logistische Regression:
J(θ)=1m∑mi=1[−yilog(hθ(xi))−(1−yi)log(1−hθ(xi))]+λ2m∑nj=1θ2j
θxhθ(x)y
L2
Der Nettoeffekt der Regularisierung besteht darin, die Komplexität des Modells zu verringern, wodurch die Überanpassung verringert wird. Andere Ansätze zur Regularisierung (in den obigen Beispielen nicht aufgeführt) umfassen Änderungen an Strukturmodellen wie Regressions- / Klassifizierungsbäumen, verstärkten Bäumen usw., indem Knoten entfernt werden, um einfachere Bäume zu erstellen. In jüngerer Zeit wurde dies beim sogenannten "tiefen Lernen" angewendet, indem Verbindungen zwischen Neuronen in einem neuronalen Netzwerk unterbrochen wurden.
Eine spezifische Antwort auf Q3 ist, dass einige Ensembling-Methoden wie Random Forest (oder ähnliche Abstimmungsschemata) aufgrund ihrer inhärenten Methode eine Regularisierung erreichen, dh Abstimmung und Auswahl der Antwort aus einer Sammlung nicht regularisierter Bäume. Auch wenn die einzelnen Bäume zu stark angepasst sind, verhindert der Prozess der "Mittelung" ihres Ergebnisses, dass das Ensemble zu stark an das Trainingsset angepasst wird.
BEARBEITEN:
Das Konzept der Regelmäßigkeit gehört zur axiomatischen Mengenlehre. Sie können in diesem Artikel auf Hinweise verweisen - de.wikipedia.org/wiki/Axiom_of_regularity und dieses Thema genauer untersuchen, wenn Sie an den Details interessiert sind.
Zur Regularisierung für neuronale Netze: Wenn Sie die Gewichte anpassen, während Sie den Backpropagation-Algorithmus ausführen, wird der Regularisierungsterm auf dieselbe Weise wie in den Beispielen für die lineare und logistische Regression zur Kostenfunktion hinzugefügt. Die Hinzufügung des Regularisierungsterms verhindert also, dass die Rückübertragung die globalen Minima erreicht.
Der Artikel, der die Batch-Normalisierung für neuronale Netze beschreibt, lautet: - Batch-Normalisierung: Beschleunigung des Deep Network-Trainings durch Reduzierung der internen Covariate Shift, Ioffe, Szegedy, 2015. Es ist bekannt, dass die Backpropagation zum Trainieren eines neuronalen Netzwerks besser funktioniert, wenn die Eingabevariablen normalisiert werden. In diesem Artikel haben die Autoren jede in Stochastic Gradient Descent verwendete Mini-Charge normalisiert, um das Problem des "Verschwindens von Gradienten" beim Trainieren vieler Schichten eines neuronalen Netzwerks zu vermeiden. Der in ihrem Artikel beschriebene Algorithmus behandelt den Mittelwert und die Varianz, die in jeder Charge für jede Aktivierungsschicht berechnet wurden, als einen weiteren Parametersatz, der in der Mini-Batch-SGD (zusätzlich zu den NN-Gewichten) optimiert wurde. Die Aktivierungen werden dann unter Verwendung des gesamten Trainingssatzes normalisiert. Ausführliche Informationen zu diesem Algorithmus finden Sie in ihrem Artikel. Mit dieser Methode konnten sie die Verwendung von Aussetzern für die Regularisierung vermeiden und behaupten daher, dass dies eine andere Art der Regularisierung ist.