用最简单的术语解释集成学习

集成学习是一种强大的技术,它通过整合多个模型的决策,帮助我们做出更明智的选择,并应对许多现实挑战。

机器学习(ML)的应用领域持续拓展,触及金融、医疗、应用开发和安全等诸多行业。

有效训练机器学习模型是提升工作效率和业务成功的关键,而实现这一目标的方法多种多样。

本文将深入探讨集成学习的概念、重要性、应用场景以及相关技术。

请继续阅读,了解更多详细信息!

什么是集成学习?

在机器学习和统计学中,“集成”指的是运用通用基础学习器生成多样化假设的方法。

集成学习是一种机器学习策略,它有目的地创建多个模型(例如专家或分类器),并将它们结合起来,以解决复杂的计算问题或做出更精准的预测。

这种方法旨在提升模型的预测能力、函数逼近能力以及分类性能。它还有助于降低因选择次优模型而导致的风险。为了提高预测的准确性,采用了多种学习算法。

机器学习中集成学习的重要性

机器学习模型可能受到偏差、方差和噪声等多种因素的影响,从而导致错误。集成学习有助于减少这些误差来源,确保机器学习算法的稳定性和准确性。

以下是集成学习在各种场景下得到广泛应用的原因:

选择合适的分类器

集成学习可以辅助我们选择更优秀的模型或分类器,同时降低因模型选择不当而带来的潜在风险。

不同的问题需要使用不同类型的分类器,例如支持向量机(SVM)、多层感知器(MLP)、朴素贝叶斯分类器和决策树等。此外,针对不同的问题,我们需要选择相应的分类算法实现。不同的训练数据也会导致不同的模型性能。

然而,与其只选择一个模型,不如采用集成学习的方法,将所有模型的输出结合起来,从而有效避免选择次优模型的风险。

数据量

当提供给机器学习方法和模型的数据量不足或过大时,模型的表现往往会受到影响。

然而,集成学习可以在数据量不足或过多的情况下均表现良好。

  • 当数据量不足时,可以通过引导法(bootstrapping)生成不同的自助数据样本来训练多个分类器。
  • 当数据量过大时,训练单个分类器可能会变得具有挑战性。此时,可以将数据策略性地划分为更小的子集。

复杂性

单个分类器可能难以解决某些高度复杂的问题。它们可能难以划分不同类别数据的决策边界。如果将线性分类器应用于非线性复杂的边界,模型将无法有效学习。

然而,通过适当组合一系列合适的线性分类器,可以让模型学习给定的非线性边界。分类器会将数据分割成许多易于学习的较小区域,每个分类器只需学习一个更简单的区域。接下来,将组合不同的分类器以生成最终的决策边界。

置信度估计

在集成学习中,系统决策的置信度可以通过投票机制来评估。假设我们有一组针对特定问题训练的分类器。如果大多数分类器都认同某个决策,那么该决策的整体置信度会较高。

相反,如果一半的分类器不同意某个决策,则称其为低置信度决策。

然而,高或低置信度并不总是意味着决策是正确的。但是,如果对集成进行适当的训练,那么做出高置信度正确决策的可能性会大大增加。

数据融合的准确性

策略性地组合来自多个来源的数据,可以提高分类决策的准确性。这种准确性通常高于仅依赖于单一数据来源的决策。

集成学习如何工作?

集成学习采用不同分类器学习到的多个映射函数,然后将它们组合起来,创建一个综合的映射函数。

以下是集成学习工作原理的一个示例:

示例:假设您正在开发一款基于食品的应用程序,为了提供高质量的用户体验,您需要收集用户对他们遇到的问题、漏洞和错误的反馈。

为此,您可以向家人、朋友和同事征求意见,了解他们对在线订餐和食品选择的看法。您还可以发布测试版应用程序,以便收集无偏见的实时反馈。

在这里,您实际上是在考虑来自不同人群的多种想法和意见,以改进用户体验。

集成学习及其模型的工作原理与之类似。它使用一组模型并将它们组合起来,从而产生最终输出,以提高预测的准确性和性能。

基本的集成学习技术

#1。 模式

“模式”是指数据集中出现频率最高的值。在集成学习中,机器学习专家使用多个模型来预测每个数据点。这些预测可以被视为个人投票,其中大多数模型做出的预测被视为最终预测。这种方法主要用于分类问题。

示例:如果四个人给您的应用程序打了 4 分,而其中一个人打了 3 分,那么模式将为 4,因为这是出现次数最多的分数。

#2。 平均值/均值

在这种技术中,专家会考虑所有模型的预测,并计算它们的平均值,从而得出最终预测。这种方法主要用于回归问题的预测,以及计算分类问题的概率等。

示例:在上面的例子中,如果四个人给您的应用程序打了 4 分,而一个人打了 3 分,则平均数将是 (4+4+4+4+3)/5 = 3.8。

#3。 加权平均

在这种集成学习方法中,专家会为不同的模型分配不同的权重,以进行预测。分配的权重反映了每个模型的相关性。

示例:假设有 5 个人提供了对您的应用程序的反馈。其中,3 人是应用程序开发人员,而另外 2 人没有任何应用程序开发经验。因此,这 3 个应用程序开发人员的反馈将比其余 2 个人的反馈获得更高的权重。

高级集成学习技术

#1。 装袋(Bagging)

装袋(Bootstrap AGGregatING)是一种直观且简单的集成学习技术,它具有良好的性能。顾名思义,它是“Bootstrap”(引导)和“Aggregating”(聚合)这两个术语的组合。

引导法(Bootstrapping)是一种重采样方法,用于创建从原始数据集中抽取的多个观察值子集,并进行替换。子集的大小与原始数据集的大小相同。

资料来源:越野车程序员

在装袋中,使用子集或“袋”来了解完整数据集的分布。然而,子集的大小可能小于原始数据集。此方法涉及单个机器学习算法。将不同模型的结果组合起来旨在获得一个通用的结果。

装袋的工作原理如下:

  • 从原始数据集中生成多个子集,通过替换选择观察结果。这些子集用于训练模型或决策树。
  • 为每个子集创建一个弱模型或基础模型。这些模型相互独立,并行运行。
  • 最终预测将通过组合来自每个模型的预测,例如采用平均或投票等统计方法来生成。

这种集成技术中常用的算法包括:

  • 随机森林
  • 装袋决策树

这种方法的优点在于它可以有效地减少决策树中的方差误差。

#2。 堆叠(Stacking)

图片来源:OpenGenus IQ

在堆叠或堆叠泛化中,使用不同模型(如决策树)的预测来创建新模型,以对测试集进行预测。

堆叠与装袋类似,涉及为训练模型创建自助数据子集。然而,在堆叠中,模型的输出被作为输入馈送到另一个分类器,通常被称为元分类器,用于生成最终预测。

使用两个分类器层的原因是为了确定训练数据集是否被充分学习。虽然双层方法很常见,但也可以使用更多层。

例如,您可以在第一层(level-1)中使用 3-5 个模型,在第二层(level-2)中使用单个模型。后者将结合第一层中获得的预测,以生成最终的预测。

此外,您可以使用任何机器学习模型来聚合预测,例如线性回归、逻辑回归等线性模型。

堆叠中常用的机器学习算法包括:

  • 混合
  • 超级集成
  • 堆叠模型

注意:混合使用训练数据集中的验证集或保留集进行预测。与堆叠不同,混合只根据保留值进行预测。

#3。 提升(Boosting)

提升是一种迭代的集成学习方法,它可以根据先前或最近的分类调整特定观察的权重。这意味着每个后续模型旨在纠正先前模型中出现的错误。

如果某个观察结果没有被正确分类,则提升会增加该观察结果的权重。

在提升中,专家首先训练第一个算法,对完整的数据集进行提升。接下来,他们使用从先前的提升算法中提取的残差来构建后续的机器学习算法。因此,提升会给予先前模型预测中出错的观察结果更高的权重。

以下是提升的工作步骤:

  • 从原始数据集中生成一个子集。每个数据点最初都具有相同的权重。
  • 在子集上创建基础模型。
  • 在完整的数据集上进行预测。
  • 使用实际值和预测值,计算误差。
  • 将为错误预测的观察结果赋予更高的权重
  • 将创建一个新模型,并基于该数据集进行最终预测,同时该模型会尝试纠正先前犯下的错误。会以类似的方式创建多个模型,每个模型都纠正之前的错误
  • 最终预测将基于最终模型进行,该模型是所有模型的加权平均值。

常用的提升算法包括:

  • CatBoost
  • LightGBM
  • AdaBoost

提升的优点在于它可以生成更准确的预测,并减少由偏差引起的错误。

其他集成技巧

专家混合:用于训练多个分类器,其输出通过一个通用的线性规则进行集成。组合的权重由一个可训练的模型确定。

多数投票:它涉及选择一个奇数数量的分类器,并为每个样本计算预测。从分类器池中获得最大类别的类将是集成的预测类。它用于解决二进制分类等问题。

最大规则:它使用每个分类器的概率分布,并利用置信度进行预测。它用于多类分类问题。

集成学习的真实用例

#1。 面部和情绪检测

集成学习利用独立成分分析(ICA)等技术来执行人脸检测。

此外,集成学习还通过语音检测来检测人的情绪。它的功能也可以帮助用户执行面部情绪检测。

#2。 安全

欺诈检测:集成学习有助于增强正常行为建模能力。因此,它被认为可以有效检测欺诈活动,例如信用卡和银行系统、电信欺诈和洗钱等。

DDoS:分布式拒绝服务(DDoS)是对互联网服务提供商(ISP)的致命攻击。集成分类器可以减少错误检测,并区分来自真实流量的攻击。

入侵检测:集成学习可用于入侵检测工具等监控系统,通过监控网络或系统、发现异常等来检测入侵者代码。

检测恶意软件:集成学习在使用机器学习技术检测和分类计算机病毒、蠕虫、勒索软件、特洛伊木马和间谍软件等恶意软件代码方面非常有效。

#3。 增量学习

在增量学习中,机器学习算法从新的数据集中学习,同时保留先前的学习成果,但无需访问之前已经看到的数据。集成系统用于增量学习,使每个可用的数据集学习到一个额外的分类器。

#4。 医药

集成分类器在医学诊断领域非常有用,例如检测神经认知障碍(如阿尔茨海默氏症)。它通过将MRI数据集作为输入,并对宫颈细胞学进行分类来执行检测。此外,它还应用于蛋白质组学(蛋白质研究)、神经科学和其他领域。

#5。 遥感

变化检测:集成分类器用于通过贝叶斯平均和多数投票等方法来执行变化检测。

绘制土地覆盖图:诸如提升、决策树和核主成分分析(KPCA)等集成学习方法被有效地用于检测和绘制土地覆盖图。

#6。 金融

准确性是金融领域的一个重要方面,无论是在计算还是预测方面。它会极大地影响决策的结果。这些还可以用于分析股票市场数据的变化,检测股票价格操纵等行为。

额外的学习资源

#1。 机器学习的集成方法

本书将帮助您从头开始学习和实施集成学习的重要方法。

#2。 集成方法:基础和算法

本书介绍了集成学习及其算法的基础知识。它还概述了它在现实世界中的应用方式。

#3。 集成学习

本书介绍了集成方法的统一性、挑战和应用等。

#4。 集成机器学习:方法和应用

本书提供了广泛的高级集成学习技术。

结论

希望您现在对集成学习、其方法、应用以及为什么它对您的用例有益有了更深入的了解。集成学习具有解决众多现实挑战的潜力,涵盖从安全和应用开发到金融和医疗等领域。它的应用范围正在不断扩大,因此在不久的将来,这个概念可能会有更多改进。

您还可以探索一些用于生成合成数据的工具,来训练机器学习模型。