论文笔记:GREEDY FUNCTION APPROXIMATION: A GRADIENT BOOSTING MACHINE

     

       Boost是集成学习方法中的表明思想之一,核心的思想是不断的迭代。boost一般采用改变训练数据的几率分布,针对不一样的训练数据分布调用弱学习算法学习一组弱分类器。在屡次迭代的过程当中,当前次迭代所用的训练数据的几率分布会依据上一次迭代的结果而调整。也就是说训练数据的各样本是有权重的,这个权重自己也会随着迭代而调整。Adaboost(后面补一篇介绍这个的文章吧)在迭代的过程当中经过不断调整数据分布的权重来达到提升性能的目的,GBM(Gradient Boosting Machine)则是在迭代的过程当中,新的模型创建在之间创建模型损失函数的梯度降低方向上,为何这么作是有效的,数学语言是最严谨的,让咱们从数学的角度出发理解一下。算法

  从数值优化的角度入手。对于加性模型$F(X|\Theta) $,咱们经过优化$\Theta$获得模型的最优解函数

$$ \theta^* = \mathop{\arg\min}_{\theta} \ \mathrm{L} (\theta).$$性能

其中,$\mathrm{L}(\theta) = E_(y,x)\mathrm{L}(y,F(X|\Theta))$ ,那么对于$F(X|\Theta) $其最优解为$F^*(x) =F(x|\Theta^*) $ 。因为$F(X|\Theta) $是个加性模型,一般有$P^* = \sum_{i = 0}^m p_i$。在优化P的过程当中,对于迭代的第m步骤,咱们之前得到了m-1个模型,在计算第m个模型的时候,咱们要对前m-1个模型的集成求梯度,$g_m$为求得的梯度以下所示$$g_m=\{g_{jm}\} = \{{\big[\frac{\partial{\phi(P)}}{\partial{P_j}}\big]_{p = p_{(m-1)}}}\}$$其中$$P_{m-1} = \sum_{i=0}^{m-1} P_i$$求出梯度以后,咱们更新$$p_m = -\rho_mg_m$$其中,$$\rho_m = \mathop{\arg\min}_\rho\ L(P_{m-1}-\rho{g_m})$$学习

简单整理一下,对于加性模型$F(X|\Theta) $,咱们经过对损失函数$L(\theta)$求得$\theta$沿着最优解降低的方向$g_m$,为了肯定降低的步长,也就是$\rho$,咱们构造一个关于$P_{m-1}+p_m$的损失函数,其中$p_m = -\rho{g_m}$。肯定了梯度$g_m$以及在该梯度下的步长$\rho$,$p_m$也就求解出来了。优化

  上述的推导过程当中,创建在训练的数据集是连续无穷的状况下,对于有限的数据集合在计算$g_m$的过程当中,求出的最优解$F^*(X)$对应的点不必定是咱们训练集中的点。简单来讲就是对于前m-1个模型计算出来的梯度对于有限的训练数据集,并不能直接做为新的基学习器的梯度方向。为了解决这个问题,论文预先假设一个先验分布$h(x_i;a)$,经过最小化损失函数的方式让$h(x_i;a)$逼近预先计算好的梯度$g_m$,论文中用的损失函数是MSE,过程以下所示$$a_m=\mathop{\arg\min}_{a,\beta} \sum_{i=1}^N[{-g_m(x_i)-\beta{h(x_i;a)}}]^2 $$spa

总体的GBM算法流程以下所示.net

第三步对应的即是求前m-1个模型的梯度, 第四步根据球出来的梯度经过最小化损失函数的方法让基模型(h(x;a))逼近梯度降低的方向,第五步也是经过最小化集成的函数预测结果与label的损失也肯定第k个基模型的权重。code

紧扣最小化似然函数这个过程就不难理解这么作的原因了。blog

 

2019.9.7 在实际理解GBM的调参过程当中发现对CART如何学习以及

如何影响CART的参数的学习并无理解清楚.
首先要弄清楚CART学习的参数到底是什么,这里指的是最优分裂属性以及分裂属性值的选择,外界的干预经过label影响最优划分属性的选择,具体的介绍见:https://blog.csdn.net/niuniuyuh/article/details/76922210
相关文章
相关标签/搜索