Bagging and Boosting

Bagging (Bootstrap aggregating) 和 Boosting 是两种集成方法 (ensemble methods)。

所谓的集成方法就是秉承着“三个臭皮匠胜于诸葛亮”的思想,通过组合多个单一模型得到强大的整体性能。

这里边就有两个问题,单一模型该如何训练?如何整合其各自的输出?

Bagging

训练

Bagging方法中每个单一模型()的训练是平行进行的。

每个单一模型的训练集()大小相同但内容各不相同,均是通过有放回地从原训练集中随机抽取若干训练实例得到的。

整合

投票或取平均。

好处

假设整合后的系统 ,且各单一模型相互独立(由于训练集容量有限,实际上各模型的训练集存在相似性,不能说是完全无关的),由偏差和方差的另一种解释,我们知道模型的泛化能力受到方差 和偏差 的限制。

首先考察方差:

可见Bagging方法能线性地减小方差(在单一模型互不相关的情况下)。

再考察偏差:

可见Bagging并不能保证减小偏差。

Boosting

训练

在同一训练集上依次训练多个模型。

得到第 个模型 后,对训练集中 预测错误的样例,增加其权重;反之减低其权重。

整合

求(带权)平均

AdaBoost

boosting中有一种能自适应地调节样例权重以及最终模型权重的方法:AdaBoost。