什么是随机森林?
了解随机森林算法,以及它如何帮助您做出更明智的决策以实现业务目标
SPSS Modeler 拖放式数据科学工具 随机森林启发的神经网络
黑色和蓝色背景
什么是随机森林?

随机森林是一种常用的机器学习算法,由 Leo Breiman 和 Adele Cutler 注册为商标,这种算法会整合多个决策树的输出以生成单一结果。 它灵活易用,既可以处理分类问题,也可以处理回归问题,这些都推动着人们对它的采用。

决策树

由于随机森林模型由多个决策树组成,因此从简要描述决策树算法开始了解随机森林会很有帮助。 决策树以一个基本问题开始,例如,“我应该去冲浪吗?” 您之后可以问一系列问题来确定答案,例如,“海浪涌动的时间很长吗?” 或者“风是吹向海面的吗?”。 这些问题构成决策树中的决策节点,是一种拆分数据的方法。 每个问题都有助于个人做出最终决定,最终决定将由叶节点表示。 符合条件的观测值将进入“是”分支,而不符合条件的观测值将进入备用路径。  决策树旨在找到最佳拆分以形成数据子集,通常会通过分类和回归树 (CART) 算法对其进行训练。 基尼不纯度、信息增益或均方误差 (MSE) 等指标可用于评估拆分的质量。  

该决策树是分类问题的一个示例,其中分类标签为“冲浪”和“不冲浪”。

虽然决策树是常见的监督学习算法,但它们容易出现偏差和过拟合等问题。 然而,当多个决策树在随机森林算法中形成一个整体时,它们预测的结果就会更加准确,各决策树彼此互不相关时尤为如此。

集成方法

集成学习方法由一组分类器(例如决策树)组成,会收集它们的预测结果,识别出现频率最高的结果。 最广为人知的集成方法是 Bagging(又称“引导聚集算法”)和 Boosting。 1996 年,Leo Breiman(链接位于 ibm.com 外部)(PDF, 810 KB) 提出 Bagging 算法;在这种方法中,用替换法来选择训练集中的随机数据样本,这意味着可多次选择单个数据点。 在生成多个数据样本后,将单独训练这些模型,并且根据任务类型(如回归或分类),这些预测的平均值或多数值会产生更准确的估计值。 这种方法通常用于降低噪声数据集中的方差。

随机森林算法

随机森林算法是 Bagging 方法的扩展,它利用 Bagging 和特征随机性来创建一个不相关的决策树森林。 特征随机性也称为特征 Bagging 或“随机子空间方法”(链接位于 ibm.com 外部)(PDF, 121 KB),可生成随机的特征子集,确保决策树之间的相关性较低。 这是决策树和随机森林之间的关键区别。 虽然决策树会考虑所有可能的特征拆分,但随机森林仅选择这些特征的子集。

如果我们回到“我应该去冲浪吗?” 这个例子,我为了确定预测结果而提出的问题可能不如其他人的问题集全面。 通过考虑数据中可能存在的所有易变性,我们可以降低过拟合、偏差和总体方差的风险,最终实现更准确的预测。

特色产品

SPSS Modeler

工作方式

随机森林算法有三个主要的超参数,需要在训练之前进行设置。 它们是节点大小、树的数量和采样的特征数量。 之后,可以使用随机森林分类器来解决回归或分类问题。

随机森林算法由一些决策树组合而成,组合中的每个决策树都由从带有替换的训练集中提取的数据样本组成,称为自助样本。 在该训练样本中,有三分之一被留作测试数据,称为袋外 (oob) 样本,我们稍后会讨论这一点。 然后通过特征 Bagging 添加另一个随机性实例,为数据集添加更多多样性,并降低决策树之间的相关性。 问题类型不同,预测的确定方法也有所不同。 对于回归问题,将对单个决策树取平均值,而对于分类问题,投票次数最多的类别(即最常见的类别变量)将确定为预测类别。 最后,将 oob 样本用于交叉验证,最终确定预测结果。

随机森林存在的优势和面临的挑战

随机森林算法在用于解决分类或回归问题时具有许多重要优势,但也面临一些挑战。 其中包括:

主要优势

  • 降低了过拟合风险:决策树倾向于紧密拟合训练数据中的所有样本,因此面临过拟合风险。  但是,当随机森林中存在大量决策树时,不相关的决策树产生的平均值会降低总体方差和预测误差,因此分类器不会过拟合模型。
  • 提供灵活性:随机森林能够以较高的准确度处理回归和分类任务,它是数据科学家常用的方法。  特征 Bagging 可在缺少部分数据时仍然保持准确性,随机森林分类器因此也成为预测缺失值的有效工具。
  • 便于确定特征的重要性:随机森林可以轻松评估变量对模型的重要性或贡献。  可使用几种方法来评估特征的重要性。 基尼重要性和平均不纯度减少 (MDI) 常用于衡量排除给定变量时模型准确度的降低程度。 此外,排列重要性(又称平均精度下降 (MDA))也是一种衡量重要性的方法。 MDA 通过随机排列 oob 样本中的特征值来识别准确度的平均降低程度。

主要挑战

  • 过程耗时:随机森林算法可以处理大型数据集,可以提供更准确的预测,但由于需要计算每个决策树的数据,因此数据处理速度可能会很慢。
  • 需要更多资源:由于随机森林处理的数据集规模较大,因此需要更多的资源来存储数据。
  • 较为复杂:与决策树森林相比,单个决策树的预测更容易理解。
随机森林的应用

随机森林算法已应用于许多行业,帮助做出更明智的业务决策。 一些用例包括:

  • 金融行业:随机森林是该行业的首选算法,因为它可以减少数据管理和预处理任务的时间。 它可用于评估具有高信用风险的客户,检测欺诈和期权定价问题。
  • 医疗保健:随机森林算法应用于计算生物学(链接位于 ibm.com 外部)(PDF, 737 KB),支持医生解决基因表达分类、生物标志物发现和序列注释等问题。 最终,医生可以预测特定药物的药物反应。
  • 电子商务:随机森林可用于推荐引擎,实现交叉销售的目的。
相关解决方案
SPSS® Modeler

IBM SPSS® Modeler 可提供预测性分析来帮助您发现数据模式、保证预测准确性并改善决策。

探索 SPSS Modeler
资源 IBM SPSS® Modeler 拖放式数据科学工具

了解全球组织如何将 SPSS® Modeler 用于数据准备与发现、预测分析、模型管理和部署以及机器学习,让数据资产实现经济效益。

随机森林启发的神经网络

了解精心设计的具有随机森林结构的神经网络如何提供更好的泛化能力。

采取下一步行动

IBM SPSS® Modeler 是一组数据挖掘工具,可用于开发预测模型,以将其部署至业务运营中。 IBM SPSS® Modeler 围绕行业标准 CRISP-DM 模型进行设计,支持从数据处理到完善业务成果的整个数据挖掘过程。

立即试用 IBM SPSS® Modeler