オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【機械学習】Gradient Boosting #アルゴリズム編

Index

Gradient Boosting

Boosting の手法の一つ.

目的

 \hat{f}\ =\ \DeclareMathOperator*{\argmin}{arg\,min} \displaystyle \argmin_{f}\ L(f)


  •  f\ =\ (f(x_{1}),\ \cdots,\ f(x_{N}))
    •  N : データ数
    •  x_{i},\ (1,\ \cdots,\ N) : 入力データ


損失関数  L を最小にする 予測関数  \hat{f} を見つけたい.



勾配

各識別器の損失関数を最小にする予測関数を見つけたい.

予測値で、損失関数を微分し、 0 となる予測関数を求める.


\begin{eqnarray}
g_{i,\ m}\ &=&\ \left[ \displaystyle \frac{\partial\ L}{\partial\ f(x_{i})} \right]_{f\ =\ f_{m-1}} \\
 &=&\ \nabla_{f_{m-1}}\ L
\end{eqnarray}


 m : ステップ回数

更新


\begin{eqnarray}
f_{m}\ &=&\ f_{m-1}\ -\ \gamma_{m}\ g_{m} \\
 \\
ここで \\
g_{m}\ &=&\ \displaystyle \sum_{i=1}^{N}\ g_{i,\ m} \\
\gamma_{m}\ &=&\ \DeclareMathOperator*{\argmin}{arg\,min} \displaystyle \argmin_{\gamma}\ 
\displaystyle \sum_{i=i}^{N}\ L(y_{i},\ f_{m-1}\ (x_{i})\ +\ \gamma\ h_{m}\ (x_{i}))
\end{eqnarray}



実装

参考

書籍

Web サイト

  • 勾配ブースティング wikipedia

  • GBDTの仕組みと手順を図と具体例で直感的に理解する

  • 勾配ブースティング決定木ってなんぞや

  • Gradient Boostingについて - 準備編 -

    • 理解しやすかったです。ありがとうございます。
    • qiita.com