美文网首页秋招-算法
Bagging与随机森林

Bagging与随机森林

作者: 0过把火0 | 来源:发表于2018-10-17 17:17 被阅读4次

    集成学习大类中常见的有两个子类:Bagging和Boosting。
    本次记录一下Bagging以及其代表模型RandomForest。

    Bagging思想

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

    学习流程

    1、给定一个包含m个样本的训练集
    2、随机地拿一个样本出来放入采样集中,再将该样本放回原始数据集中
    3、经过m次随机采样,采样集中出现了m个样本,并且有放回地操作使得相同样本会多次出现在采样集中(也就是说随机采样的大小还是原始样本集的大小)
    4、上述流程重复T次,我们得到T个包含m个样本的采样集,然后基于每个采样集训练出一个基学习器,再将基学习器结合。

    预测方法

    1)对于分类问题,采取简单的投票法,如果某两个类别的投票个数相同,那么就随机取一个。
    2)对于回归问题,使用简单的平均法。

    随机森林

    1 思想

    在bagging的基础上,添加了随机属性选择,传统决策树在选择划分属性时是根据当前节点的属性集合中选一个最优属性,而在RF中,对基决策树的每个节点,先从该节点的属性集合中随机选一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。参数k控制了随机性的引入程度,若令k=全体属性个数,则基决策树与传统决策树相同,一般来讲,推荐k=log2d,其中d是全部属性个数。

    2 为何RF是有效的?
    1. 从统计层面来看:
      学习任务的假设空间本身是很大的,可能有多个假设在训练集上达到同等性能,此时单学习器的泛化性能很弱,若使用学习器结合法,则能够改善这一现象。
    2. 从计算方面来看:
      学习算法往往会陷入局部极小,而局部极小值有时候反映的是泛化性能很差,而通过多次运行之后进行结合,则能够降低陷入局部极小的风险。
    3. 从表示方面来看:
      某些学习任务的真实假设可能不在当前学习算法多考虑的假设空间内,此时若使用单学习器一定无效。
    3 RF的预测结合策略
    1. 平均法
      平均法分为完全平均和加权平均,加权平均的权重来自于基模型的权重,这个权重由训练数据学习得到。
      现实样本中的噪声点很多,这样使得学习出的权重不完全可靠,尤其是对于规模比较大的数据来说,要学习的权重比较多,容易过拟合。
      因此,并不一定加权平均就一定优于完全平均。一般而言,基学习器的差异较大时,可以选择加权,而基学习器相近时,宜使用简单平均。

    2. 投票法
      对分类任务来说:
      1-绝对多数投票:若某标记得票过半数,就接受。
      2-相对多数投票:预测为得票最多的那个类别,若同时出现多个最多,则随机选一个。
      3-加权投票:由样本学习到基学习器的权重,然后对预测值进行加权。

    4 RF优势

    1)一般情况下无需降维,算法本身就采取随机抽样降维
    2)提供两种处理缺失值的方法
    3)可以输出特征重要性
    4)可以处理不均衡数据,内部原理是对高类别样本使用下采样,对于低类别样本采用上采样
    5)容易并行化
    6)Bagging中基学习器的“多样性”通过样本扰动(对初始训练集采样)而获得;随机森林中基学习器的“多样性”不仅来自于样本扰动,而且还可以通过随机属性扰动来获得。这使得随机森立的泛化性能可通过个体学习器之间差异程度的增加而进一步提升。随机森林的使其性能很差,但随着学习器的增加,性能很快就会变好,且强于Bagging。

    转载注明:https://www.jianshu.com/p/f14481da685f

    相关文章

      网友评论

        本文标题:Bagging与随机森林

        本文链接:https://www.haomeiwen.com/subject/nnyrzftx.html