机器学习--随机森林

模型思想

随机森林是集成学习的一种,集成多个弱学习器形成一个强学习器。弱学习器要求是好而不同,具有一定的准确性和多样性,多个学习器集成产生更好的效果。

  • 对于回归问题:简单平均法。
  • 对于分类问题:简单投票法。

Bagging

为了用于多个学习器训练,要有多个不同的训练集,运用少量的数据产生多个不同训练集其中的一个方法就是bagging。bagging也就是有放回的采样。假设有m个数据,每次抽一次放回到数据集,重复m次就能得到一个规模为m的训练集。这样会有36.8%的概率的数据不会被采样到,这样的好处是,这部分的数据可以作为“外包估计”,对泛化性能作为检验,例如决策树辅助剪枝,神经网络的early stopping。
36.8%的证明(极限公式 (1+1/x)^x=e):

limm(11m)m=e1100%=36.8%

随机森林算法

随机森林不单是数据集采用bagging,有样本扰动,还加入了属性的扰动,每次不是从所有的属性中选择最优的属性,而是先随机选出k个属性,在k个属性里面根据信息增益去选最优的分裂属性。如果有d个属性,k的推荐值一般是:

k=log2d

随机森林的推广算法

常见的有三个:Extra Tree、Totally Random Trees Embedding(TRTE)、Isolation Forest。

Extra Tree

Extra Tree的每个训练集采用原始的训练集,也就是不用bagging的方法,在选择属性上Extra Tree采用完全随机选择属性,不根据信息增益的方法去选择。Extra Tree的泛化能力一般优于随机森林,但是由于完全随机选择属性,而且是在所有的属性中选择,生成的模型规模比随机森林大,一般不采用这种方法,只有在随机森林过拟合的时候尝试采用。

Totally Random Trees Embedding(TRTE)

一种低维数据向高维数据映射的方法。TRTE算法的转换过程类似RF算法的方法,建立T个决策树来拟合数据。当决策 树构建完成后,数据集里的每个数据在T个决策树中叶子节点的位置就定下来了, 将位置信息转换为向量就完成了特征转换操作。

Isolation Forest

用于异常点的判断,则是将测试样本x拟合到T棵决策树上。计算在每棵树上该 样本的叶子节点的深度 ht(x) 。从而计算出平均深度 h(x) ,平均深度越小,就证明这个点很快就分到异常的叶子节点上,说明这个点越可能是异常点,但是不能只考虑平均深度,还要考虑数据的规模,所以把 h(x) 放到下面的公式中进行判断:

p(x,m)=2h(x)c(m)
c(m)=ln(m1)+ξ2m1m

其中m是样本个数, ξ 是欧拉常数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值