堆叠

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

简介

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

如下图所示,这里有一个如何使用堆叠泛化来组合泛化器的例子:G1和G2是两个泛化器,学习集L用一个椭圆表示,问题q位于L之外。将L分成两部分:一部分是单个输入输出对(x,y)组成,另一部分则包含L的其余部分,表示为{L -(x,y)}。给定分区后,在{L -(x,y)}上训练G1和G2。然后对这两个泛化器提问问题x; 他们的猜测分别是g1和g2。一般来说,由于泛化器还没有被(x,y)训练过,g1和g2都会偏离y。因此,当G1猜测g1和G2猜测g2时,正确答案是y。这些信息可以在一个新的空间中转换为输入输出信息(即,二维的输入点(g1, g2)和输出(y)。将L做其他区域划分,可以得到一系列这样的点。这些点构成一个新的学习集合L'。在全部学习集上训练G1和G2并且问他们问题q, 然后将它们的一对猜测(g1, g2)作为问题馈入给用新的学习集L'训练的第三个泛化器。这第三个泛化器的猜测才是问题q对应的最终输出。

[描述来源:论文Wolpert, D. H. (1992). Stacked generalization. Neural networks, 5(2), 241-259.;URL:https://www.sciencedirect.com/science/article/pii/S0893608005800231]

下图为堆叠的一个简化概念框图:

第0层分类器的输出将被用作第一层分类器的训练数据来近似同一个目标函数。基本上,人们会让第一层分类器自己去找到一个适合的组合机制。从而得到最终的输出。

[图片来源:http://www.chioka.in/stacking-blending-and-stacked-generalization/]

2.发展历史

描述

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

主要事件

1

年份

事件

相关论文/Reference

2

1992

Wolpert首次提出stacked generalization

Wolpert, D. H. (1992). Stacked generalization. Neural networks, 5(2), 241-259.

3

1996

在Wolpert模型的基础上改进算法,用于回归问题

Breiman, L. (1996). Stacked regressions. Machine learning, 24(1), 49-64.

4

1996

堆叠被用于非监督学习中的密度估计问题

Smyth, P., & Wolpert, D. (1999). Linearly combining density estimators via stacking. Machine Learning, 36(1-2), 59-83.

5

2003

将堆叠与贝叶斯模型平均方法作比较,发现前者效果更好

Clarke, B. (2003). Comparing Bayes model averaging and stacking when model approximation error cannot be ignored. Journal of Machine Learning Research, 4(Oct), 683-712.

6

2006

将堆叠泛化方法用于蛋白质分类问题

Wang, S. Q., Yang, J., & Chou, K. C. (2006). Using stacked generalization to predict membrane protein types based on pseudo-amino acid composition. Journal of theoretical biology, 242(4), 941-946.

7

2009

介绍了一种特征权重线性堆叠技术,该技术被用于Netflix比赛中,取得过出色表现

Sill, J., Takács, G., Mackey, L., & Lin, D. (2009). Feature-weighted linear stacking. arXiv preprint arXiv:0911.0460.Chicago

8

2012

用堆叠方式构建深度网络结构

Deng, L., Yu, D., & Platt, J. (2012, March). Scalable stacking and learning for building deep architectures. In Acoustics, Speech and Signal Processing (ICASSP), 2012 IEEE International Conference on (pp. 2133-2136). IEEE.

发展分析

瓶颈

需要解决的难点是如何确定最佳的hyperparameters的问题。

未来发展方向

采用自动化方法来实现高效率的堆叠,从而提升机器学习的效果。

Contributor: Yueqin Li

相关人物
大卫·沃尔伯特
大卫·沃尔伯特
美国数学家、物理学家和计算机科学家。他是圣达菲研究所的教授。他与Macerday一起提出了“没有免费的午餐”(NFL)定理,发展了最优化理论。
俞栋
俞栋
俞栋,语音识别与深度学习领域的专家,现任腾讯AI Lab(人工智能实验室)副主任。俞栋曾在语音识别领域出版了两本专著并发表过大量论文,也是60项专利的发明人及深度学习开源软件CNTK的发起人和主要作者之一。
莱奥·布雷曼
莱奥·布雷曼
1928-2005,加州大学伯克利分校的杰出统计学家、美国国家科学院的成员。他的工作有助于弥合统计学和计算机科学之间的差距,特别是在机器学习领域。他最重要的贡献是在分类和回归树方面的工作。
邓力
邓力
邓力,本科毕业于中国科学技术大学,随后在威斯康星大学麦迪逊分校获的硕士和博士学位。曾任微软人工智能首席科学家。邓力2009 年就同 Geoffrey Hinton 教授合作,首次提出并将深度神经网络应用到大规模语言识别中,显著提高了机器对语音的识别率,极大推动了人机交互领域的发展与进步。2017年5月,他加入了市值300亿美元的对冲基金Citadel并担任首席人工智能官。
简介
相关人物