This is an old revision of the document!
Gradient Boosting
Grundlegendes simples Problem:
Gegeben Vektor von unabhängigen Veriablen $X = (X_1, ..., X_n)^T$ finde eine optimale Funktion $f^*(X)$, die abhängige Variable $Y$ vorhersagt.
$f^*(X)$ sollte interpretierbar sein, d.h. eine Struktur besitzen, die den Anteil jedes Beitrags eines unabhängigen Variablen erklärt.
Beispiel hierfür ist die GLM-Struktur (Generalized Linear Model (Nelder & Wedderburn): $$f^*(X) = \beta_0 + \beta_1 X_1 + ... + \beta_n X_n$$ (Unterschied zu LM: Fehlerterm muss nicht normalverteilt sein, sondern kann Verteilung der exponentiellen Familie besitzen)
Beispiel für eine GAM-Struktur (Generalized Additive Model): $$f^*(X) = \beta_0 + f_1(X_1) + ... + f_n(X_n)$$
Typische Vorgehensweise ist die ML-Schätzung um ein Regressionsmodell zu fitten. Probleme ML-Schätzung:
- Multikollinearität der Prädiktorvariablen (feature selection notwendig)
- Gewöhnliche Featureselektion (univariate, forward/backward) sind instabil oder erfordern das mehrfache Fitten des Modells.
Gradient boosting wird eingesetzt, um allgemeine Arten von Risikofunktionen bzgl. einer Vorhersagefunktion $f$ zu minimieren.
Beispiele hierzu: Quadrierter Fehler in gauß'scher Regression, negative log likelihood loss function.
Boosting führt zu einer additiven Vorhersagefunktion, wie $f^*(X)=\beta_0+f_1(X_1)+...+f_p(X_p)$
Wenn Boosting bis zur Konvergenz durchgeführt wird, kann es als Alternative zu konventionellen Fittingmethoden (wie Fisher scoring, backfitting) für GAM Modelle gesehen werden.
Warum boosting?
- Verschiedene Risikofunktionen (absoluter loss, quantile regression)
- Feature selection während der Fitting Prozess
- Anwendbar, wenn $p >> n$
- Adressiert Multikollinearitätsprobleme
- Optimiert Accuracy (bzgl. Risikofunktion).