探索集成学习及其在 AI 和 ML 中的作用
了解集成学习如何通过装袋、提升和堆叠等技术提升 AI 模型性能,带来更准确、更稳定的预测。
Abirami Vina11 分钟阅读
如需直观了解本文介绍的概念,请观看下方视频。
推荐引擎和欺诈检测系统等 AI 创新依靠机器学习算法和模型,根据数据进行预测和决策。这些模型可以识别模式、预测趋势,并帮助自动执行复杂任务。
然而,单个模型可能难以捕捉真实世界数据中的所有细节。模型可能在某些情况下表现良好,却在其他情况下效果不佳,例如欺诈检测模型可能会漏掉新类型的交易。
AI 工程师在构建和部署机器学习模型时经常会遇到这一局限。有些模型会过拟合,过度学习训练数据;另一些则会因遗漏重要模式而欠拟合。集成学习是一种AI 技术,它将多个模型(称为基学习器)组合成一个更强大的系统,从而帮助应对这些挑战。
你可以把它想成一群专家协作解决问题。本文将介绍集成学习是什么、如何运作,以及它的应用场景。
什么是集成学习?#
集成学习是一系列将多个模型组合起来解决同一问题并输出单一改进结果的技术。它既可用于监督学习(模型从带标签的数据中学习),也可用于无监督学习(模型从无标签的数据中寻找模式)。
集成学习不会依赖单个模型进行预测,而是使用多个模型,让每个模型以自己的方式分析数据。将这些模型的输出组合起来后,结果通常比任何单个模型独立实现的结果更准确、更稳定,也更具泛化能力。
你可以把它比作一组分析师共同处理同一个问题。每位分析师或单个模型对数据的理解都不相同。
一个可能关注模式,另一个关注异常,还有一个关注上下文。汇集这些不同视角后,这个团队就能做出比任何个人判断都更全面、更可靠的决定。
这种方法还有助于应对机器学习中两大挑战:偏差和方差。偏差较高的模型过于简单,会忽略重要模式;而方差较高的模型则过于敏感,过度拟合训练数据。集成学习通过组合模型,在两者之间取得平衡,从而提升系统在新数据和未见数据上的表现。
了解集成学习的工作原理#
集成中的每个模型都称为基学习器或基模型。根据所用的集成技术,这些模型可以是同一种算法,也可以是不同算法的组合。
以下是集成学习中使用的不同模型的一些常见示例:
- 决策树:这类模型根据特征值将数据划分为不同分支,以便作出决策。例如,在预测客户是否会购买某种产品这类分类问题中,决策树会考量年龄、收入和浏览历史等因素。
- 神经网络:神经网络的设计灵感来自人脑处理信息的方式,是大多数现代 AI 和机器学习模型的基础架构。
- 支持向量机(SVMs):这类算法通过寻找最佳决策边界(称为超平面)对数据进行分类,该超平面能够最大化不同类别之间的间隔。换句话说,SVM 会绘制出最佳分界线,在区分不同组别的同时,使组别之间的间隔最大。例如,它可以根据词频和结构等模式判断一封邮件是否为垃圾邮件。
- 逻辑回归模型:这类模型用于估算概率,常用于二分类任务。一个典型示例是预测某笔交易属于欺诈交易还是合法交易。
组合后的模型集成通常称为强学习器,因为它融合了基学习器(也称为弱模型)的优势,同时尽量减少其弱点。它会以结构化的方式组合每个模型的预测:分类任务采用多数投票,回归任务采用加权平均,从而得出更准确的最终结果。

图 1. 集成学习示例(来源)
何时使用集成学习#
在深入了解各种集成学习技术之前,我们先退一步,了解在机器学习或 AI 项目中何时应该采用这种方法。
当单个模型难以作出准确或稳定的预测时,集成学习的效果最为显著。当数据复杂、噪声较多或难以预测时,也可以使用集成学习。
以下是集成方法特别有效的一些常见场景:
- 模型准确率低:当单个模型的预测不够可靠时,组合多个模型可以显著提高准确率和性能。例如,在信用评分或医学诊断中,预测准确率哪怕只有小幅提升,也可能带来很大影响。
- 数据噪声大或不一致:如果数据集中包含异常值、错误或随机波动,集成学习可以通过对多个模型的结果取平均或投票,平滑这些不规则情况。
- 需要鲁棒性:集成模型对数据的微小变化不太敏感,因此在生产环境中更加稳定可靠;真实世界的输入数据可能会有所不同。
- 复杂的预测任务:在图像识别、欺诈检测或时间序列预测等任务中,集成模型能够捕捉比单个模型更多样的模式和关系。
不过,如果单个模型已经表现良好,通常选择单个模型更合适:它训练起来更简单、更容易解释,也更易于维护。使用集成模型之前,重要的是权衡精度提升所带来的收益,以及它需要额外投入的时间、计算能力和复杂度。
集成学习技术概览#
接下来,我们来看看集成学习在机器学习项目中的主要应用方式。组合模型的核心技术有多种,每种都能以自己的方式提升性能。最常见的集成方法包括装袋、提升、堆叠和混合。
装袋#
装袋是自助聚合(bootstrap aggregating)的简称,是一种集成学习方法。它通过在数据的不同部分上训练同一模型的多个版本,帮助提高模型的稳定性和准确率。
每个子集都通过一种称为自助采样的过程创建:随机抽取数据点并进行有放回采样。这意味着选中一个数据点后,会先将其放回数据池,再抽取下一个点,因此同一个点可能被选中多次,而其他点可能一次也不会被选中。这种随机性确保每个模型都在略有不同的数据集版本上进行训练。
推理时,所有训练好的模型会并行运行,对新的、未见过的数据进行预测。每个模型都根据所学内容生成自己的输出,然后将这些单独的预测组合起来,形成最终结果。
对于回归任务(例如预测房价或销售额),通常会对所有模型的输出取平均值,以获得更平滑的估计结果。对于分类任务(例如判断一笔交易是否为欺诈交易),集成模型通常会通过多数投票来确定最终类别。
装袋的实际应用:随机森林算法#
决策树就是装袋效果良好的一个例子,因为决策树在单个数据集上训练时很容易过拟合。通过在略有不同的样本上训练多棵树并组合其结果,装袋可以减少过拟合并提高可靠性。
以随机森林算法为例。它由多棵决策树组成,每棵树都在训练数据集的随机子集以及特征的随机子集上进行训练。
特征随机性有助于降低树之间的相关性,使整体模型更加稳定、准确。随机森林算法可用于图像分类、欺诈检测、客户流失预测、销售预测或房产价格估算。

图 2. 随机森林算法一览(来源)
提升#
提升是另一种集成学习技术,它通过依次训练模型,而不是并行训练,来改进弱学习器(模型)。提升的核心思想是,每个新模型都会从先前模型的错误中学习,逐步改进整体模型性能。
装袋通过对独立模型的结果取平均来降低方差,而提升则通过让每个新模型更加关注先前模型难以处理的困难案例来降低偏差。
由于提升模型是按顺序训练的,最终组合这些模型预测结果的方式与其他集成方法略有不同。每个模型对最终预测的贡献取决于其训练期间的表现,准确度更高的模型会获得更大的权重。
对于回归任务,最终结果通常是所有模型预测值的加权和。对于分类任务,算法会组合各模型的加权投票,以确定最终类别。这种方法会提高准确模型的权重,同时也从其他模型中学习,从而帮助提升算法构建出整体更强的模型。
以下是一些常见的提升算法:
- AdaBoost(自适应提升):这种方法首先训练一个简单模型,例如一棵小型决策树,然后提高被错误分类的数据点的权重。下一模型会因此更加关注这些难以处理的样本。经过多轮迭代,模型逐步相互改进,其预测结果组合后会更强、更准确。例如,AdaBoost 可以提高垃圾邮件检测或人脸识别的准确率。
- 梯度提升:梯度提升不会重新调整样本权重,而是训练每个新模型来纠正先前模型产生的残差误差,即实际值与预测值之间的差异。这种迭代方法适用于回归和分类任务,例如销售预测和信用评分。
- XGBoost(极端梯度提升):这是梯度提升的一种高级实现,能够同时提高速度和精度。它采用正则化,在训练过程中对过于复杂的模型施加轻微惩罚,让模型关注有意义的模式,而不是死记数据。尽管模型仍按顺序训练,XGBoost 会在构建树时使用并行化来加快流程。它可以同时在多个 CPU 核心上评估许多可能的分割点。这样一来,训练速度会大幅提升,尤其是在处理大型数据集时,同时还能保持出色的预测性能。

图 3. 使用提升方法训练的基于决策树(DTB)的糖尿病风险预测分类器示例。(来源)
堆叠#
堆叠也称为堆叠泛化,它更进一步:将多个模型的预测结果作为最终模型(称为元学习器)的输入。你可以把它想象成一群专家各自分享观点,然后由最终决策者学习如何权衡这些观点,从而作出尽可能最佳的判断。
例如,一个模型可能擅长发现欺诈,而另一个模型可能更擅长预测客户流失。元学习器会研究每个模型的表现,并综合利用它们的优势,做出更准确的最终预测。
融合#
Blending 与 stacking 的工作方式类似,因为它同样会结合多个模型的预测结果来做出最终判断,但方法更简单、速度更快。与 stacking 使用的交叉验证(一种将数据拆分成多个部分,并在训练和测试中轮换使用这些部分以提高模型可靠性的方法)不同,blending 会留出一小部分数据,称为留出集。
基础模型使用剩余数据进行训练,然后对它们之前未见过的留出集进行预测。由此会得到两项关键信息:实际答案,也就是真实标签,以及每个基础模型所做的预测。
随后,这些预测会传递给另一个模型,也就是融合模型或元模型。这个最终模型会研究每个基础模型预测的准确程度,并学习如何以尽可能好的方式将它们组合起来。
由于融合只依赖一次训练集与测试集拆分,而不是多次重复这一过程,因此运行速度更快,也更容易设置。代价是可供学习的信息略少,因此精确度可能稍低。
集成算法的评估#
集成学习的一个重要环节,是评估模型在此前未见过的数据上的表现。无论技术多么先进,都必须经过测试,以确保模型具备泛化能力,也就是说,模型应该能对新的真实场景样本做出准确预测,而不是只记住训练数据。
以下是评估 AI 模型时常用的一些性能指标:
- 准确率:该指标衡量模型所有预测中正确预测所占的比例,可快速概览模型的整体表现。
- 精确率:它表示被预测为正类的样本中,实际为正类的样本有多少。精确率高意味着模型产生的假阳性错误较少。
- 召回率:该指标关注实际为正类的样本中,有多少被模型正确识别。在医疗等领域,召回率尤为重要,因为漏掉一个正类样本(例如疾病诊断)可能会造成严重后果。
集成学习的实际应用#
到目前为止,我们已经了解了集成学习的工作原理及其背后的技术。现在来看看这种方法在哪些领域发挥着作用。
以下是集成学习常见的一些应用领域:
- 数据分析与预测:在商业和分析领域,集成模型通过整合多个模型的洞见,帮助组织做出更好的预测。这能带来更准确的销售预测、更明智的需求规划,以及对客户行为更清晰的认识。
- 二元分类:垃圾邮件检测、欺诈防范和医疗诊断等任务,通常需要在两种可能的结果之间做出区分。集成模型有助于减少假阳性和假阴性,这在网络安全和医疗保健等领域尤其重要。
- 回归问题:在预测房价、销售收入或信用风险等连续值时,集成方法能够捕捉数据中的复杂关系。这会带来更精确的预测,支持更好的财务和运营决策。
通过集成学习处理结构化数据以外的数据#
集成学习最常用于结构化数据或表格数据,例如包含数值或类别信息的电子表格,但它也可用于文本、图像、音频和视频等非结构化数据。
这些数据类型更复杂,也更难供模型解读,但集成方法有助于提高准确性和可靠性。例如,在计算机视觉中,集成模型可以提升图像分类和目标检测等任务的表现。
通过结合多个视觉模型(例如卷积神经网络 (CNNs))的预测,系统可以更准确地识别物体,并处理可能让单个模型困惑的光照、角度或背景变化。
浅谈 Ultralytics YOLOv5 模型集成#
在计算机视觉中应用集成学习的一个有趣例子,是工程师通过组合多个目标检测模型来提高准确性。想象一位工程师正在为建筑工地开发安全监控系统,而工地的光照、角度和物体尺寸总是在变化。
单个模型可能会漏掉阴影中的工人,或把移动中的机械设备识别错。使用各有所长的多个模型组成集成模型后,系统会更加可靠,也更不容易出现这些错误。
尤其是像 Ultralytics YOLOv5 这样的模型,非常适合进行模型集成。工程师可以组合不同的 YOLOv5 变体,例如 YOLOv5x 和 YOLOv5l6,让它们协同进行预测。每个模型都会分析同一张图像并生成自己的检测结果,随后对这些结果取平均值,从而得到更强、更准确的最终结果。

图 4. 使用 YOLOv5 检测图像中的物体。(来源)
集成学习的优缺点#
以下是使用集成学习的一些主要优势:
- 对噪声数据的鲁棒性:由于集成模型依赖多个模型,因此受数据集中的离群值或随机噪声影响较小。
- 更强的泛化能力:集成模型能减少过拟合,帮助模型在未见过的数据上表现良好,而不是只记住训练样本。
- 适用于不同算法:你可以组合不同类型的模型,例如决策树、神经网络和线性模型,利用它们各自独特的优势。
集成学习有诸多优势,但也有一些需要考虑的挑战。以下是一些值得注意的因素:
- 更高的计算成本:训练和维护多个模型比单个模型需要更多内存、算力和时间。
- 可解释性较低:由于最终输出是多个模型组合的结果,因此很难理解某个决策为何做出。不过,这取决于所用的模型,因为使用决策树或支持向量机等可解释模型时,通常更容易理解结果。
- 集成设计注意事项:构建集成模型需要选择合适的模型组合,并确保它们能够良好协作。不过,在某些情况下,设计过程也可能更简单,因为你不需要为每个独立模型微调超参数。
要点#
集成学习表明,组合多个模型可以让 AI 系统更准确、更可靠。它有助于减少错误,并提升不同类型任务的表现。随着机器学习和 AI 持续发展,这类技术正推动 AI 解决方案得到更广泛的应用,并变得更实用、性能更出色。
加入不断壮大的社区并访问我们的 GitHub 仓库,深入了解视觉 AI。浏览我们的解决方案页面,了解计算机视觉在农业中的应用和物流领域的 AI 应用。查看我们的许可选项,立即开始构建你自己的计算机视觉模型!
作者
评论
提出问题、分享你的结果,或帮助其他人。










