机器学习中的堆叠2025 年 6 月 20 日 | 阅读 8 分钟 在机器学习中有许多集成模型的方法,例如 Bagging、Boosting 和 Stacking。Stacking 是最流行的集成机器学习技术之一,用于预测多个节点以构建新模型并提高模型性能。 Stacking 使我们能够训练多个模型来解决类似的问题,并基于它们的组合输出,构建一个性能得到改进的新模型。 ![]() 在本主题“机器学习中的堆叠”中,我们将讨论一些与堆叠相关的重要概念、堆叠的通用架构、实现堆叠的重要关键点,以及堆叠与机器学习中的bagging和boosting的区别。在开始本主题之前,请先理解集成学习在机器学习中的概念。那么,让我们从集成学习在机器学习中的定义开始。 什么是机器学习中的集成学习?集成学习是最强大的机器学习技术之一,它结合了两个或多个模型/弱学习器的输出来解决特定的计算智能问题。例如,随机森林算法是多个决策树的集成。 集成学习主要用于提高模型性能,例如分类、预测、函数逼近等。简单来说,我们可以将集成学习总结如下: “集成模型是一个机器学习模型,它结合了两个或多个模型的预测。” 机器学习中有 3 种最常见的集成学习方法。它们如下:
然而,在本主题中我们将主要讨论 Stacking。 1. BaggingBagging 是一种集成建模方法,主要用于解决监督式机器学习问题。它通常分两个步骤完成,如下所示:
示例: 在随机森林方法中,多个决策树的预测是并行集成的。此外,在回归问题中,我们使用这些预测的平均值来获得最终输出,而在分类问题中,模型被选为预测类。 2. BoostingBoosting 是一种集成方法,它使每个成员能够从前一个成员的错误中学习,并做出更好的未来预测。与 bagging 方法不同,在 boosting 中,所有基础学习器(弱学习器)按顺序排列,以便它们可以从其前一个学习器的错误中学习。因此,通过这种方式,所有弱学习器都转化为强学习器,并做出更好的预测模型,性能得到显著提高。 我们已经对机器学习中的集成技术及其两种常用方法,即 bagging 和 boosting 有了基本的了解。现在,让我们讨论一种不同的集成学习范例,即 Stacking。 3. StackingStacking 是机器学习中一种流行的集成建模技术。各种弱学习器以并行方式集成,通过将它们与元学习器组合,我们可以获得更好的未来预测。 这种集成技术通过应用组合多个弱学习器预测和元学习器的输入来工作,以便获得更好的输出预测模型。 在 Stacking 中,一个算法接收子模型的输出作为输入,并尝试学习如何最佳地组合输入预测以做出更好的输出预测。 Stacking 也称为堆叠泛化 (stacked generalization),它是模型平均集成技术 (Model Averaging Ensemble technique) 的扩展形式,其中所有子模型根据其性能权重同等参与,并构建一个具有更好预测的新模型。这个新模型堆叠在其他模型之上;这就是它被命名为 Stacking 的原因。 Stacking 的架构Stacking 模型的架构设计包含两个或多个基础/学习器模型和一个元模型,该元模型结合了基础模型的预测。这些基础模型称为 0 级模型,元模型称为 1 级模型。因此,Stacking 集成方法包括原始(训练)数据、初级模型、初级预测、次级模型和最终预测。Stacking 的基本架构如下图所示。 ![]()
实现 Stacking 模型步骤在机器学习中实现 Stacking 模型有一些重要的步骤。它们如下:
Stacking 集成家族还有一些其他集成技术可以被认为是 Stacking 方法的先驱。为了更好地理解,我们将它们分为不同的基本 Stacking 框架,以便我们能够轻松地理解方法之间的差异以及每种技术的独特性。让我们讨论一些与 Stacking 相关的常用集成技术。 投票集成 (Voting ensembles)这是最简单的 Stacking 集成方法之一,它使用不同的算法单独准备所有成员。与 Stacking 方法不同,投票集成使用简单的统计数据,而不是单独学习如何最佳地组合基础模型的预测。 这对于解决回归问题至关重要,在回归问题中我们需要预测基础模型预测的平均值或中位数。此外,它也有助于各种分类问题,根据预测获得的总体投票数。获得更高票数的标签称为硬投票 (hard voting),而获得最大概率总和或较少票数的标签称为软投票 (soft voting)。 投票集成与 Stacking 集成在根据每个成员的性能来衡量模型权重方面有所不同,因为在这里,所有模型都被认为具有相同的技能水平。 成员评估: 在投票集成中,所有成员都被假定具有相同的技能集。 与模型结合: 它不使用每个成员的组合预测,而是使用简单的统计数据来获得最终预测,例如平均值或中位数。 加权平均集成 (Weighted Average Ensemble)加权平均集成被认为是投票集成的下一个级别,它使用多样化的模型类型作为贡献成员。此方法使用一些训练数据集来查找每个集成成员的平均权重,这取决于它们的性能。对此朴素方法的改进是根据成员在保持集(如验证集或 k 折交叉验证中的 out-of-fold 预测)上的性能来加权每个成员。此外,它还可能涉及使用优化算法和在保持集上的性能来调整每个模型的系数权重。 成员评估: 加权平均集成方法根据训练数据集使用成员性能。 与模型结合: 它分别考虑每个成员预测的加权平均值。 Blending 集成Blending 是一种与 Stacking 相似但配置特定的方法。它被认为是一种 Stacking 方法,它使用 k 折交叉验证为元模型准备 out-of-sample 预测。在此方法中,首先将训练数据集分割成不同的训练集和验证集,然后我们在训练集上训练学习器模型。此外,在验证集和样本集上进行预测,其中验证预测用作构建新模型的特征,该新模型随后用于使用预测值作为特征对测试集进行最终预测。 成员预测: Blending Stacking 集成在验证集上使用 out-of-sample 预测。 与模型结合: 线性模型(例如线性回归或逻辑回归)。 Super Learner 集成此方法与 Blending 非常相似,它具有 Stacking 集成的特定配置。它使用学习器模型的 out-of-fold 预测并准备元模型。然而,它被认为是 Blending 的修改形式,仅在如何为元学习器准备 out-of-sample 预测的选择上有所不同。 Stacking 集成总结Stacking 是一种集成方法,它使模型能够学习如何组合学习器模型与元模型给出的预测,并准备一个具有准确预测的最终模型。Stacking 集成的主要优点是它可以整合一系列表现良好的模型的能力,以解决分类和回归问题。此外,它有助于准备一个比所有单个模型都具有更好预测能力的模型。在本主题中,我们学习了各种集成技术及其定义、Stacking 集成方法、Stacking 模型的架构以及在机器学习中实现 Stacking 模型的步骤。 下一个主题连续性极限介绍 |
我们请求您订阅我们的新闻通讯以获取最新更新。