Random Forest

自助采样法

给定包含m 个样本的数据集D , 我们对它进行采样产生数据集D':

  1. 每次随机从D 中挑选一个样本将其拷贝放入D'
  2. 再将该样本放回初始数据集D 中,使得该样本在下次采样时仍有可能被采到;
  3. 这个过程重复执行m 次,我们就得到了包含m个样本的数据集D'

通过自助来样,初始数据集D 中约有36.8% 的样本未出现在采样数据集D'中.于是我们可将D' 用作训练集,D - D'用作测试集;这样我们仍有数据总量约1/3 的样本没在训练集中出现, 成为"包外估计" .

  • 优点:自助法在数据集较小、难以有效划分训练/测试集时很有用;此外,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处.
  • 缺点:自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差.在初始数据量足够时,留出法和交叉验证法更常用一些.

Bagging

Bagging是并行式集成学习方法最著名的代表,它基于我们在前面介绍的自助采样法。Bagging基本流程:

输入: 训练集D, 基学习算法\Phi,训练轮数T.

  1. for t = 1,2,...,T do
  2.      h_{t} = \Phi (D,D_{bs})
  3. end for

输出:H(x) = arg\max_{y \in Y}\sum_{t=1}^{T}\mathbb{I}(h_{t}(x)=y)

在对预测输出结果结合时,通常对分类任务使用简单投票法,对回归任务使用简单平均法。若同时出现票数相同的两类,可进一步考察学习器投票的置信度来确定最终获胜者。从偏差-方差角度来看,Bagging算法主要关注降低方差,因此在不剪枝决策树、神经网络等易受样本扰动的学习器上效用更为明显。

Bagging通过在构建模型的过程中引入样本随机性,来减少基估计器的方差.因为 bagging 方法可以减小过拟合,所以通常在强分类器和复杂模型上使用时表现的很好(完全决策树),相比之下 boosting 方法则在弱模型上表现更好(浅层决策树)

随机森林

RF在以决策树为基学习器构建Bagging集成的基础上,并在在决策树的训练过程中引入了随机属性选择: 传统决策树在选择划分属性时是在当前结点的属性集合中选择一个最优属性;而在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选取一个最优属性用于划分。这里k控制了随机性的引入程度,若k=d则基决策树的构建与传统决策树相同;若令k=1,则是随机选择一个属性进行划分。一般推荐k = log_{2}d

 所以与Bagging中基学习器的“多样性”仅通过样本扰动而来不同,随机森林中基学习器的多样性不仅来自样本扰动,还来自属性扰动,这就使得最终集成的泛化性能可通过个体学习器之间差异度的增加而进一步提高。

结合策略

学习器结合三个好处:

  1. 统计。学习任务假设空间很大,多个假设在训练集上达到同等性能,此时若用单学习器可能会因为误选而导致泛化性能不佳
  2. 计算。学习算法通过多次运行后进行结合,可降低陷入糟糕局部极小值的风险
  3. 表示。某些学习任务的真实假设可能不在当前学习算法所考虑的假设空间内,而通过结合多个学习器,相应的假设空间有所扩大,有可能学得更好的近似。

假设集成包含T个基学习器{h_{1},h_{2},...,h_{T}},其中h_{i}在示例x上的输出为h_{i}(x)。下面介绍对h_{i}进行结合的常见策略:

平均法

对于回归任务的数值型输出h_{i}(x),常用平均法

  • 简单平均(simple averaging)

                                       H(x) = \frac{1}{T}\sum_{i=1}^{T}h_{i}(x)

  • 加权平均(weighted averaging)

                                      H(x) = \sum_{i=1}^{T}\omega_{i}h_{i}(x),\quad \omega_{i}\geq 0,\sum_{i=1}^{T}\omega_{i} = 1

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

投票法

类别标记集合\left \{ c_{1},c_{2},...,c_{N} \right \},我们将h_{i}在样本x上的预测输出表示为一个N维向量\left \{ h_{i}^{1}(x),...,h_{i}^{N}(x) \right \}h_{i}^{j}(x)h_{i}在类别标记c_{j}的输出.

  • 绝对多数投票法: 若某标记得票数过半,则预测为该标记;否则拒绝预测

                              \left\{\begin{matrix} c_{j},\quad\sum h_{i}^{j}(x)>0.5\sum_{K=1}^{N}\sum_{i=1}^{T}h_{i}^{k}(x) \\ reject,\qquad otherwise \end{matrix}\right.

  • 相对多数投票法:即预测为得票最多的标记,若同时有多个标记获得最高票,则随机选取一个

                                             H(x) = c_{J},\quad J = arg\max_{j}\sum_{i=1}^{T}h_{i}^{j}(x)

  • 加权投票法(weighted voting)

                                         H(x) = c_{J},\quad J = arg\max_{j}\sum_{i=1}^{T}\omega_{i} h_{i}^{j}(x)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值