机器学习(08)-集成学习之随机森林原理详解

1. 随机森林的简介

随机森林(Random Forest,简称RF)拥有广泛的应用前景,从市场营销到医疗保健保险,既可以用来做市场营销模拟的建模,统计客户来源,保留和流失,也可用来预测疾病的风险和病患者的易感性。最近几年的国内外大赛,包括阿里巴巴天池大数据竞赛以及Kaggle数据科学竞赛,参赛者对随机森林的使用占有相当高的比例。此外,一大部分成功进入答辩的队伍也都选择了Random Forest 或者 GBDT 算法。可以看出,Random Forest在准确率方面还是相当有优势的。

随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支——集成学习(Ensemble Learning)方法。随机森林的名称中有两个关键词,一个是“随机”,一个就是“森林”。一棵叫做树,那么成百上千棵就是森林,这也是随机森林的主要思想——集成思想的体现。

从直观角度来解释,每棵决策树都是一个分类器(假设讨论的是分类问题),那么对于一个输入样本,N棵树会有N个分类结果。而随机森林集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出,这就是一种最简单的 Bagging 思想。

2001年Breiman把分类树组合成随机森林,即在变量(列)的使用和数据(行)的使用上进行随机化,生成很多分类树,再汇总分类树的结果。随机森林在运算量没有显著提高的前提下提高了预测精度。

随机森林对多元公线性不敏感,结果对缺失数据和非平衡的数据比较稳健,可以很好地预测多达几千个解释变量的作用,被誉为当前最好的算法之一。

2. 随机森林算法

2.1. Bagging算法

想要得到泛化能力强的集成,集成中的个体学习器应尽可能相互独立;虽然"独立"在现实任务中无法做到,但可以设法使基学习器尽可能具有较大的差异。给定一个训练数据集,一种可能的做法是对训练样本进行采样,产生出若干不同的子集,再从每个数据子集中训练出一个基学习器。这样,由于训练数据不同,获得的基学习器可望具有较大的差异。然而,为获得好的集成,还希望个体学习器不能太差。如果采样出的每个子集都完全不同,则每个基学习器只用到了一小部分训练数据,甚至不足以进行有效学习,这显然无法确保产生出比较好的基学习器。为了解决这个问题,可以考虑使用相互有交叠的采样子集。

Bagging是并行式集成学习方法最著名的代表。它直接基于自助采样法(Bootstrap Sampling),给定包含 个样本的数据集,先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中,这样,经过 次随机采样操作,得到含 个样本的采样集,初始训练集中有的样本在采样集里多次出现,有的则从未出现。

照这样,可采样出T个含m个样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合,这就是Bagging的基本流程。在对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法。若分类预测时出现两个类收到同样票数的情形,则最简单的做法是随机选择一个,也可进一步考察学习器投票的置信度来确定最终胜利者。Bagging的算法描述如图 1所示。
在这里插入图片描述
为处理多分类或者回归任务,AdaBoost需进行修改。与标准AdaBoost只适用于二分类任务不同,Bagging能不经修改的用于多分类、回归等任务。

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

2.2. 随机森林算法原理

随机森林(Random Forest,简称RF)是Bagging的一个扩展变体,RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性的选择。具体而言,传统决策树在选择划分属性时是在当前结点的属性集合(假设有d个属性)中选择一个最优的属性;而在RF中,对基决策树的每个结点,先从该结点的属性集合中选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。这里的参数k控制了随机性的引入程度:若 k = d k=d k=d,则基决策树的构建与传统决策树相同;若 k = 1 k=1 k=1,则是随机选择一个属性进行划分;一般情况下,推荐 k = l o g 2 d k=log_2d k=log2d

随机森林分类(RFC)是由很多决策树分类模型 组成的组合分类模型 { h ( x , k ) , k = 1 , 2 , . . . } \{h(x,k),k=1,2,...\} { h(x,k),k=1,2,...

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随机森林是一种集成学习算法,它由多个决策树组成。每个决策树都是一个分类器,通过对输入样本进行多次随机采样和特征选择来构建。在随机森林中,每个决策树都会根据随机选择的特征和样本进行训练,并且通过投票或平均来决定最终的分类结果。 随机森林的几个重要原理如下: 1. 随机性:随机森林中引入两个随机性,分别是对样本的随机采样和对特征的随机选择。通过这两个随机性的引入,可以避免过拟合,并提高模型的泛化能力。 2. 决策树的构建:随机森林中的每个决策树都是通过对样本的随机采样和对特征的随机选择来构建的。采用随机采样可以保证每个决策树都是基于不同的样本集训练的,增加了模型的多样性。而对特征的随机选择可以避免某些特征对模型的过度依赖。 3. 集成学习随机森林通过对每个决策树的分类结果进行投票或平均来得到最终的分类结果。这样可以减少单个决策树的误差,并提高整体模型的准确性。 4. 抗噪能力:由于随机森林中的每个决策树都是基于不同的样本集和特征集训练的,因此它对噪声和缺失值具有很好的鲁棒性,对于异常值和噪声的影响相对较小。 总结起来,随机森林通过构建多个决策树,并通过集成学习的方式来提高模型的性能和鲁棒性。它具有较好的泛化能力、抗噪能力和计算效率,是一种常用的机器学习算法

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值