您的位置:首页 > 其它

集成学习之bagging与随机森林

2017-06-11 11:03 302 查看
Bagging 算法原理和Boosting 不同,它的弱学习器之间没有依赖关系,可以并行生成,原理图如下:



从图中可以看出,Bagging的个体弱学习器的训练集是通过随机采样得到的,通过T次的随机采样,我们就可以得到T个采样集,对于这T个采样集,我们可以分别独立的训练出T个弱学习器,再对这T个弱学习器通过集合策略来的到最终的强学习器。

随机采样:

这里采用的是自助采样法,即对于m个样本的原始训练集,我们每次先随机采样一个样本放入采样集,接着把样本放回,也就是说下次采样时的样本仍有可能被采集到,这里采样m次,最终可以得到m个样本的采样集,由于是随机采样,这样每次的采样集是和原始训练集不同的,和其他采样集也是不同的,这样得到多个不同的弱学习器。在每轮随机采样中,训练集大约有36.8%的数据没有被采样集采中。对于这部分36.8%的没有被采样到的数据,我们称之为“包外估计”,这些数据没有参与训练集模型的拟合,因此可以用来检测模型的泛化能力。

随机森林是Bagging的一个特化进阶版,所谓的特化是因为随机森林的弱学习器是决策树,所谓的进阶是随机森林在Bagging的样本随机采样的基础上,又加上了特征的随机选择,其基本思想没有脱离Bagging的范畴。

集成学习的结合策略:

1、平均法

对于数值类的回归预测问题,通常使用的结合策略是平均法,也就是说对于若干弱学习器的输出进行平均得到最终的预测输出。

最简单的平均是算术平均,也就是说最终的预测是



如果每个个体学习器有一个权重w,则最终的预测是



其中wi是个体学习器的权重,通常有



2、投票法

对于分类问题的预测,我们通常使用的是投票法。假设我们的预测类别是


,对于任意一个预测样本x,我们的T个弱学习器的预测结果分别是



最简单的投票法是相对多数投票法,也就是我们常说的少数服从多数,也就是T个弱学习器的对样本x的预测结果中,数量最多的类别

为最终的分类类别。如果不止一个类别获得最高票,则随机选择一个做最终类别。



稍微复杂的投票法是绝对多数投票法,也就是我们常说的要票过半数。在相对多数投票法的基础上,不光要求获得最高票,还要求票过半数。否则会拒绝预测。



更加复杂的是加权投票法,和加权平均法一样,每个弱学习器的分类票数要乘以一个权重,最终将各个类别的加权票数求和,最大的值对应的类别为最终类别。



随机森林

随机森林(Random Forest ,简称RF) 是Bagging的一个

扩展变体.盯在以决策树为基学习器构建Bagging 集成的基础上,进一步在决策树的训练过程中引入了随机属性选择.具体来说,传统决策树在选择划分属性时是在当前结点的属性集合(假定有d 个属性)中选择一个最优属性;而在RF 中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。

这里的参数k 控制了随机性的引入程度;若令k = d,则基决策树的构建与传统决策树相同;若令k = 1,则是随机选择一个属性用于划分; 一般情况下,推荐值k = log2 d。

随机森林简单、容易实现、计算开销小,令人惊奇的是, 它在很多现实任务中展现出强大的性能,被誉为”代表集成学习技术水平的方法”。

可以看出,随机森林对Bagging 只做了小改动, 但是与Bagging 中基学习器的”多样性”仅通过样本扰动(通过对初始训练集采样)而来不同,随机森林中基学习器的多样性不仅来自样本扰动,还来自属性扰动,这就使得最终集成的泛化性能可通过个体学习器之间差异度的增加而进一步提升。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: