美文网首页机器学习
XGBoost二阶泰勒展开公式推导

XGBoost二阶泰勒展开公式推导

作者: 9933fdf22087 | 来源:发表于2019-05-06 14:50 被阅读0次

    目标函数:\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)

    相关文章

      网友评论

        本文标题:XGBoost二阶泰勒展开公式推导

        本文链接:https://www.haomeiwen.com/subject/ynvroqtx.html