Boost(提升)方法不同于bagging,基分类器是顺序训练的,每个基分类器使⽤数据集的⼀个加权形式进⾏训练,其中与每个数据点相关联的权系数依赖于前⼀个分类器的表现。特别地,被⼀个基分类器误分类的点在训练序列中的下⼀个分类器时会被赋予更⾼的权重。⼀旦所有的分类器都训练完毕,那么它们的预测就会通过加权投票的⽅法进⾏组合。
1. AdaBoost
假设我们在对一组数据进行分类的时候,
- 确定一个分类模型;
- 重点观察出现分类错误的数据,产生新的模型,与原模型组合以改进模型;
- 重复上述过程。
把这种思想运用到机器学习算法的设计中时,就是AdaBoost算法。那么有两个问题需要回答:
- 如何“重点”观察出现错误分类的数据
- 如何将模型组合起来
AdaBoost采用的是:
- 提高那些前一轮中被分类器错误分类样本的权值,降低那些被正确分类样本的权值;
- 采用加权多数表决的方法,即加大分类错误率低的分类器的权值,减小分错错误率高的分类器的权值。
1.1 如何确定下一轮中数据的权重?
假设第t轮,数据权重是 w(i)t ,这一轮中学习到的模型是 gt ,那么其错误率是:
ϵt=∑mi=1w(i)tI(y(i)≠gt(x(i)))∑mi=1w(i)t
我们定义参数
Δ=1−ϵtϵt−−−−−√
则有,如果
gt
的分类效果比随机猜测要好,那么必然有
ϵt<12,Δ>1
,那么我们可以这样更新数据的权重:
w(i)t+1←w(i)t⋅Δ
w(i)t+1←w(i)t/Δ
根据 Δ