Boosting: Warum wird die Lernrate als Regularisierungsparameter bezeichnet?

19

Der Lernratenparameter ( ) in Gradient Boosting verringert den Beitrag jedes neuen Basismodells - normalerweise eines flachen Baums -, das in der Reihe hinzugefügt wird. Es hat sich gezeigt, dass die Genauigkeit des Testsatzes drastisch erhöht wird, was verständlich ist, da mit kleineren Schritten das Minimum der Verlustfunktion genauer erreicht werden kann. ν[0,1]

Ich verstehe nicht, warum die Lernrate als Regularisierungsparameter gilt . Unter Berufung auf die Elemente des statistischen Lernens , Abschnitt 10.12.1, S.364:

Die Kontrolle der Anzahl der Bäume ist nicht die einzig mögliche Regularisierungsstrategie. Wie bei der Gratregression und bei neuronalen Netzen können auch Schrumpftechniken eingesetzt werden. Kleinere Werte von (mehr Schrumpfung) Ergebnis in größerem Training Risiko für die gleiche Anzahl von Iterationen . Somit kontrollieren sowohl als auch Vorhersagerisiko für die Trainingsdaten.M ν MνMνM

Regularisierung bedeutet "Weg zur Vermeidung von Überanpassung", daher ist die Anzahl der Iterationen in dieser Hinsicht von entscheidender Bedeutung (ein zu hohes führt zu Überanpassung). Aber:MMM

Kleinere Werte von (mehr Schrumpfung) Ergebnis in größerem Training Risiko für die gleiche Anzahl von Iterationen .MνM

Dies bedeutet lediglich, dass bei niedrigen Lernraten mehr Iterationen erforderlich sind, um die gleiche Genauigkeit auf dem Trainingssatz zu erzielen. Wie hängt das mit Überanpassung zusammen?

romuald_84
quelle

Antworten:

23

Angenommen, Sie versuchen, die Zielfunktion über die Anzahl der Iterationen zu minimieren. Der aktuelle Wert ist . In einem gegebenen Datensatz gibt es keine "irreduziblen Fehler" und Sie können den Verlust für Ihre Trainingsdaten auf minimieren . Jetzt haben Sie zwei Möglichkeiten.100,00.0

  • Der erste Weg ist "große Lernrate" und wenige Iterationen. Angenommen, Sie können den Verlust in jeder Iteration um reduzieren und dann in Iterationen den Verlust auf reduzieren .10.0100.0

  • Der zweite Weg wäre "langsame Lernrate", aber mehr Iterationen. Angenommen, Sie können den Verlust in jeder Iteration um reduzieren und benötigen Iterationen, um einen Verlust von 0,0 für Ihre Trainingsdaten zu erzielen.1,0100

Denken Sie nun darüber nach: Sind die beiden Ansätze gleich? und wenn nicht, welches ist im Optimierungskontext und im Kontext des maschinellen Lernens besser ?

In der Optimierungsliteratur sind die beiden Ansätze gleich. Da sie beide zu einer optimalen Lösung zusammenlaufen . Andererseits sind sie beim maschinellen Lernen nicht gleich. Weil wir in den meisten Fällen den Trainingsverlust nicht auf setzen, was zu einer Überanpassung führt.0

Wir können uns den ersten Ansatz als "Grobniveausuche" und den zweiten Ansatz als "Feinniveausuche" vorstellen. Der zweite Ansatz funktioniert normalerweise besser, benötigt jedoch mehr Rechenleistung für mehr Iterationen.

Um eine Überanpassung zu verhindern, können wir verschiedene Dinge tun. Der erste Weg wäre, die Anzahl der Iterationen zu beschränken. Nehmen wir an, wir verwenden den ersten Ansatz und begrenzen die Anzahl der Iterationen auf 5. Am Ende beträgt der Verlust für Trainingsdaten . (Übrigens wäre dies aus Sicht der Optimierung sehr seltsam , was bedeutet, dass wir unsere Lösung künftig verbessern können / dass sie nicht konvergiert, aber wir entschieden uns dagegen. Bei der Optimierung fügen wir der Zielfunktion normalerweise explizit Einschränkungen oder Benachteiligungsterme hinzu.) aber normalerweise nicht die Anzahl der Iterationen begrenzen.)50

Auf der anderen Seite können wir auch den zweiten Ansatz verwenden: Wenn wir die Lernrate auf klein einstellen und beispielsweise den Verlust von für jede Iteration reduzieren , haben wir den Verlust immer noch nicht auf minimiert , obwohl wir eine große Anzahl von Iterationen mit Iterationen haben .0,15000.0

Aus diesem Grund ist eine geringe Lernrate gleichbedeutend mit "mehr Regularisierungen".

Hier ist ein Beispiel für die Verwendung unterschiedlicher Lernraten für experimentelle Daten unter Verwendung von xgboost. Bitte überprüfen Sie follwoing zwei Links zu sehen , was tut etaoder n_iterationsbedeuten.

Parameter für Tree Booster

XGBoost Control Überanpassung

Sagen Sie für die gleiche Anzahl von Iterationen . Eine kleine Lernrate ist "under-fitting" (oder das Modell hat "high bias") und eine große Lernrate ist "over-fitting" (oder das Modell hat "high varianz").50

Beispiel für die Änderung der Lernrate ETA im XGBoost-Modell

PS. Der Beweis für eine Unteranpassung besteht darin, dass sowohl das Trainings- als auch das Testset große Fehler aufweisen und die Fehlerkurve für das Training und das Testen nahe beieinander liegen. Das Anzeichen einer Überanpassung ist, dass der Fehler des Trainingssatzes sehr gering und der Testsatz sehr hoch ist und zwei Kurven weit voneinander entfernt sind.

Haitao Du
quelle
Meinen Sie damit, dass Sie bei einer niedrigen Lernrate bei gleichem Verlust mehr iterieren (Ihre Suche verfeinern) dürfen als bei einer hohen Lernrate? Ich glaube, ich verstehe die Intuition, die Sie weitergeben möchten, aber strengere Erklärungen und / oder ein anschauliches Beispiel würden nicht schaden.
Antoine
Danke dir. Könnten Sie Ihre Links aktualisieren? Sie arbeiten nicht für mich
Antoine
Die Verwendung einer höheren Lernrate ist immer besser, solange Sie den Trainingsfehler in nachfolgenden Iterationen nicht erhöhen. Die Regularisierung, auf die Sie sich beziehen (Bias vs. Varianz), bezieht sich auf den Trainings- / Validierungsfehler und nicht auf die Lernrate. Egal, ob Sie eine große oder eine kleine Lernrate verwenden, wenn Sie einen Trainingsfehler von 0,0 erreichen, sind Sie genauso überanpassend. Wenn Sie eine höhere Lernrate verwenden, müssen Sie die Optimierung früher beenden, um eine Überanpassung zu vermeiden. Mithilfe eines Validierungssatzes können Sie feststellen, ob sich Ihr Validierungsfehler erhöht und an welchem ​​Punkt Sie das Training beenden.
Neugierig
oder mir fehlt etwas :)
Curious
This is why small learning rate is sort of equal to "more regularizations". Je höher die Lernrate, desto stärker wird die Regularisierung: Superkonvergenz: Sehr schnelles Training neuronaler Netze mit hohen Lernraten
Antoine
2

Mit der Newton-Methode aktualisieren Sie Ihre Parameter, indem Sie den Gradienten des Verlusts dividiert durch die Krümmung des Verlusts subtrahieren. Bei der Steigungsabstiegsoptimierung aktualisieren Sie Ihre Parameter, indem Sie den Gradienten des Verlusts mal der Lernrate subtrahieren. Mit anderen Worten wird der Kehrwert der Lernrate anstelle der tatsächlichen Verlustkrümmung verwendet.

Definieren wir den Problemverlust als den Verlust, der definiert, was ein gutes Modell im Vergleich zu einem schlechten Modell ist. Es ist der wahre Verlust. Definieren wir den optimierten Verlust als das, was durch Ihre Aktualisierungsregeln tatsächlich minimiert wird.

Per Definition ist ein Regularisierungsparameter ein beliebiger Begriff, der sich im optimierten Verlust befindet, nicht jedoch im Problemverlust. Da die Lernrate im optimierten Verlust wie ein extraquadratischer Term wirkt, aber nichts mit dem Problemverlust zu tun hat, handelt es sich um einen Regularisierungsparameter.

Weitere Beispiele für Regularisierungen, die diese Perspektive rechtfertigen, sind:

  • Gewichtsabnahme, die wie ein zusätzlicher Ausdruck in dem optimierten Verlust ist, der große Gewichte bestraft,
  • Begriffe, die komplizierte Modelle benachteiligen, und
  • Begriffe, die Korrelationen zwischen Merkmalen benachteiligen.
Neil G
quelle
- Ich verstehe nicht In other words, the reciprocal of the learning rate is used in place of the real loss curvature. - Ich bin keine Domain - Experte und es ist das erste Mal , dass ich die Definition sehen: a regularization parameter is any term that is in the optimized loss, but not the problem loss. Ich verstehe es auch nicht ganz. Könnten Sie bitte eine relevante Referenz angeben? Vielen Dank im Voraus
Antoine
@Antoine Ich kann keine Referenz angeben. Es ist nur meine Erfahrung, die ich mit drei anderen Beispielen zu rechtfertigen versuchte. Die Lernrate, die anstelle der inversen Verlustkrümmung verwendet wird, lässt sich feststellen, wenn Sie die Newton-Methode und die Aktualisierungsregeln für den Gradientenabstieg nebeneinander aufschreiben.
Neil G