zoukankan      html  css  js  c++  java
  • 从boost到Adaboost再到GBRT-GBDT-MART


    本文是要配合《统计学习方法》才能看懂的,因为中间有些符号和定义是直接使用书本中的


    先弄明白以下三个公式:

    1)Boost(提升法)=加法模型(即基函数的线性组合)+前向分步算法+损失函数

    2)Adaboost=Boost+损失函数是指数函数(基函数可以任意)

    3)提升树=Boost+基函数是决策树(损失函数可以任意)

     由此可以看出:

    1)Boost是一种算法框架,而这种框架是由加法模型和前向分步算法构成的。

    2)Adaboost和提升树都是Boost的子集,都是由限定了Boost中某一部分元素而得到的。


    前向分步算法(解决加法模型):每次学习一个基函数的参数Gm(x)(即下一个基函数)

    下一个基函数的选择标准:在已经学习到加法模型fm-1(x)的基础上,选择一个使得损失最小的基函数Gm(x)


    损失函数:

    1)指数损失函数:决定了Adaboost必须进行加权取样(权重由错误率决定),以进行下一个模型的参数学习,并且决定了最终模型也是加权累计

    2)平方误差损失函数:决定了BRT的下一个模型应该学习前一个模型的残差

    3)一般损失函数:决定了GBRT/GBDT的下一个模型应该学习前一个模型的梯度(残差近似)


    各种提升决策树

    1)BDT(提升决策树,二分类):Adaboost中将模型选定为二类分类树,即二类分类树+指数损失—>加权【可以称为:提升分类树的Adaboost方法】

    2)BRT(提升回归树):二叉回归树+平方误差损失—>残差

    3)GBRT:二叉回归树+普通损失函数—>损失函数的负梯度(残差的替代)

    4)GBDT:二叉分类树+普通损失函数—>损失函数的负梯度

    当损失函数是平方误差损失时,其负梯度就是残差,即此时GBRT=BRT

  • 相关阅读:
    数位DP入门
    划分树
    CodeForces #362 div2 B. Barnicle
    CodeForces #363 div2 Vacations DP
    CodeForces #368 div2 D Persistent Bookcase DFS
    解决Ubuntu 下 vi编辑器不能使用方向键和退格键问题
    python之爬虫爬有道词典
    hdu 5145 NPY and girls 莫队
    hdu 6185 Covering 矩阵快速幂
    字典树求异或值
  • 原文地址:https://www.cnblogs.com/xiangzhi/p/4626179.html
Copyright © 2011-2022 走看看