Stacking是一种通用的通过训练学习器来结合个体学习器的方法,堆叠泛化是一种在集成学习中对数据从纵向进行划分的技术,一般称为SG技术,其一般用于最小化一个或多个泛化器的泛化误差率。
基本思想为:数据划分的纵向上有两层学习器,把Level 0的Base-learner学习器的输出,作为Level 1学习器的输入,Level 1的学习器又被称为Meta-learner或者Generalizer。
Stacking Generalization首次由Wolpert1于1992年提出,并且他认为这类似于对交叉验证(cross-validation),通过“胜者全得”(Winner takes all)的方式来集成的方法。

Wolpert根据泛化器数量的多寡将其分为两种训练模式–多泛化器和单泛化器

多泛化器:

两个泛化器 G1、G2,一个学习数据集L,将L分成两份-{ L-(x,y)}和(x,y),提出一个问题q。
1. 使用{ L-(x,y)}训练G1、G2,然后分别对得到的模型输入x,得到输出g1、g2,将{(g1,g2),y}放入新数据集L将L做其他划分,得到更多数据并加入L
2. 使用完整L训练G1、G2,分别输入q,得到新的对(g1,g2
3. 使用L训练新的泛化器G3,对模型输入(g1,g2),输出即为最终结果。

单泛化器

泛化器G,其他数据如上
1. 使用{ L-(x,y)}训练G,对模型输入x,得g。记x距离集合{ L-(x,y)}最近距离的向量(可选最近的几个向量,取均值)为δ。将{(x,δ),(g-y)}加入新集合L,将L做其他划分,得到更多数据并加入L
2. 使用完整L训练G,输入q,得到输出g,取q距离L最近向量δ,得向量对(g,δ)。
3. 使用L训练新的泛化器G,输入(g,δ)。输出为G的猜测误差,将估计误差与2中的输出g相加即得到最终结果。

策略执行过程2:

方法应用:

堆叠通常能获得比任何单个的训练模型更好的性能。它已被成功地用于监督学习任务(包括回归、分类等)和无监督学习(密度估计),也可以用来估计装袋错误率。有报道表明,它的表现超过了贝叶斯模型平均。堆叠泛化方法在Kaggle等数据比赛中也被广泛使用,能够有效提高模型的性能。比如在Netflix比赛中,有选手通过采用混合(blending)的方法获得奖金,这种方法也被认为是堆叠的一种形式。

拓展—Bias-Variance平衡

Stacking的基因就是Ensemble中Aggregation方法进一步泛化的结果, 是通过Meta-Learner来取代Bagging和Boosting的Voting/Averaging来综合降低Bias和Variance的方法。

参考:


  1. Wolpert D H. Stacked generalization[J]. Neural networks, 1992, 5(2): 241-259. ↩︎

  2. 链接 ↩︎

堆叠泛化(Stacking Generalization)相关推荐

  1. 一篇综述带你全面了解迁移学习的领域泛化(Domain Generalization)

    领域泛化 (Domain Generalization, DG) 是近几年非常热门的一个研究方向.它研究的问题是从若干个具有不同数据分布的数据集(领域)中学习一个泛化能力强的模型,以便在 未知 (Un ...

  2. uml里的extend和include_用例图中包含(include)扩展(extend)和泛化(generalization)关系详解...

    标签:uml 用例图是解决用户需求的图,画好用例图一定要理清用例之间的关系.用例之间有三种关系:包含(include)扩展(extend)和泛化(generalization).下面介绍三者的相同点和 ...

  3. ESL第八章 模型推断和平均 【参数】自助法/得分函数/信息矩阵/观测信息/费舍尔信息量、贝叶斯方法/无信息先验、高斯混合/GEM/MM算法、吉布斯、Bagging、委员会、Stacking、随机搜索

    目录 8.2 自助法和最大似然方法 8.2.1 平滑例子 8.2.2 最大似然推断 8.2.3 自助法vs最大似然 8.3 贝叶斯方法 8.4 自助法和贝叶斯推断的关系 8.5 EM算法 8.5.1 ...

  4. 模型整合之模型堆叠——详细理解Stacking model

    详细理解Stacking model 如果你得到了10个不一样的model,并且每个model都各有千秋,这个时候你该怎么选?想必你一定是很为难吧,但通过集成方法,你可以轻松的将10个model合成为 ...

  5. 设计模式中类的关系之泛化(Generalization)

    什么是泛化关系?用一个例子简单的说:假设A是B和C的父类,B.C具有公共类(父类)A,说明A是B.C的一般化(概括,也称泛化),B.C是A的特殊化. 在编程上,泛化关系(Generalization) ...

  6. 领域泛化(Domain Generalization)

    文章目录 前言 问题定义 理论 方法 应用与数据集 未来挑战 参考 前言 领域泛化 (Domain Generalization, DG) 是近几年非常热门的一个研究方向.它研究的问题是从若干个具有不 ...

  7. 全面讨论泛化 (generalization) 和正则化 (regularization) — Part 1

    ©作者 | 李诗淼 学校 | 卡内基梅隆大学 研究方向 | Physics-informed ML 模型泛化能力,是设计和评估一个机器学习 or 深度学习方法时无比重要的维度,所以我想通过一系列文章, ...

  8. 全面讨论泛化 (generalization) 和正则化 (regularization)

    来源:PaperWeekly 本文约8400字,建议阅读15分钟 本文和大家全面讨论机器学习和深度学习中的泛化和正则化. 模型泛化能力,是设计和评估一个机器学习 or 深度学习方法时无比重要的维度,所 ...

  9. 【领域泛化】论文介绍《Respecting domain relations Hypothesis invariance for domain generalization》

    [领域泛化]论文介绍<Respecting domain relations Hypothesis invariance for domain generalization> 论文地址 摘 ...

最新文章

  1. MySQL数据copy
  2. 【网络流】解题报告: luogu P2045 方格取数加强版(k取方格数)(最大费用最大流)
  3. 您如何与Docker的流程连接和分离?
  4. 微信小程序电子画板canvas2d签名小程序插件绝对可用
  5. DCMTK:DcmAttributeMatching的单元测试
  6. 【托管服务qin】WEB网站压力测试教程详解
  7. 常见Linux命令(非文件操作)
  8. 游戏设计艺术 第2版 (Jesse Schell 著)
  9. SAP 物料编码更改标准解决方案
  10. tcptracerte参数_CCNA安全题库
  11. CSS3 transition改变内联样式无效的原因
  12. 语音播放与录音 (五分钟学会用 非常全面)
  13. go php 框架,go框架 - Go语言中文网 - Golang中文社区
  14. Mac 输入法候选词框消失的解决方法
  15. Linux系统增加新硬盘
  16. 易语言调用子程序_ c,易语言汇编调用子程序源码
  17. for/in 循环遍历对象的属性
  18. 点击输入框,标题上移
  19. 0.618方法matlab流程图,0.618法的matlab实现
  20. 猫耳FM音频转换成MP3格式

热门文章

  1. leetcode【537】Complex Number Multiplication(复数相乘)
  2. Android菜鸟如何学习Android系统开发?(
  3. 根据经纬度,获取方圆10公里内的数据
  4. 部分网站无法打开和hosts文件修改
  5. 手机wap和html有什么区别,解析WEB和WAP之间有什么区别
  6. 微信小程序在线考试管理系统+后台管理系统
  7. 中国科学技术大学计算机专业排名,2019中国科学技术大学专业排名
  8. 基层教学组织评估系统5_系统管理员数据维护模块功能完善,优化教学组织名称的输入提示补全,项目打包部署篇
  9. [区间DP]JZOJ 3095 秘密文件
  10. linux下的opencv-4.5.5 及 opencv_contrib 扩展模块安装