具有实例属性的模型堆叠

数据挖掘 集成建模
2022-02-16 10:55:12

根据我对模型堆叠的理解:元估计器训练结合 N 模型预测以适应基本事实。一旦经过训练,它就会结合第一级输出来接近基本事实。

元估计器是一个类型的模型: (ypred1,ypred2,ypred3)ypredstack

因此组合仅基于第一级预测的值。但是,堆叠数据的每一行还链接到其他属性:“品牌”、“型号”、“功率”。为什么我们不利用这些属性来确定最佳组合?因此,如果品牌为“NaN”时模型 1 是最好的,元数据将学习它并将每个具有 NaN 品牌的预测重定向到模型 1。

所以我提出的元估计器如下: (ypred1,ypred2,ypred3,品牌为空)ypredstack

  • 这种方法存在吗?
  • 如果没有,这是一个好主意还是坏主意?
1个回答

堆叠学习者的基本原理是结合各个学习者的优势。

  • 一方面,你的想法是有道理的:如果学习者有不同的优势,添加一些特征可能有助于元模型检测何时更重视特定的学习者。在某些情况下,整个元模型完全有可能以这种方式更好地工作。
  • 另一方面,概括这个想法往往会破坏堆叠的目的:
    • 如果我们事先知道特定模型在某些特定情况下特别好,那么在这种情况下完全切换到该模型可能是最佳选择(无堆叠)。
    • 如果我们没有任何特定知识,那么这将需要将许多/所有原始特征添加到元模型中,以防万一它们有所帮助。但是通过添加特征,很可能(1)模型会尝试直接使用特征,因此会崩溃到单个学习器本身,以及(2)模型会更复杂,因此更容易过度拟合并且可能不会使最好地利用个别学习者的输出。

总结一下:堆叠方法依赖于元模型的“使事情变得简单”,因此它只需要调用单个学习者的答案。这样,元模型可以“专注”于优化使用这些答案。我们添加的功能越多,它无法正常工作的风险就越大。