标签

详解堆叠泛化:《人工智能 - 现代方法》19.8.3 节

发布时间:2026-06-09 04:32来源:微信阅读:2

19.8.3 堆叠泛化技术

与自助聚合法在不同数据子集上训练同类模型不同,堆叠泛化(stacked generalization,简称堆叠)旨在整合基于相同数据但采用不同模型类训练出的多个基学习器。

作为一种先进的集成学习策略,其核心理念在于:

构建出“基模型层”叠加“元学习器层”的双层架构,故而得名“堆叠”。该方法通过元学习器来学习如何最佳地“权衡”各基模型的输出,从而显著优化整体预测效能。

以餐厅等待问题数据集为例,假设首行数据表现为:

x1=Yes,No,No,Yes,Some,$$$,No,Yes,French,0~10;y1=Yes

将数据划分为训练、验证及测试三部分,利用训练集分别培育三个异质基模型:支持向量机(SVM)、逻辑回归以及决策树。

针对验证集数据,利用上述三个基模型的预测结果对原始特征进行增广,使得每行数据呈现如下形态(其中粗体部分代表模型预测值):

x2=Yes,No,No,Yes,Full,$,No,No,Thai,30~60,Yes,No,No;y1=Yes

借此验证集来培育新的集成模型,例如逻辑斯谛回归(无需局限于基模型类型)。该集成模型能结合原始特征与预测值进行学习。它可能习得基模型的加权组合,譬如按 50%:30%:20% 的比例分配权重;亦可能捕捉数据与预测间的非线性关联,比如在长等待场景下更信赖 SVM 的判断。我们利用同一训练集培育各基模型,随后借助预留的验证数据(附带基模型预测)来训练集成器。若有必要,交叉验证也是可行方案。

此法之所以被称为“堆叠”,是因为可将其视作由基模型构筑第一层级,并在其输出之上构建第二层集成模型的过程。

若采用交叉验证,可将相关步骤调整为“针对每一折验证集生成预测并汇总”,随后在全量训练集上重训基模型并取均值,以此降低方差。

若跳过交叉验证,直接利用基学习器对训练集自身的预测来训练元学习器,将引发严重的信息泄露(因模型已知晓标签,预测往往过于乐观),致使元学习器出现过拟合现象。

交叉验证机制确保了训练元学习器时所用的基学习器预测,均产生于未见过该样本的数据折上,这更贴近真实的泛化应用情境。

此外,堆叠架构支持多层扩展,每一层均可基于前一层的输出进行进一步处理。

堆叠技法有助于降低偏差,其最终模型性能通常超越任何单一基模型。在各类数据科学竞赛(如 Kaggle 和 KDD Cup)中,夺冠团队常青睐此法,因为成员可独立优化各自负责的基模型,最后汇聚成果构建最终的堆叠集成系统。

在实际应用中,明智地甄选基学习器(力求降低其预测间的相关性)与元学习器(常选用简易线性模型以规避过拟合),是达成成功的关键所在。