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

随机森林是一种集成学习方法,通过构建多棵决策树并结合其结果来提高预测精度。它引入了随机性,包括随机样本采样和随机特征选择,以降低过拟合风险。随机森林的OOB(Out-Of-Bag)估计提供了一种无偏且高效的误差评估方式。此算法在处理高维数据和避免过拟合方面表现出色,但可能在某些噪声大的问题上过拟合,且对取值较多的特征过于重视。
摘要由CSDN通过智能技术生成

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,...},且参数集 { k } \{k\} { k}是独立同分布的随机向量,在给定自变量x下,每个决策树分类模型都由一票投票权来选择最优的分类结果。RFC的基本思想是:首先,利用bootstrap抽样从原始训练集中抽取k个样本,且每个样本的样本容量都与原始训练集一样;其次,对k个样本分别建立k个决策树模型,得到k种分类结果;最后,根据k种分类结果对每个记录进行投票决定其最终分类,详见图 2所示。
在这里插入图片描述
RF通过构造不同的训练集增加分类模型间的差异,从而提高组合分类模型的外推预测能力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值