首页 历史故事随机森林模型的原理详解

随机森林模型的原理详解

【摘要】:另外,随机森林法可以评价各种指标的重要程度。装袋算法通过自助抽样法有效地提高了随机森林算法的准确度。Breiman在1984年提出的分类回归树是一种不稳定的学习算法,因此CART方法与装袋算法结合就形成了随机森林算法,可以提高模型预测准确率。随机森林模型中某一特征的重要性,是所有决策树得到的该特征重要性的平均值。

随机森林算法可以处理海量数据,通过对样本数据信息进行提炼和分析,进行分类或回归计算,可以有效处理多准则问题,具有较好的自适应能力。另外,随机森林法可以评价各种指标的重要程度。随机森林法随机选择特征指标进行分支,对噪声具有很好的容忍能力,计算速度快捷,方便实用(李丽,2012)。

1.随机森林算法框架

随机森林算法是通过装袋算法(Bagging)形成多个样本集,然后采用分类回归树(CART)作为元学习器生成组合分类器,最后由众数规则计算决策结果(方匡南,2011)。

装袋算法原理是:给定一种基学习器和一个原始样本集,用自助抽样法从原始样本中获得多个子训练集,利用基学习器训练多次,得到一个预测函数序列,这些预测函数序列可以组成一个预测函数,最后通过投票得到决策结果(Breiman L,1996)。装袋算法通过自助抽样法有效地提高了随机森林算法的准确度。自助抽样法具体如下:假设样本集大小为N,每棵决策树的子训练集通过随机有放回地抽取获得,每个子训练集中训练样本的个数与原始样本集的个数相同,允许子训练集的训练样本重复。因此,装袋算法有两个优点:一是随机有放回地抽取样本可以降低随机森林模型的方差,降低模型的泛化误差;二是使各决策树的子训练集各不相同,减少了决策树之间的相关性,提高了模型的整体效果。自助抽样法得到的各个子训练集之间的相关性越小,模型的泛化性能越好,越不容易过拟合(张沧生,2007)。对于装袋算法,提高模型分类准确率的前提是基学习器是否稳定。算法的不稳定性是指子训练集的较小变化能够引起分类结果的显著变化。Breiman认为,不稳定的基学习器能够提高预测的准确率,稳定的学习算法不能显著提高预测准确率,有时甚至还会降低预测准确率(Breiman L,2001)。

Breiman在1984年提出的分类回归树(CART)是一种不稳定的学习算法,因此CART方法与装袋算法结合就形成了随机森林算法,可以提高模型预测准确率。分类回归树在随机森林模型中的作用就是通过训练样本集来构建可以准确分类的算法,训练样本集的过程就是决策树生长的过程(Breiman L,2001)。简单来讲,它是一棵由根节点、内部节点和叶子节点构成的二叉树。将处于根节点的样本集自上而下地按照一定准则进行分割,逐步得到内部节点,最后得到叶子节点,叶子节点在应用研究中代表了类别种类。需要强调的是,分类回归树选择最优特征和分割节点的标准是基尼指数,基尼指数代表某一节点的不纯度,基尼指数越小,说明节点处的样本之间的差异性越小。基尼指数越大,说明节点处的样本包含的种类越多。如果基尼指数小到一定标准,该节点处的样本就可以划分为同一类,该节点不再进行分割,得到叶子节点。样本集S的基尼指数可以表示为

式中,S为某节点处样本集;Cn为样本集S中属于第n类的样本集。

样本集S在某一特征A某一取值a处进行分割的基尼指数可表示为:

式中,S为某节点处样本集,S1和S2为利用特征A处的取值a分割后的两个子样本集。

可以设置划分节点时决策树生长的停止条件来控制决策树,比如考虑的最大特征数、决策树最大深度、内部节点再划分所需样本数、叶子节点最小样本数等决策树参数。

单分类回归树的递归生长过程如下:①对每一个特征A和该特征每一个可能的取值a,根据A<=a和A>a将样本集S分割成两部分,计算样本S在特征A取值a时的基尼指数;②对所有特征和特征对应的所有可能切分值进行遍历,选择基尼指数最小的特征和特征对应的取值作为分割节点,将样本集分为两个子集;③递归地调用第①步和第②步,直到满足分类回归树的生长停止条件。分类回归树生长的停止条件包括基尼指数小于阈值、决策树深度达到设置的最大值、内部节点划分时样本个数小于设置值;④判断叶子节点的风险等级,决策树生成,不再修剪。

2.袋外数据估计与特征重要性

随机森林利用自助抽样法对样本集进行随机有放回地抽样,假设原始样本集有N个样本,则每个样本有(1-1/N)N的概率不被抽取到,如果N取无穷大,这个概率大约等于0.37,说明大概有37%的原始样本不会被抽取,这部分未被抽取到的样本称为袋外数据(out of bag,OOB),利用袋外数据评估模型误判率的过程叫做OOB估计(方匡男,2011)。

L.Breiman通过研究提出,OOB估计的模型准确率几乎等于测试与训练集同规模的测试集的准确率,意味着OOB估计的效果近似于交叉验证,而且比交叉验证快捷高效,因此随机森林一般情况下可以不对测试集进行测试(方匡男,2011)。

特征重要性表示特征对预测结果的影响程度,某一特征重要性越大,表明该特征对预测结果的影响越大,重要性越小,即该特征对预测结果的影响越小(Louppe G,2014)。通过计算特征重要性可以判断在交通事故中对事故严重程度影响较大的因子有哪些。随机森林模型中某一特征的重要性,是所有决策树得到的该特征重要性的平均值。采用树模型计算特征重要性的方法,某节点重要性为:

式中,wk、wleft、wright分别为节点k以及其左右子节点训练样本个数与总训练样本个数之比;Gk、Gleft、Gright分别为节点k以及其左右子节点的不纯度。某一特征的重要性为:

式中,m为在这个特征上切分的节点个数,N为节点总个数,最后再将特征重要性标准化。