集成学习以最简单的方式解释
集成学习可以通过将多个模型的决策结合起来,帮助您做出更好的决策并解决许多现实生活中的挑战。
机器学习(ML)在金融、医疗、应用开发或安全等多个行业和领域中不断扩展。
正确训练ML模型将帮助您在业务或工作中取得更大的成功,而有多种方法可以实现这一目标。
在本文中,我将讨论集成学习的重要性、用例和技术。
敬请关注!
什么是集成学习?
在机器学习和统计学中,“集成”是指使用共同的基础学习器生成各种假设的方法。
![](/images/jipcehxavqp.png)
集成学习是一种机器学习方法,其中创建多个模型(如专家或分类器)并将它们与解决计算问题或进行更好的预测的目的结合起来。
该方法旨在改进给定模型的预测、函数逼近、分类等性能。它还用于消除您在众多模型中选择出一个较差或价值较低的模型的可能性。为了实现改进的预测性能,使用了多种学习算法。
ML中的集成学习
在ML中,存在一些可能导致错误的来源,如偏差、方差和噪声。集成学习可以帮助减少这些导致错误的来源,并确保您的ML算法的稳定性和准确性。
以下是为什么在各种场景中使用集成学习的原因:
选择正确的分类器
集成学习帮助您选择更好的模型或分类器,同时降低由于选择不良模型而可能导致的风险。
![](/images/skavx1batqd.png)
不同类型的分类器用于不同的问题,例如支持向量机(SVM)、多层感知机(MLP)、朴素贝叶斯分类器等。此外,还有不同的分类算法实现需要选择。不同训练数据的性能也可能不同。
但是,如果您使用所有这些模型的集成并结合它们的个体输出,就可以避免选择较差的模型。
数据量
许多ML方法和模型在输入不足的数据或大量数据时效果不佳。
另一方面,集成学习可以在这两种情况下工作,即使数据量太少或太多。
- 如果数据不足,您可以使用自助法(bootstrapping)利用不同的自助法数据样本训练各种分类器。
- 如果有大量的数据使得训练单个分类器具有挑战性,那么可以将数据策略性地分割成较小的子集。
复杂性
![](/images/tioabck0msc.png)
单个分类器可能无法解决一些高度复杂的问题。它们分离各类数据的决策边界可能非常复杂。因此,如果将线性分类器应用于非线性和复杂边界,它无法学习。
然而,通过合理地组合一组合适的线性分类器,您可以使其学习给定的非线性边界。分类器将将数据分成许多易于学习和较小的分区,每个分类器将只学习一个较简单的分区。然后,不同的分类器将组合产生一个近似的决策边界。
置信度估计
在集成学习中,对系统所做的决策分配了一个置信度。假设你有一个在给定问题上训练的各种分类器的集成。如果大多数分类器都同意所做的决策,那么其结果可以被视为具有高置信度的集成决策。
另一方面,如果一半的分类器不同意所做的决策,则被认为是具有低置信度的集成。
然而,低或高置信度并不总是正确的决策。但是,如果集成经过正确训练,具有高置信度的决策有很高的可能是正确的。
数据融合的准确性
从多个来源收集的数据,在策略性地结合时,可以提高分类决策的准确性。这种准确性高于单个数据源的准确性。
集成学习如何工作?
![](/images/x1flnofmy4m.png)
集成学习采用多个不同分类器所学习的映射函数,然后将它们组合起来创建一个单一的映射函数。
以下是集成学习工作原理的一个示例。
示例:您正在为最终用户创建一个基于食品的应用程序。为了提供高质量的用户体验,您希望收集他们对所面临问题、突出的漏洞、错误、缺陷等的反馈意见。
为此,您可以询问您的家人、朋友、同事和其他您经常交流的人关于他们的食品选择以及他们网上订餐的经历的意见。您还可以发布测试版应用程序,以收集实时反馈,没有偏见或噪音。
所以,您在这里实际上是考虑了来自不同人的多个想法和意见,以帮助改进用户体验。
集成学习及其模型的工作方式类似。它使用一组模型并将它们组合起来产生最终输出,以提高预测准确性和性能。
基本的集成学习技术
![](/images/m5hbatmwpjv.png)
#1. 众数
“众数”是数据集中出现的值。在集成学习中,机器学习专业人员使用多个模型对每个数据点进行预测。这些预测被视为个体投票,大多数模型的预测被视为最终预测。它主要用于分类问题。
示例:如果有四个人给您的应用程序评为4,而其中一个人评为3,则众数将为4,因为多数人都投票为4。
#2. 平均/均值
使用此技术,专业人员考虑所有模型的预测结果,并计算它们的平均值以得出最终预测。它主要用于回归问题的预测、分类问题中的概率计算等。
示例:在上述示例中,如果有四个人给您的应用程序评为4,而一个人给它评为3,则平均值为(4+4+4+4+3)/5=3.8
#3. 加权平均
在这种集成学习方法中,专业人员为不同的模型分配不同的权重进行预测。这里,分配的权重描述了每个模型的相关性。
例子:假设有5个人对您的应用提供了反馈。其中3个是应用程序开发人员,而另外2个没有任何应用程序开发经验。因此,这3个人的反馈将比其余2个人的反馈更加重要。
高级集成学习技术
#1. Bagging
Bagging(Bootstrap AGGregatING)是一种高度直观且性能良好的简单集成学习技术。顾名思义,它由两个术语“Bootstrap”和“aggregation”组成。
Bootstrapping是另一种采样方法,您需要使用替换从原始数据集中获取的多个观察结果创建子集。在这里,子集的大小将与原始数据集相同。
![](/images/c152krjp0tk.png)
因此,在bagging中,使用子集或袋来理解完整集合的分布。然而,在bagging中,子集可能比原始数据集小。这种方法涉及单个机器学习算法。结合不同模型的结果的目的是获得泛化的结果。
Bagging的工作原理如下:
- 从原始集合生成多个子集,并选择带有替换的观察结果。子集用于训练模型或决策树。
- 为每个子集创建一个弱模型或基本模型。这些模型将彼此独立并并行运行。
- 通过使用平均值、投票等统计数据将每个模型的每个预测组合起来进行最终预测。
这种集成技术中常用的流行算法有:
- 随机森林
- 袋装决策树
这种方法的优点是有助于在决策树中将方差误差降到最低。
#2. Stacking
![](/images/nlf4u4u5gu1.png)
在堆叠或堆叠泛化中,来自不同模型(如决策树)的预测被用于创建一个新模型,以便在测试集上进行预测。
堆叠涉及创建用于训练模型的数据的自助子集,类似于bagging。但是,在这里,模型的输出被作为输入传递给另一个分类器,称为元分类器,用于对样本进行最终的预测。
为什么要使用两层分类器的原因是确定训练数据集是否被正确学习。虽然两层方法是常见的,但也可以使用更多层。
例如,您可以在第一层或第1级中使用3-5个模型,然后在第2层或第2级中使用一个单独的模型。后者将组合在第1级中获得的预测结果以进行最终预测。
此外,您可以使用任何ML学习模型来聚合预测;线性模型(如线性回归、逻辑回归等)是常见的。
堆叠中常用的ML算法有:
- 混合
- 超级集成
- 堆叠模型
注意:混合使用训练数据集中的验证集或保留集进行预测。与堆叠不同,混合仅涉及从保留集进行预测。
#3. Boosting
Boosting是一种迭代的集成学习方法,根据其上一个或前一个分类来调整特定观察结果的权重。这意味着每个后续模型旨在纠正先前模型中发现的错误。
如果观察结果分类不正确,则增强会增加观察结果的权重。
在增强中,专业人员通过使用先前增强算法提取的残差来构建后续的ML算法。因此,更多的权重被赋予了先前模型预测的错误观察结果。
以下是逐步工作的方式:
- 从原始数据集生成一个子集。每个数据点最初具有相同的权重。
- 在子集上创建基础模型。
- 在完整数据集上进行预测。
- 使用实际值和预测值计算错误。
- 给予错误预测的观察结果更多的权重。
- 创建一个新的模型,并在该数据集上进行最终预测,同时模型尝试纠正先前的错误。类似地创建多个模型,每个模型纠正先前的错误。
- 最终预测将来自最终模型,它是所有模型的加权平均值。
流行的增强算法有:
- CatBoost
- Light GBM
- AdaBoost
增强的好处在于它生成了优越的预测结果,并减少了由于偏差而产生的错误。
其他集成技术
![](/images/dludidn0eps.png)
专家混合:用于训练多个分类器,并使用通用线性规则对它们的输出进行集成。在这里,给定组合的权重由可训练模型确定。
多数表决:涉及选择一个奇数分类器,并为每个样本计算预测。在分类器池中得到的最大类将成为集成的预测类别。它用于解决二元分类等问题。
最大规则:它使用每个分类器的概率分布,并利用置信度进行预测。它用于多类分类问题。
集成学习的应用案例
#1. 面部和情绪检测
![](/images/g4g3bnax5si.png)
集成学习利用独立成分分析(ICA)等技术进行面部检测。
此外,集成学习用于通过语音检测来检测人的情绪。此外,其功能帮助用户执行面部情绪检测。
#2. 安全
欺诈检测:集成学习有助于增强正常行为建模的能力。这就是为什么它在检测欺诈活动方面被认为是高效的,例如在信用卡和银行系统、电信欺诈、洗钱等方面。
![](/images/j3f51ptmc4c.png)
DDoS:分布式拒绝服务(DDoS)是对ISP的致命攻击。集成分类器可以减少错误检测,并区分攻击与真实流量。
入侵检测:集成学习可以用于监控系统,如入侵检测工具,通过监视网络或系统、查找异常等方式检测入侵者代码。
检测恶意软件:集成学习在使用机器学习技术检测和分类恶意软件代码(如计算机病毒和蠕虫、特洛伊木马、间谍软件等)方面非常有效。
#3. 增量学习
在增量学习中,一个在保留先前的学习的同时,从新的数据集中学习,但不访问它看过的先前数据。通过在每个可用的数据集上添加分类器,集成系统在增量学习中被使用。
#4. 医学
集成分类器在医学诊断领域非常有用,例如神经认知障碍(如阿尔茨海默病)的检测。它通过将MRI数据集作为输入,对颈部细胞学进行分类来进行检测。除此之外,它还应用于蛋白质组学(蛋白质研究)、神经科学和其他领域。
#5. 遥感
变化检测:集成分类器通过贝叶斯平均和多数投票等方法来执行变化检测。
地表覆盖映射:集成学习方法如提升法、决策树、核主成分分析(KPCA)等被用于高效地检测和映射地表覆盖。
#6. 金融
准确性是金融领域的一个关键方面,无论是计算还是预测。它极大地影响您所做决策的结果。它们还可以分析股票市场数据的变化,检测股票价格的操纵等。
额外的学习资源
#1. 机器学习的集成方法
这本书将帮助您从零开始学习和实施集成学习的重要方法。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() |
Ensemble Methods for Machine Learning | $50.15 | Buy on Amazon |
#2. 集成方法:基础和算法
这本书介绍了集成学习的基础知识和算法。它还概述了它在现实世界中的应用。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() |
Ensemble Methods: Foundations and Algorithms (Chapman & Hall/CRC Machine Learning & Pattern… | $99.18 | Buy on Amazon |
#3. 集成学习
它提供了统一的集成方法、挑战、应用等的介绍。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() |
Ensemble Learning: Pattern Classification Using Ensemble Methods (Second Edition) (Machine… | $86.62 | Buy on Amazon |
#4. 集成机器学习:方法和应用:
它广泛涵盖了高级集成学习技术。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() |
Ensemble Machine Learning: Methods and Applications | 尚无评分 | $31.16 | Buy on Amazon |
总结
我希望您现在对集成学习有了一些了解,包括其方法、用例以及为什么在您的用例中使用它可能会有益。它具有解决许多现实生活挑战的潜力,包括从安全和应用开发到金融、医药等领域。它的用途正在扩展,所以在不久的将来可能会有更多对这个概念的改进。
您还可以探索一些用于synthetic data generation训练机器学习模型的工具