随机森林详解

原文链接:机器学习之随机森林(RF)详解


常用集成学习包括Bagging ,Boosting, Stacking三种。见https://blog.csdn.net/sinat_30353259/article/details/81034749
bagging算法的典型实现是随机森林(Random Forest)。
Boosting:
AdaBoost (Adaptive Boosting)
Gradient Boosting Machines (GBM)梯度推进机
Gradient Boosted Regression Trees (GBRT)梯度提升回归树
Stacking
由于学习随机森林需要了解bagging和决策树算法,下面依次进行

一、bagging算法

1、简介

Bagging(Bootstrapped Aggregation的简称)对于给定数据处理任务,采用不同的模型、参数、特征训练出多个模型,最后采用投票或者加权平均的方式输出最终结果。基学习器可以是相同的模型,也可以是不同的,一般使用的是同一种基学习器,最常用的是DT决策树。

随机采样(bootsrap)就是从我们的训练集里面采集固定个数的样本,但是每采集一个样本后,都将样本放回。也就是说,之前采集到的样本在放回后有可能继续被采集到。对于我们的Bagging算法,一般会随机采集和训练集样本数m一样个数的样本。这样得到的采样集和训练集样本的个数相同,但是样本内容不同。如果我们对有m个样本训练集做T次的随机采样,,则由于随机性,T个采样集各不相同。

注意到这和GBDT的子采样是不同的。GBDT的子采样是无放回采样,而Bagging的子采样是放回采样。

对于一个样本,它在某一次含m个样本的训练集的随机采样中,每次被采集到的概率是 1 m 1 m 1 m 1m1m \frac{1}{m} 1m1mm1Gini(D)=k=1ypk(1pk)=1k=1ypk2
基尼指数值越大,样本集合的不确定性越大,这一点和熵类似
具体CART生成算法:
对分类树而言,CART用Gini系数最小化准则来进行特征选择,生成二叉树。 CART生成算法如下:
输入:训练数据集D,停止计算的条件:
输出:CART决策树。

根据训练数据集,从根结点开始,递归地对每个结点进行以下操作,构建二叉决策树:

  1. 设结点的训练数据集为D,计算现有特征对该数据集的Gini系数。此时,对每一个特征A,对其可能取的每个值a,根据样本点对A=a的测试为“是”或“否”将D分割成D1和D2两部分,计算A=a时的Gini系数。
  2. 在所有可能的特征A以及它们所有可能的切分点a中,选择Gini系数最小的特征及其对应的切分点作为最优特征与最优切分点。依最优特征与最优切分点,从现结点生成两个子结点,将训练数据集依特征分配到两个子结点中去。
  3. 对两个子结点递归地调用步骤l~2,直至满足停止条件。
  4. 生成CART决策树。

算法停止计算的条件是结点中的样本个数小于预定阈值,或样本集的Gini系数小于预定阈值(样本基本属于同一类),或者没有更多特征。

3、总结

鉴于决策树容易过拟合的缺点,随机森林采用多个决策树的投票机制来改善决策树,我们假设随机森林使用了m棵决策树,那么就需要产生m个一定数量的样本集来训练每一棵树。

随机森林的生成方法
1.从样本集中通过重采样的方式随机选择n个样本
2.假设样本中的特征数量为a,再从这些特征中,随机选择k个特征,用建立决策树的方式选择最佳分割点,构建决策树树
3.重复m次,产生m棵决策树
4.多数投票机制来进行预测

(需要注意的一点是,这里m是指循环的次数,n是指样本的数目,n个样本构成训练的样本集,而m次循环中又会产生m个这样的样本集)

随机森林是一个比较优秀的模型,在我的项目的使用效果上来看,它对于多维特征的数据集分类有很高的效率,还可以做特征重要性的选择。运行效率和准确率较高,实现起来也比较简单。但是在数据噪音比较大的情况下会过拟合,过拟合的缺点对于随机森林来说还是较为致命的。

随机森林中的随机性主要体现在两个方面:
随机采样:随机森林在计算每棵树时,从全部训练样本(样本数为n)中选取一个可能有重复的、大小同样为m的数据集进行训练(即booststrap采样)。
特征选取的随机性:在每个节点随机选取所有特征中的部分特征,用来计算最佳分割方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值