机器学习之集成学习(二)

机器学习之集成学习(二) AdaBoost算法(部分)

一. Boosting系列算法需要解决以下几个具体问题:

​ 1、如何计算学习误差e?
​ 2、如何得到弱学习器权重系数a?
​ 3、如何更新样本权重D?
​ 4、使用何种结合策略?

二. AdaBoost算法的基本思路

假设训练集为T={(Xi,Yi)},训练集的第k个弱学习器的输出权重为D(k)=(Wk1,Wk2,…….),初始时权重为:Wi=1/N。

2.1Adaboost的分类问题
  • 误差率

    由于多元分类是二元分类的推广,这里假设是二元分类,输出为{-1, 1},则第k个弱分类器Gk(x)在训 练集上的加权误差率为:

  • 弱学习器权重a

    对于二元分类问题,第k个弱分类器Gk(x)的权重系数为

    ​ 从上式可以看出,分类误差率e_k越大,则对应的弱分类器权重系数越小,误差率小的弱分类器权重系数越大

  • 更新样本权重D
    假设第k个弱分类器的样本集权重系数为D(k)=(Wk1,Wk2…..WkN),则第k+1个弱分类器的样本集权重系数为

    这里Z_K是规范化因子

    从的计算公式可以看出,如果第i个样本分类错误,则,导致样本的权重在第k+1个弱分类器中增大;如果分类正确,则权重在第k+1个弱分类器中减小。

  • 结合策略

    AdaBoost分类采用加权平均法,最终的强分类器为:

2.2Adaboost的回归问题
  • 误差率

  • 弱学习器权重系数

  • 更新样本权重