机器学习之集成学习(二) 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的回归问题
误差率
弱学习器权重系数
更新样本权重