AI 入门 101

集成学习是什么?

mm

集成学习是一种强大的机器学习技术。集成学习是使用多个机器学习模型来提高预测的可靠性和准确性。然而,使用多个机器学习模型如何导致更准确的预测?创建集成学习模型使用什么样的技术?我们将探索这些问题的答案,研究使用集成模型的理由和创建集成模型的主要方法。

什么是集成学习?

简单来说,集成学习是训练多个机器学习模型并将它们的输出结合起来的过程。不同的模型被用作创建一个最佳预测模型的基础。结合多个个体机器学习模型可以提高整体模型的稳定性,从而导致更准确的预测。集成学习模型通常比个体模型更可靠,因此它们经常在许多机器学习竞赛中排名第一。

有不同的技术可以用来创建集成学习模型。简单的集成学习技术包括平均不同模型的输出,而更复杂的方法和算法被开发来结合多个基模型的预测。

为什么使用集成训练方法?

机器学习模型可以由于各种原因而不同。不同的机器学习模型可能在不同的数据样本上运行,使用不同的建模技术,或者使用不同的假设。

想象一下,你正在与一大群人玩一个问答游戏。如果你单独玩,肯定会有你知道的主题和很多你不知道的主题。现在假设你和其他人一起玩。就像你一样,他们将对自己的专业领域有所了解,并对其他主题一无所知。然而,当你们的知识结合起来时,你们对更多领域有更准确的猜测,并且你们缺乏知识的主题数量减少。这是集成学习的基本原理,即结合不同的个体模型的预测来提高准确性和最小化错误。

统计学家已经证明,当一群人被要求对一个问题进行猜测时,他们的答案形成一个概率分布。真正知道正确答案的人会自信地选择正确答案,而选择错误答案的人会将他们的猜测分布在可能的错误答案中。回到问答游戏的例子,如果你和你的两个朋友知道正确答案是 A,你们三个人都会选择 A,而不知道答案的其他三个人可能会错误地猜测 B、C、D 或 E。结果是 A 有三票,其他答案可能只有一个或两个票。

所有模型都有一定的错误。一个模型的错误与另一个模型的错误不同,因为模型本身是不同的。错误不会聚集在一个答案或另一个答案周围,而是散布在所有可能的错误答案中,相互抵消。同时,来自不同模型的正确猜测将聚集在正确答案周围。当使用集成训练方法时,可以更可靠地找到正确答案

简单的集成训练方法

简单的集成训练方法通常只涉及应用统计摘要技术,例如确定一组预测的模式、均值或加权平均值。

模式是指一组数字中最频繁出现的元素。为了得到模式,个体学习模型返回它们的预测,这些预测被视为最终预测的投票。通过计算预测的算术均值来确定均值,四舍五入到最接近的整数。最后,可以通过为模型分配不同的权重来计算加权平均值,这些权重代表模型的重要性。类别预测的数字表示形式乘以一个权重(从 0 到 1.0),然后将个体加权预测相加,结果四舍五入到最接近的整数。

高级集成训练方法

有三种主要的高级集成训练技术,每一种都是为解决特定的机器学习问题而设计的。”Bagging“技术用于减少模型预测的方差,方差指的是基于相同观察结果的预测结果的差异。”Boosting“技术用于解决模型的偏差。最后,”Stacking“用于改进预测。

集成学习方法本身可以大致分为两类:顺序方法和并行集成方法。

顺序集成方法之所以被称为“顺序”,是因为基模型是顺序生成的。在顺序方法中,利用基模型之间的依赖关系来获得更准确的预测的关键思想是,错误分类的示例会调整它们的权重,而正确分类的示例会保持相同的权重。每次生成一个新模型时,权重都会改变,准确性(希望)会提高。

相比顺序集成模型, 并行集成模型会并行生成基模型。在进行并行集成学习时,利用基模型之间的独立性这一事实,通过平均个体学习者的预测,可以降低整体错误率。

集成训练方法可以是同构的或异构的。大多数集成学习方法是同构的,这意味着它们使用单一类型的基学习模型/算法。相反,异构集成使用不同的学习算法,多样化和变化学习者,以确保准确性尽可能高。

集成学习算法的例子

集成 Boosting 的可视化。照片:Sirakorn via Wikimedia Commons,CC BY SA 4.0,(https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)

顺序集成方法的例子包括 AdaBoostXGBoost梯度树提升。这些都是 Boosting 模型。对于这些 Boosting 模型,目标是将弱的、表现不佳的学习者转化为更强大的学习者。像 AdaBoost 和 XGBoost 这样的模型从许多弱学习者开始,这些学习者仅比随机猜测略好。随着训练的进行,权重被应用于数据并进行调整。之前训练轮中被学习者错误分类的实例被赋予更大的权重。经过多轮训练后,预测通过加权和(对于回归任务)和加权投票(对于分类任务)相结合。

Bagging 学习过程。照片:SeattleDataGuy via Wikimedia Commons,CC BY SA 4.0(https://commons.wikimedia.org/wiki/File:Bagging.png)

并行集成模型的一个例子是 随机森林 分类器,随机森林也是 Bagging 技术的一个例子。”Bagging” 一词源自 “bootstrap 聚合”。使用称为 “bootstrap 采样” 的采样技术从总数据集中抽取样本,这些样本被基学习者用来进行预测。对于分类任务,基模型的输出使用投票来聚合,而对于回归任务,它们被平均。随机森林使用单个决策树作为其基学习者,并且集合中的每棵树都是使用数据集的不同样本生成的。还使用一个随机的特征子集来生成树,从而导致高度随机化的单个决策树,这些树都被组合起来提供可靠的预测。

集成 Stacking 的可视化。照片:Supun Setunga via Wikimedia Commons,CC BY S.A 4.0(https://commons.wikimedia.org/wiki/File:Stacking.png)

关于 Stacking 集成技术,多个回归或分类模型通过一个更高级别的元模型相结合。较低级别的基模型通过输入整个数据集进行训练。基模型的输出然后被用作特征来训练元模型。Stacking 集成模型通常是异构的。

博客作者和程序员,专攻 Machine Learning Deep Learning 领域。Daniel 希望帮助他人利用 AI 的力量为社会做好事。