堆叠泛化(Stacking Generalization)
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的方法。
参考:
Wolpert D H. Stacked generalization[J]. Neural networks, 1992, 5(2): 241-259. ↩︎
链接 ↩︎
堆叠泛化(Stacking Generalization)相关推荐
- 一篇综述带你全面了解迁移学习的领域泛化(Domain Generalization)
领域泛化 (Domain Generalization, DG) 是近几年非常热门的一个研究方向.它研究的问题是从若干个具有不同数据分布的数据集(领域)中学习一个泛化能力强的模型,以便在 未知 (Un ...
- uml里的extend和include_用例图中包含(include)扩展(extend)和泛化(generalization)关系详解...
标签:uml 用例图是解决用户需求的图,画好用例图一定要理清用例之间的关系.用例之间有三种关系:包含(include)扩展(extend)和泛化(generalization).下面介绍三者的相同点和 ...
- 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 ...
- 模型整合之模型堆叠——详细理解Stacking model
详细理解Stacking model 如果你得到了10个不一样的model,并且每个model都各有千秋,这个时候你该怎么选?想必你一定是很为难吧,但通过集成方法,你可以轻松的将10个model合成为 ...
- 设计模式中类的关系之泛化(Generalization)
什么是泛化关系?用一个例子简单的说:假设A是B和C的父类,B.C具有公共类(父类)A,说明A是B.C的一般化(概括,也称泛化),B.C是A的特殊化. 在编程上,泛化关系(Generalization) ...
- 领域泛化(Domain Generalization)
文章目录 前言 问题定义 理论 方法 应用与数据集 未来挑战 参考 前言 领域泛化 (Domain Generalization, DG) 是近几年非常热门的一个研究方向.它研究的问题是从若干个具有不 ...
- 全面讨论泛化 (generalization) 和正则化 (regularization) — Part 1
©作者 | 李诗淼 学校 | 卡内基梅隆大学 研究方向 | Physics-informed ML 模型泛化能力,是设计和评估一个机器学习 or 深度学习方法时无比重要的维度,所以我想通过一系列文章, ...
- 全面讨论泛化 (generalization) 和正则化 (regularization)
来源:PaperWeekly 本文约8400字,建议阅读15分钟 本文和大家全面讨论机器学习和深度学习中的泛化和正则化. 模型泛化能力,是设计和评估一个机器学习 or 深度学习方法时无比重要的维度,所 ...
- 【领域泛化】论文介绍《Respecting domain relations Hypothesis invariance for domain generalization》
[领域泛化]论文介绍<Respecting domain relations Hypothesis invariance for domain generalization> 论文地址 摘 ...
最新文章
- MySQL数据copy
- 【网络流】解题报告: luogu P2045 方格取数加强版(k取方格数)(最大费用最大流)
- 您如何与Docker的流程连接和分离?
- 微信小程序电子画板canvas2d签名小程序插件绝对可用
- DCMTK:DcmAttributeMatching的单元测试
- 【托管服务qin】WEB网站压力测试教程详解
- 常见Linux命令(非文件操作)
- 游戏设计艺术 第2版 (Jesse Schell 著)
- SAP 物料编码更改标准解决方案
- tcptracerte参数_CCNA安全题库
- CSS3 transition改变内联样式无效的原因
- 语音播放与录音 (五分钟学会用 非常全面)
- go php 框架,go框架 - Go语言中文网 - Golang中文社区
- Mac 输入法候选词框消失的解决方法
- Linux系统增加新硬盘
- 易语言调用子程序_ c,易语言汇编调用子程序源码
- for/in 循环遍历对象的属性
- 点击输入框,标题上移
- 0.618方法matlab流程图,0.618法的matlab实现
- 猫耳FM音频转换成MP3格式
热门文章
- leetcode【537】Complex Number Multiplication(复数相乘)
- Android菜鸟如何学习Android系统开发?(
- 根据经纬度,获取方圆10公里内的数据
- 部分网站无法打开和hosts文件修改
- 手机wap和html有什么区别,解析WEB和WAP之间有什么区别
- 微信小程序在线考试管理系统+后台管理系统
- 中国科学技术大学计算机专业排名,2019中国科学技术大学专业排名
- 基层教学组织评估系统5_系统管理员数据维护模块功能完善,优化教学组织名称的输入提示补全,项目打包部署篇
- [区间DP]JZOJ 3095 秘密文件
- linux下的opencv-4.5.5 及 opencv_contrib 扩展模块安装