集成学习方法Boosting和Bagging

集成学习是通过构架并结合多个学习器来处理学习任务的一种思想, 目前主要分为两大类:Boosting和Bagging.

对于任意一种集成方法, 我们都希望学习出来的基分类器具有较高的准确性和多样性, 基分类器的准确性可以保证集成的结果的准确性, 而对多样性的要求则能够使得集成分类器具有较强的泛化性能. 只不过通常情况下, 基分类器的准确率都较高时它们之间的差异就会变小.

1. Boosting方法通过串行方式来学习各个基分类器, 在学习新的基分类器时根据上一个分类器的训练误差来调整训练数据的权重或者概率分布(错误分类的样本将被赋予较大的权重或较高的概率,从而在训练下一个基分类器时给予该样本更高的关注). 因此, 基于Boosting集成思想的方法, 各基分类器之间具有较强的依赖关系, 必须串行学习. AdaBoost是Boosting的代表性算法.

2. Bagging方法通过对原始训练数据集进行采样得到多个不同的子集, 然后在各数据子集上学习基学习器. Bagging的策略是尽可能使得各基学习器之间相互独立, 通常这种方式学习出的各基学习器之间的差异较大. 随机森林是Bagging的代表性算法, 在随机森林中不仅对训练数据进行随机采样, 而且对构建决策树的属性集合也随机选出子集进行学习, 进一步引入了随机性.

从方差与偏差角度来看, Boosting方法的学习是在不断减小模型的训练误差, 而Bagging方法则更关注降低模型的方差.

猜你喜欢

转载自www.cnblogs.com/sasworld/p/11256401.html