美文网首页
GBDT实战

GBDT实战

作者: 程南swimming | 来源:发表于2020-07-18 21:42 被阅读0次

    一:理论推导+伪代码gradient boosting decision tree

    1. 基学习器是cart决策树,以cart回归树为例,每次决策时将样本划分为左右两颗子树R1和R2,在R1,R2内部使得平方和最小的c1,c2是样本和的平均值,划分点使得整体最小平方和最小。


      image.png
    2. 拟合残差
      弱学习器h1,h2...串行生成,每个弱学习器学习的是前面所有树和与真实值的残差(负梯度)。第t轮,上一轮的损失函数L(y,f(t-1)),如果损失函数选取最小平方差,那么沿负梯度(残差)的方向能够使得其获取最小值,负梯度刚好是残差,本轮学习后,损失函数为L(y,f(t-1)+ht)


      image.png

      每一轮优化的是当前的损失函数,损失函数沿负梯度的方向下降最快,因此我们学习的是负梯度,学习到负梯度之后,预测值到达新的点,新的点可以根据学习负梯度的结果来求。

    3. 伪代码


      image.png

    二、理解梯度下降法
    整个集成学习的目标是优化L=g(f(x)-y),g可以是平方差也可以是其他误差函数,在最开始根据决策树学习到一棵树后,计算出当前的L0,为了使L减小,f(x)为自变量,找到L在当前点的梯度方向,因为L沿梯度方向下降最快,基于这个优化得到一个新的f(x)和新的L1,依次类推,L不断沿梯度方向下降,每一轮优化得到一个新的f(x),f(x)是对样本的预测。

    三、gbdt优缺点
    优点:
    预测精度高
    适合低维数据??
    能处理非线性数据
    缺点:
    并行麻烦(因为上下两棵树有联系)
    如果数据维度较高时会加大算法的计算复杂度

    四、代码实现

    相关文章

      网友评论

          本文标题:GBDT实战

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