集成学习:通过数学推导AdaBoost的训练误差可以无限接近于0,以及其树的权重可以推导出来

集成学习,将多个独立分类器(此处称为基学习器)组合在一起,共同完成任务。如bagging(减小方差)、boosting(偏差)或stacking(改进预测)

其中Boosting,主要算法有AdaBoost/GBDT/Xgboost/LightGBM

关于Boosting的两个核心问题:
  1)在每一轮如何改变训练数据的权值或概率分布?
  通过提高那些在前一轮被弱分类器分错样例的权值,减小前一轮分对样例的权值,来使得分类器对误分的数据有较好的效果。
  2)通过什么方式来组合弱分类器?
  通过加法模型将弱分类器进行线性组合,比如:
  AdaBoost(Adaptive boosting)算法:刚开始训练时对每一个训练样本赋相等的权重,然后用该算法对训练集训练t轮,每次训练后,对训练失败的训练样本赋以较大的权重,也就是让学习算法在每次学习以后更注意学错的样本,从而得到多个预测函数。将每一步生成的模型叠加得到最终模型。
  GBDT(Gradient Boost Decision Tree),通过拟合残差的方式逐步减小残差,每一次的计算是为了减少上一次的残差,GBDT在残差减少(负梯度)的方向上建立一个新的模型。
  
AdaBoost算法被成为十大算法之一主要基于以下几点:
1、通过数学公式可以推导出该算法的在理论层面可以无限趋近于0
2、AdaBoost算法中,最后对每个树模型进行叠加的时候其权重是通过计算得到,无需自己设置
以上两点的证明如下:(公式输入太麻烦,所以就直接手写了)
在这里插入图片描述

只要是boosting大家族的算法,都要解决4个问题
1、如何计算学习误差率e? 【伪代码中第 4 行】
2、如何得到弱学习器权重系数α? 【需要推导,详见图一权重系数α推导部分,即公式3的推导】
3、如何更新样本权重D? 【伪代码中第 7 行】
4、使用何种结合策略? 【伪代码中最后一行,Output部分,即通过加权结合】

附上AdaBoost算法伪代码:(图片来自网络)
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值