集成方法如何胜过其所有成分?

机器算法验证 机器学习 集成学习
2022-01-29 22:24:31

我对集成学习有点困惑。简而言之,它运行 k 个模型并获得这 k 个模型的平均值。如何保证 k 个模型的平均值会优于任何一个模型本身?我确实理解偏差是“分散的”或“平均的”。但是,如果集成中有两个模型(即 k = 2)并且其中一个比另一个更差 - 集成不会比更好的模型更差吗?

4个回答

不能保证。正如您所说,整体可能比单个模型更差。例如,取真实模型和坏模型的平均值会得到一个相当糟糕的模型。

的平均值k只有当模型(在某种程度上)彼此独立时,模型才会成为一种改进。例如,在 bagging 中,每个模型都是从数据的随机子集构建的,因此内置了一些独立性。或者可以使用不同的特征组合来构建模型,然后通过平均来组合。

此外,模型平均仅在单个模型具有高方差时才有效。这就是为什么使用非常大的树构建随机森林的原因。另一方面,平均一堆线性回归模型仍然会给你一个线性模型,它可能不会比你开始使用的模型更好(试试看!)

其他集成方法,例如提升和混合,通过将单个模型的输出与训练数据一起作为更大模型的输入来工作。在这种情况下,它们通常比单个模型工作得更好也就不足为奇了,因为它们实际上更复杂,而且它们仍然使用训练数据。

在您的示例中,您的两个模型的集合可能比单个模型本身更糟糕。但是您的示例是人为的,我们通常在我们的集合中构建两个以上。

不能绝对保证集成模型比单个模型表现更好,但是如果你构建了许多这样的模型,并且你的单个分类器很弱你的整体表现应该比单个模型更好。

在机器学习中,训练多个模型通常优于训练单个模型。那是因为你有更多的参数需要调整。

我只是想抛出一些在这种情况下很少讨论的东西,它应该让你深思。

Ensemble 也适用于人类!

已经观察到,平均人类预测比任何个人预测都能提供更好的预测。这被称为群众的智慧。

现在,您可能会争辩说这是因为有些人拥有不同的信息,所以您实际上是在平均信息。但是不,即使对于诸如猜测罐子中豆子数量之类的任务也是如此。

有很多关于这方面的书籍和实验,这种现象仍然困扰着研究人员。

话虽这么说,正如@Flounderer 指出的那样,真正的收益来自所谓的不稳定模型,例如决策树,其中每个观察结果通常都会对决策边界产生影响。像 SVM 这样更稳定的算法不会获得太多收益,因为重采样通常不会对支持向量产生太大影响。

实际上,单个模型很可能比整体模型更好。

即使您的数据中没有一些模型高估和低估的点(在这种情况下,您可能希望平均误差被否定),一些最流行的损失函数(如均方损失)正在惩罚单个大偏差多于一些中等偏差。如果您平均的模型有些不同,您可能希望方差变得“更小”,因为平均值消除了明显的偏差。可能这可以解释