集成方法Bagging和boosting比较

来源:互联网 发布:windows8装mac系统amd 编辑:程序博客网 时间:2024/05/29 19:06

在看《机器学习实战》的第7章“AdaBoost元算法提高分类性能”时,看到了bagging算法和boosting算法,这两类算法很类似,都属于集成方法中基于同一种分类器多个不同实例的算法,但又有一些不同(主要在训练实例的构建上和分类器的训练方式上),为了加深自己的理解,对这两类算法进行简单的介绍和比较。

1 Bagging:基于数据随机重抽样的分类器构建方法

bagging方法,也称自举汇聚法(bootstrap aggregating),是对原始数据集进行随机重抽样(有放回的抽样)得到若干个与原数据集同样大小的新数据集的一种技术。
在得到S个数据集后,最简单的方法就是用某个学习算法分别作用于每个数据集得到S个分类器。最后汇总S个分类器的分类结果,通过多数表决的投票法得到最终的分类结果。
还有一些更先进的bagging方法,比如随机森林(random forest),关于它的讨论可参见此处

2 Boosting:基于数据权重调整串行训练的分类器构建方法

boosting方法通过改变训练样本的权重,串行训练多个分类器,并将这些分类器进行线性组合来构建强分类器。
boosting构建分类器的过程中,每个新分类器都是根据已训练出的分类器的性能来进行训练的,即将被已有分类器错分的那些数据的权重增大,而被正确分类的数据权重减小。最终在训练得到m个分类器后,依据各分类器的分类性能给予相应的权重,并组合得到最终的分类器。

3 Bagging和Boosting比较

集成方法 bagging boosting 训练实例构建 随机重抽样 根据已训练出的分类器性能调整权重 子分类器构建 基于重抽样的数据集构建,相互独立 根据权重调整后的数据集构建,串行,相互依赖 产生最终分类器 多数表决的投票法 权重依赖子分类器性能的加权组合

参考资料:《机器学习实战》第7章

原创粉丝点击