XGBoostを理解する Part 1

XGBoostを理解する Part 1

XGBoostについて調べたのでメモ.

Boostingは,弱学習器を順番に学習させていく手法であり,XGBoostもその一種である.入力をxRd\bm{x} \in \mathbb{R}^d, 出力をyRy \in \bm{R}とし,以下のモデルを考える.

y^(x)=k=1Kfk(x) \begin{aligned} \hat{y}(\bm{x}) = \sum_{k=1}^K f_{k} (\bm{x}) \end{aligned}

fkf_kが弱学習器であり,KK個の弱学習器を使って最終的な予測を行うようなモデルになっている.fkf_kにはよく決定木が用いられる.
tt個目の弱学習器ftf_tを学習させるにあたり,次のような目的関数を考える.

L(t)=i=1n(yi,y^i(t1)+ft(xi))+Ω(ft) \begin{aligned} \mathcal{L}^{(t)} = \sum_{i=1}^n \ell(y_i, \hat{y}^{(t-1)}_i + f_t(\bm{x}_i)) + \Omega(f_t) \end{aligned}

ここで,\ellは損失関数であり,Ω\Omegaは正則化項である.
F(y)=(y,y)F(y') = \ell(y, y')として,FFを以下のようにy^(t1)\hat{y}^{(t-1)}まわりで二次のテイラー展開する.

F(y)=(y,y^(t1))+F(y^(t1))(yy^(t1))+12F(y^t1)(yy^(t1))2 \begin{aligned} F(y') = \ell(y, \hat{y}^{(t-1)}) + F'(\hat{y}^{(t-1)})(y' - \hat{y}^{(t-1)}) + \frac{1}{2} F''(\hat{y}^{t-1})(y' - \hat{y}^{(t-1)})^2 \end{aligned}

これを用いると,L(t)\mathcal{L}^{(t)}は以下のように近似できる.

L(t)i=1n[(y,y^(t1))+gift(xi)+12hift(xi)2] \begin{aligned} \mathcal{L}^{(t)} \approx \sum_{i=1}^n \left[\ell(y, \hat{y}^{(t-1)}) + g_i f_t(\bm{x}_i) + \frac{1}{2} h_i f_t(\bm{x}_i)^2\right] \end{aligned}

ただし,gi=(yi,y^i(t1)),hi=(yi,y^i(t1))g_i = \ell'(y_i, \hat{y}_i^{(t-1)}), h_i = \ell''(y_i, \hat{y}_i^{(t-1)})とした.
定数項を除き,Ω(ft)=+γT+12j=1Twj2\Omega(f_t) = + \gamma T + \frac{1}{2} \sum_{j=1}^T w_j^2とすると,最終的には以下の目的関数の最小化を目指す.

L~(t)=i=1n[gift(xi)+12hift(xi)2]+γT+12j=1Twj2=j=1T[wjGj+12wj2Hj]+γT+12j=1Twj2 \begin{aligned} \tilde{\mathcal{L}}^{(t)} &= \sum_{i=1}^n \left[g_i f_t(\bm{x}_i) + \frac{1}{2} h_i f_t(\bm{x}_i)^2\right] + \gamma T + \frac{1}{2} \sum_{j=1}^T w_j^2\\ &= \sum_{j=1}^T \left[w_j G_j + \frac{1}{2}w_j^2 H_j\right] + \gamma T + \frac{1}{2} \sum_{j=1}^T w_j^2 \end{aligned}

ここで,Gj=i:q(xi)=jgi,Hj=i:q(x)=jhiG_j = \sum_{i:q(\bm{x}_i)=j} g_i, H_j = \sum_{i:q(\bm{x})=j} h_iとした.この最適解は以下を満たす.

wj=GjHj+λ \begin{aligned} w_j = - \frac{G_j}{H_j + \lambda} \end{aligned}

これで,重みの学習は終わり.しかしながら,GjG_jHjH_jを求めるにはqq(正確にはqtq_t)を求めなければならない.この続きは次回.

機械学習の問題設定

機械学習の問題設定 機械学習の問題設定を見直したのでメモ. ( Ω , F , P ) (\Omega, \mathcal{F}, P) ( Ω , F , P ) : ベースとなる確率空間 ( X , F X ) (\mathcal...