什么是随机森林?

作者

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

什么是随机森林?

随机森林是一种常用的机器学习算法,整合多个决策树的输出得出单一结果,该算法已由 Leo Breiman 和 Adele Cutler 注册为商标。随机森林灵活易用,既能处理分类问题也能处理回归问题,因此推动了人们对它的采用。

决策树

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

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

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

集成方法

集成学习方法由一组分类器(例如决策树)组成,会汇总它们的预测结果,识别出现频率最高的结果。最著名的集成方法是装袋法(又称自助法聚合)和提升法。1996 年, Leo Breiman 提出了装袋方法;在此方法中,用替换法来选择训练集中的随机数据样本,这意味着可多次选择单个数据点。在生成多个数据样本后,将单独训练这些模型,根据任务类型(如回归或分类),这些预测一般或大多数都会产生更准确的估计值。此方法通常用于减少噪声数据集中的方差。

随机森林算法

随机森林算法是装袋方法的延伸,因为它会同时使用装袋和特征随机性来创建一个不相关的决策树森林。特征随机性也称为特征组合或“随机子空间方法”,它会生成一个随机特征子集,从而确保各决策树之间的相关性较低。这是决策树与随机森林之间的关键区别。虽然决策树会考虑所有潜在的特征分裂,但随机森林只会选择这些特征的子集。

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

随机森林工作原理

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

随机森林算法由一组决策树组成,集成中的每个决策树都由使用替换法从训练集中抽取的数据样本组成,这些样本称为自助样本。在该训练样本中,有三分之一被留作测试数据,称为袋外 (oob) 样本,我们稍后会对其进行介绍。然后,通过 feature bagging 添加另一个随机性实例,从而增加数据集的多样性并降低决策树之间的相关性。问题的类型不同,最终预测的确定方法也会有所不同。对于回归任务,将取各决策树的平均值,而对于分类任务,将根据多数票(即,出现频率最高的分类变量)产生预测类。最后,使用 oob 样本进行交叉验证,最终确定该预测。

随机森林示意图

随机森林的优点和挑战

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

主要优点

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

关键挑战

  • 过程耗时:随机森林算法可以处理大型数据集,因此提供的预测更准确,但是由于需要计算每个决策树的数据,也导致数据处理速度缓慢。
  • 需要更多资源:由于随机森林处理的数据集更大,因此需要更多的资源来存储这些数据。
  • 更复杂:与决策树森林相比,单个决策树的预测更容易解读。
AI 学院

让 AI 服务于客户服务

了解生成式 AI 如何提供更加无缝、令人满意的客户体验,并在以下三个关键领域提高组织的工作效率:自助服务、人工客服和联络中心运营。

随机森林的应用

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

  • 金融行业:随机森林优于其他算法之处在于,利用随机森林可以减少数据管理和预处理任务所需的时间。可以用其评估信用风险高的客户、检测欺诈行为和期权定价问题。
  • 医疗保健: 随机森林算法已经应用于计算生物学 ,可帮助医生解决基因表达分类、生物标志物发现和序列注释等问题。因此,医生可以预估特定药品的药物反应。
  • 电子商务:随机森林算法可用于推荐引擎,实现交叉销售目的。
相关解决方案
IBM watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。

深入了解 AI 解决方案
AI 咨询与服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

深入了解 watsonx.ai 预约实时演示