Machine learning 叠加,叠加泛化算法

Machine learning 叠加,叠加泛化算法,machine-learning,stacked,ensemble-learning,Machine Learning,Stacked,Ensemble Learning,我试图理解堆叠是如何工作的,但到目前为止,我不确定我是否理解正确。以下是我到目前为止的理解: 我们用完整的数据集训练每个k-base学习者(0级) 我们让每个k-base学习者预测整个数据集 我们根据k-base学习者的所有预测创建一个新的数据集。新的数据集看起来像我们的原始数据集+每个基础学习者的预测 该数据集用于培训元学习者(1级) 我的问题是: 到目前为止这是正确的吗 我经常读到交叉验证在某种程度上用于堆叠,但我不知道它是如何使用的?或者它甚至是我缺少的一个重要部分 非常感谢您的理解基本正

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

  • 我们用完整的数据集训练每个k-base学习者(0级)

  • 我们让每个k-base学习者预测整个数据集

  • 我们根据k-base学习者的所有预测创建一个新的数据集。新的数据集看起来像我们的原始数据集+每个基础学习者的预测

  • 该数据集用于培训元学习者(1级)

  • 我的问题是:

  • 到目前为止这是正确的吗
  • 我经常读到交叉验证在某种程度上用于堆叠,但我不知道它是如何使用的?或者它甚至是我缺少的一个重要部分

  • 非常感谢

    您的理解基本正确!在

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

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

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

    是的,交叉验证通常用于堆叠。当你按照你描述的那样做时,元模型(你称之为1级)可能会与基础模型所做的预测过度吻合,因为每个预测都是在看到整个数据集之后做出的


    因此,您要做的是交叉验证,并将数据分解为k倍。您使用第k个保持折叠上的预测(在所有k个折叠中循环),以获得(希望)模型对未看到数据的预测的无偏估计。然后将元模型与这些模型相匹配(没有交叉验证)

    你的理解基本上是正确的!在

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

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

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

    是的,交叉验证通常用于堆叠。当你按照你描述的那样做时,元模型(你称之为1级)可能会与基础模型所做的预测过度吻合,因为每个预测都是在看到整个数据集之后做出的

    因此,您要做的是交叉验证,并将数据分解为k倍。您使用第k个保持折叠上的预测(在所有k个折叠中循环),以获得(希望)模型对未看到数据的预测的无偏估计。然后将元模型与这些模型相匹配(没有交叉验证)