集成学习:为什么模型堆叠有效?

机器算法验证 机器学习 集成学习 堆叠
2022-02-04 05:05:56

最近,我对模型堆叠作为一种集成学习的形式产生了兴趣。特别是,我对一些用于回归问题的玩具数据集进行了一些实验。我基本上实现了单独的“0级”回归器,将每个回归器的输出预测存储为“元回归器”作为其输入的新特征,并将这个元回归器拟合到这些新特征(来自级别的预测0 个回归变量)。在针对验证集测试元回归器时,我非常惊讶地看到对单个回归器的适度改进。

所以,这是我的问题:为什么模型堆叠有效?直观地说,我希望进行堆叠的模型表现不佳,因为与每个 0 级模型相比,它似乎具有贫乏的特征表示。也就是说,如果我在具有 20 个特征的数据集上训练 3 个 0 级回归器,并将这些 0 级回归器的预测用作我的元回归器的输入,这意味着我的元回归器只有 3 个特征可以学习。似乎 0 级回归器用于训练的 20 个原始特征中编码的信息比元回归器用于训练的 3 个输出特征中编码的信息更多。

2个回答

将集成视为对中心极限定理的基本利用。

中心极限定理松散地说,随着样本量的增加,样本的均值将成为对总体均值实际位置的越来越准确的估计(假设这是您正在查看的统计数据),并且方差将收紧.

如果您有一个模型并且它为您的因变量生成一个预测,那么该预测可能会在某种程度上高或低。但是如果你有 3 或 5 或 10 个不同的模型产生不同的预测,对于任何给定的观察,一些模型的高预测往往会抵消一些其他模型的低误差,净效应将是平均值的收敛(或其他组合)对“真相”的预测。并非每次观察都如此,但总的来说,这就是趋势。因此,一般来说,一个集成将胜过最好的单一模型。

迟到的答案,但可以添加一些关键点。我个人认为模型堆叠是模型平均的“自然续集”。模型平均值通常优于单个模型是有原因的。

模型平均

通常,当使用预测的平均值时,具有相似性能的两个(不同)模型通常比最佳模型表现更好。当惩罚是凸函数(MSE、RMSE...)并且是Jensen 不等式的结果时,尤其如此

模型(加权)平均

模型平均可以看作是模型堆叠的一种特殊情况。如果您在“第一阶段”模型上使用线性模型,您只是在优化赋予每个模型的权重(而模型平均只是为每个模型赋予相同的权重)。

模型堆叠

然后,当您放弃对“阶段 1 特征”训练的模型的线性假设时,您只需增加“搜索”模型的空间大小。这个空间越大,你就越有可能找到更好的性能。

我在模型堆叠中更详细地介绍了这一点:教程

您可能还对这篇文章感兴趣: David H. Wolpert 的Stacked generalization,这是关于这种方法的第一个(据我所知)学者出版物之一。

编辑

我在网上找不到很多其他参考资料,所以我在我的博客上详细说明了上述论点:为什么模型分期有效?