data_mining:gradient_boosting

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).
  • data_mining/gradient_boosting.1454363798.txt.gz
  • Last modified: 2016/02/01 22:56
  • by phreazer