Skip to Content
机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)
book

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

by Aurélien Géron
October 2020
Intermediate to advanced
693 pages
16h 26m
Chinese
China Machine Press
Content preview from 机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)
190
7
7.6 堆叠法
本章我们要讨论的最后一个集成方法叫作堆叠法(stacking),又称层叠泛化法
18
。它基于
一个简单的想法:与其使用一些简单的函数(比如硬投票)来聚合集成中所有预测器的预
测,我们为什么不训练一个模型来执行这个聚合呢?图 7-12 显示了在新实例上执行回归
任务的这样一个集成。底部的三个预测器分别预测了不同的值(3.12.7 2.9),然后
最终的预测器(称为混合器或元学习器)将这些预测作为输入,进行最终预测(3.0)。
1
混合
预测值
新实例
预测
7-12:通过混合预测器聚合预测
训练混合器的常用方法是使用留存集
19
。我们看看它是如何工作的。首先,将训练集分
为两个子集,第一个子集用来训练第一层的预测器(见图 7-13)。
2
然后,用第一层的预测器在第二个(留存)子集上进行预测(见图 7-14)。因为预测器
在训练时从未见过这些实例,所以可以确保预测是“干净的”。那么现在对于留存集中
的每个实例都有了三个预测值。我们可以使用这些预测值作为输入特征,创建一个新的
训练集(新的训练集有三个维度),并保留目标值。在这个新的训练集上训练混合器,让
它学习根据第一层的预测来预测目标值。
事实上,通过这种方法可以训练多种不同的混合器(例如,一个使用线性回归,另一个
使用随机森林回归,等等)。于是我们可以得到一个混合器层。诀窍在于将训练集分为
三个子集:第一个用来训练第一层,第二个用来创造训练第二层的新训练集(使用第一
层的预测),而第三个用来创造训练第三层的新训练集(使用第二层的预测 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

算法技术手册(原书第2 版)

算法技术手册(原书第2 版)

George T.Heineman, Gary Pollice, Stanley Selkow
Go语言编程

Go语言编程

威廉·肯尼迪
管理Kubernetes

管理Kubernetes

Brendan Burns, Craig Tracey

Publisher Resources

ISBN: 9787111665977