集成学习(2)--bagging与随机森林

给定一个训练集,对训练样本进行采样,产生出若干个不同的子集,再从每个子集中训练一个基学习器。由于训练数据不同,基学习器可望有比较大的差异。但如果采样出的每个子集都完全不同,则每个基学习器只用到一小部分训练数据,甚至不足以有效学习,也就无法产生好的学习器。可以使用相互有交叠的采样子集解决。

Bagging

Bagging是并行集成学习方法的代表,从名字可以看出它是基于自助采样法。即有放回的采样。

给定包含 m m m 个样本的数据集,可采样出 T T T 个含 m m m 个训练样本的采样集,用每个采样集训练一个基学习器,再进行结合。对预测输出,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法

因为每个基学习器都是并行训练的,而组合的时间开销可以忽略不计,因此Bagging与基学习器的复杂度同阶。与标准AdaBoost只适用于二分类不同,Bagging能不修改地用于多分类、回归任务

从偏差-方差分解角度看,Bagging主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效用更为明显

随机森林(RF)

随机森林在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含 k k k 个属性的子集,然后再从这个子集中选择一个最优属性用于划分。这里的 k k k 控制了随机性的引入程度,一般的推荐值 k = l o g 2 d k=log_2 d k=log2d.

随机森林简单,容易实现,计算开销小,但性能十分强大,被誉为“代表集成学习技术水平的方法”。相比于Bagging中仅通过样本扰动,随机森林又加入了属性扰动,这使得性能进一步提升。

在这里插入图片描述

随机森林的效率常优于Bagging,因为在个体决策树的构建过程中,Bagging使用的是“确定型”决策树,在划分属性时要对结点的所有属性进行考察,而随机森林使用“随机型”决策树只需考察一个属性子集

结合策略

结合策略可从三个方面带来好处:

  1. 统计方面: 假设空间很多,达到同样性能的假设可能有多个,选择单学习器存在误选的风险,从而导致泛化性能不佳
  2. 计算方面:算法容易陷入局部极小点,多个学习器结合降低风险
  3. 表示方面:某个任务的假设可能不在当前的假设空间,多个学习器结合,假设空间有所扩大

平均法

简单平均法

这个不多说

加权平均法

一般对单个学习器进行加权时,权重应该非负在个体学习器性能相差较大时使用加权平均法,性能相近时使用简单平均法

投票法

绝大多数投票法

即超过半数,预测为该标记,否则拒绝预测。

相对多数投票法

即最大的那个标记,同时有多个的话,随机选择

加权投票法

绝大多数投票法因此存在拒绝预测,在可靠性要求较高的任务中比较适用。

考虑学习器的输入类型有:类标记和类概率两种,投票也分硬投票和软投票不同的输出类型不能混用。对能在预测出类别时同时产生分类置信度的学习器,分类置信度可转化为类概率使用。

虽然分类器估计出的类概率值一般都不太准确,但基于类概率进行结合却往往比直接基于类标记进行结合性能更好。但是,若基学习器的类型不同,则其类概率值不能直接进行比较。这种情况先转成类标记,再处理。

学习法

是一种更为强大的策略,即通过另一个学习器来进行结合。Stacking是其典型代表。这里把个体学习器称为初级学习器,用于结合的学习器称为次级学习器或元学习器

Stacking先从初始数据集训练出初级学习器,然后用初级学习器的输出当做样例输入特征,初始样本的标记仍然作为样例标记。在这个新数据集上训练次级学习器。

注意次级训练集的生成不再使用原来的属性,若初级学习器的个数是 T T T, 样本个数是 m m m ,那么次级训练集的属性矩阵大小是 m × T m \times T m×T,再加上原标记,数据集大小是 m × ( T + 1 ) m \times (T+1) m×(T+1)

如果直接使用原来初级学习器的训练集,过拟合的风险会比较大。因此一般用验证集生成次级训练集。

次级学习器的输入属性表示和次级学习算法对Stacking集成的泛化性能有很大影响。有研究表明,将初级学习器的输出类概率作为次级学习器的输入属性,用多响应线性回归作为次级学习算法效果较好。

多样性

多样性增强

  1. 数据样本扰动
  2. 输入属性扰动:对属性冗余的数据,将属性集划分,各自训练学习器
  3. 输出表示扰动
  4. 算法参数扰动

总结

RF的算法原理也终于讲完了,作为一个可以高度并行化的算法,RF在大数据时候大有可为。 这里也对常规的随机森林算法的优缺点做一个总结。

RF的主要优点有:

1) 训练可以高度并行化,对于大数据时代的大样本训练速度有优势。个人觉得这是的最主要的优点。

2) 由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型。

3) 在训练后,可以给出各个特征对于输出的重要性

4) 由于采用了随机采样,训练出的模型的方差小,泛化能力强。

5) 相对于Boosting系列的Adaboost和GBDT, RF实现比较简单。

6) 对部分特征缺失不敏感。

RF的主要缺点有:

1)在某些噪音比较大的样本集上,RF模型容易陷入过拟合。

2) 取值划分比较多的特征容易对RF的决策产生更大的影响,从而影响拟合的模型的效果。

参考

周志华《机器学习》

https://www.cnblogs.com/pinard/p/6156009.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值