您的位置:首页 > 其它

Boosting 与 Bagging 的区别与联系

2018-03-11 21:03 246 查看
资料整理自《机器学习》,周志华

Boosting 与Bagging

Boosting 与 Bagging 均属于集成学习方法。集成学习研究的核心:产生并结合“好而不同”的个体学习器。

Boosting :

个体学习器间存在强依赖关系、必须串行生成的序列化方法。主要关注降低偏差(bias)。典型算法:AdaBoost

工作机制:

先从初始训练集训练出一个基学习器,根据基学习器的表现调整训练样本的权值分布,使得先前基学习器做错的训练样本在后续获得更多关注(更大的权值)。使用基于调整后的样本训练下一个基学习器,如此反复进行,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合。

Bagging:

个体学习器不存在强依赖关系、可同时生成的并行化方法。

主要关注降低方差(variance)。

工作机制:

基于自助采样法(Bootstrap sampling)采样出T个含m个训练样本的样本集。基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。结合方法一般为:对分类任务使用简单投票法,对回归任务使用简单平均法。

随机森林:

随机森林(Random Forest,RF)是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。具体来说,传统决策树在选择划分属性时是在当前结点的属性集合中选择一个最优属性;而在RF中,对于基决策树的每个节点,先从该节点的属性集合中随机选择一个包含k个属性的子集,再从这个子集中选择一个最优属性用于划分。RF中学习器的多样性不仅来自样本扰动,还来自属性扰动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习