机器学习

XGBoost二阶泰勒展开公式推导

2019-05-06  本文已影响0人  9933fdf22087

目标函数:\mathrm{obj}=\sum_{i=1}^{n} l\left(y_{i}, \hat{y}_{i}^{(t)}\right)+\sum_{i=1}^{t} \Omega\left(f_{i}\right)
其中y_i是真实值,\hat{y}_{i}^{(t)}是总t棵树的预测值,l是loss function,\Omega是正则项,防止过拟合。f是一棵CART树,f_{t}\left(x_{i}\right)是输入数据x_i后第t棵树的输出值。
\hat{y}_{i}^{(t)}f_{t}\left(x_{i}\right)的关系为:\hat{y}_{i}^{(t)}=\sum_{k=1}^{t} f_{k}\left(x_{i}\right)=\hat{y}_{i}^{(t-1)}+f_{t}\left(x_{i}\right)
因此,目标函数即可转为:\begin{aligned} \mathrm{obj}^{(t)} &=\sum_{i=1}^{n} l\left(y_{i}, \hat{y}_{i}^{(t)}\right)+\sum_{i=1}^{t} \Omega\left(f_{i}\right) \\ &=\sum_{i=1}^{n} l\left(y_{i}, \hat{y}_{i}^{(t-1)}+f_{t}\left(x_{i}\right)\right)+\Omega\left(f_{t}\right)+\text {constant } \end{aligned}

泰勒展开公式:f(x+\Delta x) \simeq f(x)+f^{\prime}(x) \Delta x+\frac{1}{2} f^{\prime \prime}(x) \Delta x^{2}
将损失函数泰勒展开至二阶:\mathrm{obj}^{(t)}=\sum_{i=1}^{n}\left[l\left(y_{i}, \hat{y}_{i}^{(t-1)}\right)+g_{i} f_{t}\left(x_{i}\right)+\frac{1}{2} h_{i} f_{t}^{2}\left(x_{i}\right)\right]+\Omega\left(f_{t}\right)+constant
其中g_{i}=\partial_{\hat{y}^{(t-1)}} l\left(y_{i}, \hat{y}^{(t-1)}\right)h_{i}=\partial_{\hat{y}^{(t-1)}}^{2} l\left(y_{i}, \hat{y}^{(t-1)}\right)分别表示对\hat{y}_{i}^{(t-1)}求一次与二次偏导。
与泰勒展开式对应来看,其中x为\hat{y}_{i}^{(t-1)}\Delta xf_{t}\left(x_{i}\right)

上一篇 下一篇

猜你喜欢

热点阅读