提升方法要解决两个问题:1、每一轮如何改变训练数据的权值和分布;2、如何将弱分类器组合为一个强分类器
Adaboost算法思想:
解决问题一: 提高前一轮弱分类器错误分类样本的权值,降低弱分类器正确分类样本的权值,这样在下一轮训练中上一轮被错误分类的样本会得到更多关注;
解决问题二:加权多数表决法,加大分类误差率小的弱分类器的权重,减小分类误差率大的弱分类器的权重。
算法过程:
(1)初始化训练权重:
(2)对m=1,...,M
(a) 用带有权值分布Dm的训练数据得到基本分类器:
(b)计算Gm(x)在训练数据上的分类误差率
(c)计算Gm(x)的系数
(d)更新训练数据权值
,解决第一个问题:误差率减小,系数增大,从而权值减小,即降低分类正确样本的权值,提高分类错误样本的权值。
Zm是规范化因子,使Dm+1成为一个概率分布。
(3)线性组合基本分类器
,解决第二个问题:误差率减小,系数增大,即增大误差率小的权值,减小误差率大的权值。
最终分类器:
特点:
1、不改变训练数据,不断改变训练数据权值;
2、表示基本分类器重要性的系数和不为1.f(x)符号决定实例x的分类,f(x)绝对值表示分类的确信度.
注:1、标准AdaBoost只适用于二分类任务。
2、Boosting主要关注降低偏差。