随机森林!

定义:在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树节点分裂时引入随机属性扰动。

随机性体现(与传统决策树的差异):对基决策树的每个节点,先从该节点的属性集合中随机选择包含K(log2(d))个属性的子集,然后再从这个子集中选择一个最优的属性用于划分。

为什么随机选取数据集?

如果不随机的话,训练出来的多棵树的分类结果时一样的,违背了bagging思想

为什么有放回抽样?

RF在分类时是求同,有放回的抽样会产生相同的训练样本;如果不是有放回抽样,训练出来的每棵树的结果存在很大偏差,这样对分类结果没有任何帮助。所以有放回抽样能够减小bias,RF的目的时减小variance。

影响RF分类结果的因素:

  • 任意两棵树的相关性:相关性越大,错误率越高
  • 每棵树的分类能力:分类器能力越强,错误率越低;
  • 唯一可调参数:RF中特征子集的数量,数量越大,性能越好。

RF的优缺点

  • RF引入两个随机性,抗噪能力增强
  • RF在分类中对各个变量的重要性进行估计,对泛化误差进行无偏估计
  • 可处理高维数据,对数据集的适应能力强
  • 性能优于单预测器,分类精度与boosting算法差不多,运行速度更快
  • 训练数据较少或噪声数据较大时,会发生overfitting。

RF是如何衡量特征重要性的

  • 基于gini不纯度的:

在sklearn中描述的是基于不纯度来衡量特征重要性(容易被取值较多的特征误导----high cardinality features)

  • 基于袋外数据误差的:

第一步,对于每一棵树,选择相应的OOB袋外数据(抽样剩下的1/3数据),计算袋外数据误差,记为err_oob1;

第二步,随机对OOB袋外数据中某个特征X加入噪声干扰(可随机改变样本在特征X处的值),计算袋外数据误差,记为err_oob2;

最后,对这N棵树的(err_oob2-err_oob1)求和取平均,如果值变化很大(即err_oob2上升),说明这个特征的重要性很高。

RF能减少多少方差?

Bagging与方差 - 知乎

(1)假设有n个独立同分布的模型,每个模型的方差均为σ^2,均值为μ,那么多模型平均后的方差仅为单模型的1/n,偏差与单模型的偏差近似

Var(\frac{1}{n}\sum_{i=1}^{n}X_i)=\frac{1}{n^2}Var(\sum_{i=1}^{n}X_i)=\frac{\sigma^2}{n}\\ E(\frac{1}{n}\sum_{i=1}^{n}X_i)=\frac{1}{n}E[\sum_{i=1}^{n}X_i]=\mu

(2)由于随机森林是有放回抽样,说明数据集之间会有重复样本,不符合独立性假设,这种情况下假设单模型之间具有相关稀疏0<pho<1,则模型均值和方差为:

Var(\frac{1}{n}\sum_{i=1}^{n}X_i)=\frac{\sigma^2}{n}+\frac{n-1}{n}*pho*\sigma^2

上式中,随着n增大,第一项趋于0,第二项趋于pho*σ^2,所以bagging能降低整体方差。同时,由于树节点分裂时,随机选取特征,进一步降低了模型之间的相关性。

(非独立随机变量之间的方差计算如下):

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值