集成学习(ensemble learning):bagging、boosting、random forest总结

来源:互联网 发布:sip网络电话机 编辑:程序博客网 时间:2024/04/27 08:46

集成学习(ensemble learning)
集成学习:将多个学习器结合在一起完成学习任务,目的是为了获得更好的效果。

集成学习是指将若干弱分类器组合之后产生一个强分类器。弱分类器(weak learner)指那些分类准确率只稍好于随机猜测的分类器(error rate < 50%)(O(∩_∩)O哈哈哈……)。
集成算法成功的关键在于能保证弱分类器的多样性(diversity)。集成不稳定的学习算法能得到更明显的性能提升。

如果集成在一起的都是同一种学习器,叫做“同质集成”,相应的学习器叫做“基学习器”;
如果集成在一起的不是同一种学习器,叫做“异质集成”,相应的学习器叫做“组件/个体学习器”;

集成学习分为2类:
(1)个体学习器间存在强大依赖关系、必须串行生成的序列化方法,一环扣一环,代表算法:Boosting;
(2)个体学习器间不存在依赖关系、可同时生成的并行化方法,代表算法Bagging和“随机森林”Random Forest。

bagging方法

bagging也叫自举汇聚法(bootstrap aggregating),是一种在原始数据集上通过有放回抽样重新选出S个新数据集来训练分类器的集成技术。也就是说这些新数据集是允许重复的。
使用训练出来的分类器集合来对新样本进行分类,然后用多数投票或者对输出求均值的方法统计所有分类器的分类结果,结果最高的类别即为最终标签。

具体是这样的:
bagging是并行式集成学习代表方法。基于“自助采样法”(bootstrap sampling)。自助采样法机制:给定包含m个样本的数据集,我们先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下一次采样时该样本还会被采到。这样,经过m次样本采集,我们得到包含m个样本的采样集。采样集中,有的样本出现过很多次,有的没有出现过。Bagging机制:我们采样出T个含m个样本的采样集。然后基于每个采样集训练出一个学习器,再将学习器进行结合。对分类任务使用投票法,对回归任务采用平均值法。

boosting方法

分类器集合是在迭代中串行地产生的。训练时着重关注训练集中那些不容易区分的样本。AdaBoost是一种常见的boosting算法。

AdaBoost(adaptive boosting)它也是boosting算法的一种,可见我博客的另一篇文章: Adaboost 算法的原理与推导
大概就是每轮迭代都会改变训练样本的权值,用来训练新的分类器……

未完待续……之后会不断总结……
参考:http://blog.csdn.net/u014665416/article/details/51557318

1 0
原创粉丝点击