集成学习:通过数学推导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算法中,最后对每个树模型进行叠加的时候其权重是通过计算得到,无需自己设置
以上两点的证明如下:(公式输入太麻烦,所以就直接手写了)
集成学习:通过数学推导AdaBoost的训练误差可以无限接近于0,以及其树的权重可以推导出来

附上AdaBoost算法伪代码:(图片来自网络)
集成学习:通过数学推导AdaBoost的训练误差可以无限接近于0,以及其树的权重可以推导出来