1

我试图了解堆叠是如何工作的,但到目前为止我不确定我是否理解正确。所以这是我到目前为止所理解的:

  1. 我们用完整的数据集训练每个k个基学习器(level-0)。

  2. 我们让k个基学习器中的每一个预测整个数据集。

  3. 我们从k个基学习器的所有预测中创建一个新数据集。新数据集看起来像我们的原始数据集 + 每个基础学习器的预测。

  4. 该数据集用于训练元学习器(1 级)。

我的问题:

  1. 到目前为止这是正确的吗?
  2. 我经常读到交叉验证以某种方式用于堆叠,但我不知道它是如何使用的?或者它甚至是我缺少的重要部分?

非常感谢

4

1 回答 1

4

您的理解大多是正确的!在

新数据集看起来像我们的原始数据集 + 每个基础学习器的预测。

可以使用每个基础学习器的原始特征 + 预测,但是当人们谈论堆叠时,他们通常只使用每个基础学习器的预测。

我经常读到交叉验证以某种方式用于堆叠,但我不知道它是如何使用的?或者它甚至是我缺少的重要部分?

是的,交叉验证通常与堆叠一起使用。发生的情况是,当您按照您的描述进行操作时,元模型(您称之为级别 1)可能会过度拟合基本模型所做的预测,因为每个预测都是在查看整个数据集后进行的。

因此,您要做的是交叉验证,并将数据分解为 k 折。您使用对第 k 个保留折叠的预测(循环通过所有 k 个折叠)来获得(希望)无偏估计模型将对看不见的数据进行预测。然后你将元模型拟合到那些(那里没有交叉验证)。

于 2016-10-11T16:29:16.153 回答