集成学习算法原理总结

目录

1 Boosting

2 Bagging和随机森林

2.1 Bagging

2.2 随机森林

3 结合策略 

3.1 平均法

3.2 投票法

3.3 学习法- Stacking


集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务。

                                                       

要获得好的集成,个体学习器应“好而不同”,即个体学习器要有一定的“准确性”,并且要有“多样性”,即学习器之间具有差异。

根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类:一类是个体学习器之间存在强依赖关系、必须串行生成的序列化方法,另一类是个体学习器间不存在强依赖关系、可同时生成的并行化方法。前者的代表是Boosting,后者的代表时Bagging和“随机森林”。

1 Boosting

Boosting是一族可将弱学习器提升为强学习器的算法。其工作机制类似:先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器预测错误的训练样本再后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,甚至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合。

Boosting族算法最著名的代表是Adaboost,其原理详见:提升方法算法原理总结

 

2 Bagging和随机森林

2.1 Bagging

给定包含m个样本的数据集,先随机取出一个样本放入采样集,然后再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中,这样,经过m次随机采样操作,就得到了含有m个样本的采样集。初始训练集中有的样本再采样集中出现多次,有的则从未出现。

这样,就可以采样出T个包含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。这就是Bagging的基本流程。

在对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法。

训练一个Bagging集成学习器的复杂度为O(m),与训练一个基学习器的复杂度同阶。

自助采样过程还给Bagging带来另一个优点:由于每个基学习器只使用了初始训练集中约63.2%的样本,剩下约36.8%的样本可用作验证集来对泛化性能进行“包外估计”。

2.2 随机森林

随机森林是Bagging的一个拓展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性的选择。具体来说,传统决策树在选择划分属性时是在当前节点的属性集合(假定有d个属性)中选择一个最优属性;而在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。这里的参数k控制了随机性的引入程度:若令k=d,则基决策树的构建和传统决策树相同;若令k=1,则是随机选择一个属性用于划分;一般情况下,推荐值k=log_{2} (d)

 

3 结合策略 

3.1 平均法

  • 简单平均法

      

  • 加权平均法

       

加权平均法的权重一般是从训练数据中学习得到,现实任务中的训练样本通常不充分或存在噪声,使得学出的权重不完全可靠。

一般而言,在个体学习器性能相差较大时宜使用加权平均法,而在个体学习器性能相近时宜使用简单平均法。

3.2 投票法

  • 绝对多数投票法

      

  • 相对多数投票法

      

  • 加权投票法

      

3.3 学习法- Stacking

Stacking先从初始数据集训练出初级学习器,然后“生成”一个新数据集用于训练次级学习器。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值