data_mining:gradient_boosting

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
data_mining:gradient_boosting [2016/01/17 15:24] phreazerdata_mining:gradient_boosting [2017/07/19 20:34] (current) – [Basic idea] phreazer
Line 7: Line 7:
 $f^*(X)$ sollte interpretierbar sein, d.h. eine Struktur besitzen, die den Anteil jedes Beitrags eines unabhängigen Variablen erklärt. $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):+ 
 + 
 +Beispiel hierfür ist die GLM-Struktur (Generalized Linear Model (Nelder & Wedderburn):
 $$f^*(X) = \beta_0 + \beta_1 X_1 + ... + \beta_n X_n$$  $$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): Beispiel für eine GAM-Struktur (Generalized Additive Model):
 $$f^*(X) = \beta_0 + f_1(X_1) + ... + f_n(X_n)$$ $$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).
 +
 +Schätzproblem
 +
 +Schätzung von $f^* := \argmin_{f(.)} E[p(Y,f(X))]$ mit $p$ als differenzierbare Loss-Funktion bzgl. einer Vorhersagefunktion $f(X)$.
 +
 +Beispielhafte Loss-Funktion: Quadrierter Fehler in Gauß'scher Regression $p=(Y-f(X))^2$
 +
 +Gegeben $X=(X_1, ..., X_n), Y=(Y_1,...,Y_n)$, minimiere das empirische Risiko
 +
 +$$R = \frac{1}{n} \sum_{i=1}^n p(Y_i, f(X_i))$$
 +
 +Beispiel (quadratischer Fehler): 
 +$$R = \frac{1}{n} \sum_{i=1}^n p(Y_i - f(X_i))^2$$
 +
 +===== Basic idea =====
  
 +  - Generate simple regression model. 
 +  - Compute error residual.
 +  - Learn to predict residual
 +  - Add to initial model
  • data_mining/gradient_boosting.1453040661.txt.gz
  • Last modified: 2016/01/17 15:24
  • (external edit)