首页 理论教育随机森林:提高预测精度的稳健算法

随机森林:提高预测精度的稳健算法

【摘要】:随机森林在运算量没有显著提高的前提下提高了预测精度。随机森林对多元共线性不敏感,结果对缺失数据和非平衡的数据比较稳健,可以很好地预测多达几千个解释变量的作用,被誉为当前最好的算法之一。随机森林是一个树型分类器的集合。随机森林在建立模型以及进行预测的具体步骤如图6-8所示。图6-8随机森林建模预测步骤①用N表示原始训练集样本的个数,用M表示变量的数目。这也是随机森林的一个非常重要的优点和特点。

在当今的现实生活中存在着很多种微信息量的数据,如何采集这些数据中的信息并进行利用,成为了数据分析领域里一个新的研究热点。机器学习方法是处理这样的数据的理想工具。随机森林以它自身固有的特点和优良的分类效果在众多的机器学习算法中脱颖而出。随机森林算法的实质是基于决策树分类器集成算法,其中每一棵树都依赖于一个随机向量,森林中的所有的向量都是独立同分布的。

随机森林是一种比较新的机器学习模型。经典的机器学习模型是神经网络,神经网络预测精确,但是计算量很大。20世纪80年代,Breiman等人发明分类树的算法,通过反复二分数据进行分类或回归,计算量大大降低。2001年,Breiman把分类树组合成随机森林,即在变量(列)的使用和数据(行)的使用上进行随机化,生成很多分类树,再汇总分类树的结果。

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

随机森林是一个树型分类器的集合。其中元分类器是用CART算法构建的没有剪枝的分类决策树;森林的输出采用简单多数投票法,或者是单棵树输出结果的简单平均得到。其中简单集成分类回归树多数投票法主要针对分类模型,单棵树输出结果的简单平均主要针对回归模型。

随机森林是通过自助法(boot-strap)重采样技术,从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练集样本集合,然后根据自助样本集生成k个决策树组成的随机森林,新数据的分类结果按决策树投票多少形成的分数而定。随机森林的实质是对决策树算法的一种改进,将多个决策树合并在一起,每棵树的建立依赖于一个独立抽取的样本,森林中的每棵树具有相同的分布,分类误差取决于每一棵决策树的分类能力和它们之间的相关性。特征选择采用随机的方法去分裂每一个节点,然后比较不同情况下产生的误差,能够监测到内在估计误差、分类能力和相关性决定选择特征的数目。单棵决策树的分类能力可能很小,但在随机产生大量的决策树后,一个测试样本可以通过每一棵树的分类结果经统计后选择最可能的分类。

随机森林其实可以通俗地理解为由许多棵决策树组成的森林,而每个样本需要经过每棵树进行预测,然后根据所有决策树的预测结果最后确定整个随机森林的预测结果。随机森林中的每一棵决策树都为二叉树,其生成遵循自顶向下的递归分裂原则,即从根节点开始依次对训练集进行划分。在二叉树中,根节点包含全部训练数据,按照节点不纯度最小原则,分裂为左节点和右节点,它们分别包含训练数据的一个子集,按照同样的规则,节点继续分裂,直到满足分支停止规则而停止生长。

随机森林在建立模型以及进行预测的具体步骤如图6-8所示。

图6-8 随机森林建模预测步骤

①用N表示原始训练集样本的个数,用M表示变量的数目。

②需要确定一个定值m,该值被用来决定当在一个节点上做决定时会使用到多少个变量,确定时需要注意m应小于M。

③应用自助法有放回地随机抽取k个新的自助样本集,并由此构建k棵决策树,每次未被抽到的样本组成了k个袋外数据(out-of-bag,OOB)

④每个自助样本集生长为单棵决策树。在数的每个节点处从M个特征中随机挑选m个特征(m小于M),按照节点不纯度最小的原则从这m个特征中选出一个特征进行分支生长。这棵决策树进行充分生长,使每个节点的不纯度达到最小,不进行通常的剪枝操作。

⑤根据生成的多个决策树分类器对需要进行预测的数据进行预测,根据每棵决策树的投票结果取票数最高的一个类别。

在随机森林的构建过程中,自助样本集用于每一个树分类器的形成,每次抽样生成的OOB被用来预测分类的正确率,对每次预测结果进行汇总得到错误率的OOB估计,然后评估组合分类的正确率。此外,在随机森林中,生成每一棵决策树时,所应用的自助样本集从原始的训练样本集中随机选取,每一棵决策树所应用的变量也是从所有变量M中随机选取,随机森林通过在每个节点处随机选择特征进行分支,最小化了各棵决策树之间的相关性,提高了分类精确度。因为每棵树的生长很快,所以随机森林的分类速度很快,并且很容易实现并行化。这也是随机森林的一个非常重要的优点和特点。

随机森林分类性能的主要因素如下:

①森林中单棵树的分类强度——在随机森林中,每一棵决策树的分类强度越大,即每棵树枝叶越茂盛,则整体随机森林的分类性能越好;

②森林中树之间的相关度——在随机森林中,树与树之间的相关度越大,即树与树之间的枝叶相互穿插越多,则随机森林的分类性能越差。

随机森林的两个重要参数如下:

①树节点预选的变量个数;

②随机森林中树的个数。

以上两个参数是在构建随机森林模型过程中的两个重要参数,这也是决定随机森林预测能力的两个重要参数,其中第一个参数决定了单棵决策树的情况,而第二个参数决定了整片随机森林的总体规模。换言之,上述两个参数分别从随机森林的微观和宏观层面上决定了整片随机森林的构造。