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

集成学习可以通过组合来自多个模型的决策来帮助您做出更好的决策并解决许多现实生活中的挑战。

机器学习 (ML) 继续在多个部门和行业扩展其翅膀,无论是金融、医药、应用程序开发还是安全。

正确训练 ML 模型将帮助您在业务或工作角色中取得更大的成功,并且有多种方法可以实现这一目标。

在本文中,我将讨论集成学习、它的重要性、用例和技术。

敬请关注!

什么是集成学习?

在机器学习和统计学中,“集成”是指在使用通用基础学习器的同时生成各种假设的方法。

集成学习是一种机器学习方法,其中有策略地创建多个模型(如专家或分类器)并将其结合起来以解决计算问题或做出更好的预测。

这种方法旨在提高给定模型的预测、函数逼近、分类等性能。 它还用于消除您从众多模型中选择差的或价值较低的模型的可能性。 为了提高预测性能,使用了几种学习算法。

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

在机器学习模型中,有一些来源(例如偏差、方差和噪声)可能会导致错误。 集成学习可以帮助减少这些导致错误的来源,并确保 ML 算法的稳定性和准确性。

以下是在各种场景中使用集成学习的原因:

选择正确的分类器

集成学习可帮助您选择更好的模型或分类器,同时降低因模型选择不当而可能导致的风险。

有不同类型的分类器用于不同的问题,例如支持向量机(SVM)、多层感知器(MLP)、朴素贝叶斯分类器、决策树等。此外,您需要选择不同的分类算法实现. 不同训练数据的性能也可能不同。

但是,如果您使用所有这些模型的集合并结合它们各自的输出,而不是只选择一个模型,则可以避免选择较差的模型。

数据量

如果您向许多 ML 方法和模型提供不充分的数据或大量数据,它们的结果就不会那么有效。

另一方面,集成学习可以在两种情况下工作,即使数据量太少或太多。

  • 如果数据不足,可以使用 bootstrapping 借助不同的 bootstrap 数据样本来训练各种分类器。
  • 如果数据量很大,可以使单个分类器的训练具有挑战性,则可以策略性地将数据划分为更小的子集。

复杂

单个分类器可能无法解决一些高度复杂的问题。 他们的决策边界将不同类别的数据分开可能非常复杂。 因此,如果将线性分类器应用于非线性的复杂边界,它将无法学习。

  如何在 VS Code 中创建新的工作区

然而,在适当地组合一组合适的线性分类器后,您可以让它学习给定的非线性边界。 分类器会将数据分成许多易于学习的较小分区,每个分类器只会学习一个更简单的分区。 接下来,将组合不同的分类器以产生大约。 决策边界。

置信度估计

在集成学习中,信任投票被分配给系统做出的决定。 假设您有一组针对给定问题训练的各种分类器。 如果大多数分类器确实同意所做的决定,则其结果可以被认为是具有高置信度决定的整体。

另一方面,如果一半的分类器不同意所做的决定,则称其为低置信度决策的整体。

然而,低或高信心并不总是正确的决定。 但是,如果对集成进行适当的训练,则很有可能做出具有高置信度的决策是正确的。

数据融合的准确性

从多个来源收集的数据在战略性地组合时可以提高分类决策的准确性。 这种准确性高于在单一数据源的帮助下做出的准确性。

集成学习如何工作?

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

这是集成学习如何工作的示例。

示例:您正在为最终用户创建一个基于食品的应用程序。 为了提供高质量的用户体验,您想收集他们对他们面临的问题、突出的漏洞、错误、错误等的反馈。

为此,您可以询问您的家人、朋友、同事以及您经常与之交流的其他人对他们的食物选择和在线订购食物的体验的意见。 您还可以发布测试版应用程序,以收集没有偏见或噪音的实时反馈。

所以,你实际上在这里做的是考虑来自不同人的多种想法和意见,以帮助改善用户体验。

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

基本的集成学习技术

#1。 模式

“模式”是出现在数据集中的值。 在集成学习中,ML 专业人员使用多个模型来创建关于每个数据点的预测。 这些预测被认为是个人投票,大多数模型做出的预测被认为是最终预测。 它主要用于分类问题。

示例:四个人给您的应用程序打了 4 分,而其中一个人给它打了 3 分,那么模式将为 4,因为大多数人投了 4 分。

#2。 平均值/均值

使用这种技术,专业人员会考虑所有模型预测并计算它们的平均值以得出最终预测。 它主要用于对回归问题进行预测、计算分类问题的概率等。

例子:在上面的例子中,四个人给你的应用打了 4 分,而一个人给它打了 3 分,平均数是 (4+4+4+4+3)/5=3.8

#3。 加权平均

在这种集成学习方法中,专业人员为不同的模型分配不同的权重以进行预测。 在这里,分配的权重描述了每个模型的相关性。

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

高级集成学习技术

#1。 套袋

Bagging (Bootstrap AGGregatING) 是一种高度直观和简单的集成学习技术,具有良好的性能。 顾名思义,它是由“Bootstrap”和“聚合”这两个术语组合而成的。

Bootstrapping 是另一种抽样方法,您需要创建从原始数据集中获取的多个观察值的子集并进行替换。 此处,子集大小将与原始数据集的大小相同。

资料来源:越野车程序员

因此,在装袋中,子集或袋子用于了解完整集的分布。 但是,子集可能小于 bagging 中的原始数据集。 此方法涉及单个 ML 算法。 结合不同模型的结果的目的是获得一个普遍的结果。

装袋的工作原理如下:

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

这种集成技术中使用的流行算法是:

  • 随机森林
  • 袋装决策树

这种方法的优点是它有助于将决策树中的方差误差保持在最低限度。

#2。 堆叠

图片来源:OpenGenus IQ

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

  Xbox 有马里奥赛车吗?

堆叠涉及为训练模型创建自举数据子集,类似于装袋。 但在这里,模型的输出被作为输入馈送到另一个分类器,称为样本最终预测的元分类器。

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

例如,您可以在第一层或 level-1 中使用 3-5 个模型,在 layer 2 或 level-2 中使用单个模型。后者将结合在 level 1 中获得的预测来进行最终预测。

此外,您可以使用任何 ML 学习模型来聚合预测; 线性回归、逻辑回归等线性模型很常见。

堆叠中使用的流行 ML 算法是:

  • 混合
  • 超级合奏
  • 堆叠模型

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

#3。 升压

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

如果观测值没有被正确分类,则提升会增加观测值的权重。

在 boosting 中,专业人员训练第一个算法以在完整数据集上进行 boosting。 接下来,他们使用从先前的提升算法中提取的残差来构建后续的 ML 算法。 因此,对先前模型预测的错误观察给予更多权重。

以下是它的逐步工作方式:

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

流行的提升算法是:

  • 猫助推器
  • 轻型GBM
  • AdaBoost

boosting 的好处是它可以产生更好的预测并减少由于偏差引起的错误。

其他合奏技巧

A mixture of Experts:用于训练多个分类器,它们的输出按照一般的线性规则进行集成。 在这里,赋予组合的权重由可训练模型确定。

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

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

集成学习的真实用例

#1。 面部和情绪检测

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

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

#2。 安全

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

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

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

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

#3。 增量学习

在增量学习中,ML 算法从新的数据集中学习,同时保留以前的学习,但不访问它已经看到的以前的数据。 集成系统用于增量学习,使其在每个可用的数据集上学习一个添加的分类器。

  修复 Google Play 商店错误检查更新

#4。 药品

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

#5。 遥感

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

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

#6。 金融

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

额外的学习资源

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

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

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

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

#3。 集成学习

它介绍了统一的集成方法、挑战、应用程序等。

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

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

结论

我希望您现在对集成学习、它的方法、用例以及为什么使用它对您的用例有益有所了解。 它有可能解决许多现实生活中的挑战,从安全和应用程序开发领域到金融、医学等领域。 它的用途正在扩大,因此在不久的将来这个概念可能会有更多改进。

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