Gradient Boosting Tree ist ein Ensemble-Lernalgorithmus, der iterativ ein Entscheidungsbaummodell trainiert und dann mehrere Entscheidungsbaummodelle gewichtet und fusioniert, um ein leistungsfähigeres Klassifizierungs- oder Regressionsmodell zu erstellen. Dieser Algorithmus basiert auf einem additiven Modell und jedes neue Entscheidungsbaummodell ist darauf ausgelegt, den Rest des vorherigen Modells zu minimieren. Das Vorhersageergebnis des endgültigen Modells ist der gewichtete Durchschnitt aller Entscheidungsbaummodelle. Gradient-Boosting-Bäume werden aufgrund ihrer hohen Genauigkeit und Robustheit häufig verwendet
Konkret ist das Prinzip von Gradient-Boosting-Bäumen wie folgt:
Zuerst wird der Trainingsdatensatz in einen Trainingssatz und einen Validierungssatz unterteilt. Verwenden Sie den Trainingssatz, um ein Basisentscheidungsbaummodell als Ausgangsmodell zu trainieren.
Berechnen Sie zunächst das Residuum im Trainingssatz, dh die Differenz zwischen dem wahren Wert und dem vorhergesagten Wert. Verwenden Sie dann die Residuen als neue Zielvariable, um darauf ein neues Entscheidungsbaummodell zu trainieren. Abschließend wird das neue Modell mit dem ursprünglichen Modell gewichtet fusioniert.
Zuerst haben wir die Vorhersageergebnisse des ursprünglichen Modells und des neuen Modells gewichtet, um ein neues Vorhersageergebnis zu erhalten. Als nächstes berechnen wir das Residuum zwischen der neuen Vorhersage und dem wahren Wert und verwenden das Residuum als neue Zielvariable. Anschließend trainieren wir ein neues Entscheidungsbaummodell mit dieser neuen Zielvariablen und führen eine gewichtete Fusion mit dem vorherigen Modell durch. Auf diese Weise können wir unser Vorhersagemodell kontinuierlich und iterativ verbessern, um genauere Vorhersageergebnisse zu erhalten.
4. Wiederholen Sie die oben genannten Schritte, bis die vorgegebene Anzahl von Iterationen erreicht ist oder die Leistung des Modells im Validierungssatz nachzulassen beginnt.
5. Abschließend werden die Vorhersageergebnisse mehrerer Entscheidungsbaummodelle gewichtet und zusammengeführt, um das endgültige Vorhersageergebnis zu erhalten.
In Gradient Boosting Trees wird jedes neue Entscheidungsbaummodell auf der Grundlage des vorherigen Modells trainiert, sodass jedes neue Modell den Fehler des vorherigen Modells korrigiert. Auf diese Weise kann der Gradient Boosting Tree durch mehrere Iterationen die Leistung des Modells kontinuierlich verbessern und so bessere Klassifizierungs- oder Regressionsergebnisse erzielen.
In bestimmten Implementierungen verwenden Gradientenverstärkungsbäume normalerweise die Gradientenabstiegsmethode, um die Modellparameter zu optimieren. Insbesondere können die Parameter des Modells durch Berechnen des negativen Gradienten der Verlustfunktion aktualisiert werden, wodurch die Verlustfunktion minimiert wird. Bei Klassifizierungsproblemen wird normalerweise die Kreuzentropieverlustfunktion verwendet; bei Regressionsproblemen wird normalerweise die quadratische Verlustfunktion verwendet.
Es ist zu beachten, dass der Vorteil des Gradient Boosting Tree darin besteht, dass keine übermäßige Vorverarbeitung der Daten erforderlich ist und fehlende Werte und diskrete Merkmale direkt verarbeitet werden können. Da jedoch für jede Iteration ein neues Entscheidungsbaummodell trainiert werden muss, ist die Trainingsgeschwindigkeit von Bäumen mit Gradientenverstärkung langsam. Wenn außerdem die Anzahl der Iterationen zu groß oder der Entscheidungsbaum zu tief ist, führt dies zu einer Überanpassung des Modells, sodass eine gewisse Regularisierungsverarbeitung erforderlich ist.
Bei Bäumen mit Gradientenverstärkung kann uns ein frühes Stoppen dabei helfen, eine Überanpassung zu vermeiden und die Generalisierungsfähigkeit des Modells zu verbessern. Im Allgemeinen können wir die optimale Anzahl an Runden für einen frühen Stopp durch Methoden wie Kreuzvalidierung bestimmen.
Insbesondere wenn wir feststellen, dass die Leistung des Modells auf dem Testsatz bei der Anpassung der Trainingsdaten nachzulassen beginnt, können wir das Training stoppen, um eine Überanpassung zu vermeiden. Wenn wir außerdem einen tieferen Baum oder eine größere Lernrate verwenden, kann dies auch zu einer Überanpassung des Modells führen. In diesem Fall bringt ein früher Stopp auch bestimmte Vorteile.
Kurz gesagt, frühes Stoppen ist eine gängige Regularisierungsmethode in Gradientenverstärkungsbäumen, die uns helfen kann, eine Überanpassung zu vermeiden und die Generalisierungsfähigkeit des Modells zu verbessern.
Das obige ist der detaillierte Inhalt vonGrundprinzipien des Gradient Boosting Tree-Algorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!