Gradientenverstärkung (optionale Einheit)

Bei Regressionsproblemen ist es sinnvoll, den benannten Fehler als Differenz zwischen der Vorhersage und dem Label zu definieren. Bei anderen Arten von Problemen führt diese Strategie jedoch oft zu schlechten Ergebnissen. Eine bessere Strategie, die bei der Gradientenverstärkung verwendet wird, ist:

  • Definieren Sie eine Verlustfunktion, die den in neuronalen Netzwerken verwendeten Verlustfunktionen ähnelt. Beispielsweise die Entropie (auch als Log-Verlust bezeichnet) für ein Klassifizierungsproblem.
  • Trainieren Sie das schwache Modell, um den Gradienten des Verlusts gemäß der Ausgabe des starken Modells vorherzusagen.

Formell ist die Pseudoantwort z_i, die zum Trainieren des schwachen Modells in Schritt i verwendet wird, bei einer Verlustfunktion L(y,p), wobei y ein Label und p eine Vorhersage ist, definiert als:

$$ z_i = \frac {\partial L(y, F_i)} {\partial F_i} $$

Dabei gilt:

  • $F_i$ ist die Vorhersage des starken Modells.

Das vorherige Beispiel war ein Regressionsproblem: Ziel ist es, einen numerischen Wert vorherzusagen. Bei der Regression ist der quadratische Fehler eine gängige Verlustfunktion:

$$ L(y,p) = (y - p)^2 $$

In diesem Fall ist der Farbverlauf:

$$ z = \frac {\partial L(y, F_i)} {\partial F_i} = \frac {\partial(y-p)^2} {\partial p} = -2(y - p) = 2 \ \text{signed error} $$

Mit anderen Worten: Die Steigung ist der signierte Fehler aus unserem Beispiel mit dem Faktor 2. Konstante Faktoren spielen aufgrund der Schrumpfung keine Rolle. Hinweis: Diese Äquivalenz gilt nur für Regressionsprobleme mit quadratischem Fehlerverlust. Bei anderen Problemen des überwachten Lernens (z. B. Klassifizierung, Ranking, Regression mit Prozentilverlust) gibt es keine Äquivalenz zwischen dem Gradienten und einem signierten Fehler.

Blatt- und Strukturoptimierung mit Newton-Methode

Die Newton-Methode ist eine Optimierungsmethode wie der Gradientenabstieg. Im Gegensatz zum Gradientenabstieg, bei dem nur der Gradient der Funktion zur Optimierung verwendet wird, werden bei Newtons Methode sowohl der Gradient (erste Ableitung) als auch die zweite Ableitung der Funktion zur Optimierung verwendet.

Ein Schritt des Gradientenabstiegs sieht so aus:

$$ x_{i+1} = x_i - \frac {df}{dx}(x_i) = x_i - f'(x_i) $$

und die Newton-Methode so:

$$ x_{i+1} = x_i - \frac {\frac {df}{dx} (x_i)} {\frac {d^2f}{d^2x} (x_i)} = x_i - \frac{f'(x_i)}{f''(x_i)}$$

Optional kann die Newton-Methode auf zwei Arten in das Training von Gradient Boosted Trees eingebunden werden:

  1. Sobald ein Baum trainiert ist, wird auf jedes Blatt ein Newton-Schritt angewendet und der Wert wird überschrieben. Die Baumstruktur bleibt unverändert, nur die Blattwerte ändern sich.
  2. Während des Wachstums eines Baums werden die Bedingungen anhand eines Werts ausgewählt, der eine Komponente der Newton-Formel enthält. Die Struktur des Stammbaums wird dadurch beeinflusst.
YDF-Code
In YDF:
  • YDF wendet immer einen Newton-Schritt auf das Blatt an (Option 1).
  • Sie können Option 2 mit use_hessian_gain=True aktivieren.