我对集成学习有点困惑。简而言之,它运行 k 个模型并获得这 k 个模型的平均值。如何保证 k 个模型的平均值会优于任何一个模型本身?我确实理解偏差是“分散的”或“平均的”。但是,如果集成中有两个模型(即 k = 2)并且其中一个比另一个更差 - 集成不会比更好的模型更差吗?
集成方法如何胜过其所有成分?
不能保证。正如您所说,整体可能比单个模型更差。例如,取真实模型和坏模型的平均值会得到一个相当糟糕的模型。
的平均值只有当模型(在某种程度上)彼此独立时,模型才会成为一种改进。例如,在 bagging 中,每个模型都是从数据的随机子集构建的,因此内置了一些独立性。或者可以使用不同的特征组合来构建模型,然后通过平均来组合。
此外,模型平均仅在单个模型具有高方差时才有效。这就是为什么使用非常大的树构建随机森林的原因。另一方面,平均一堆线性回归模型仍然会给你一个线性模型,它可能不会比你开始使用的模型更好(试试看!)
其他集成方法,例如提升和混合,通过将单个模型的输出与训练数据一起作为更大模型的输入来工作。在这种情况下,它们通常比单个模型工作得更好也就不足为奇了,因为它们实际上更复杂,而且它们仍然使用训练数据。
在您的示例中,您的两个模型的集合可能比单个模型本身更糟糕。但是您的示例是人为的,我们通常在我们的集合中构建两个以上。
不能绝对保证集成模型比单个模型表现更好,但是如果你构建了许多这样的模型,并且你的单个分类器很弱。你的整体表现应该比单个模型更好。
在机器学习中,训练多个模型通常优于训练单个模型。那是因为你有更多的参数需要调整。
我只是想抛出一些在这种情况下很少讨论的东西,它应该让你深思。
Ensemble 也适用于人类!
已经观察到,平均人类预测比任何个人预测都能提供更好的预测。这被称为群众的智慧。
现在,您可能会争辩说这是因为有些人拥有不同的信息,所以您实际上是在平均信息。但是不,即使对于诸如猜测罐子中豆子数量之类的任务也是如此。
有很多关于这方面的书籍和实验,这种现象仍然困扰着研究人员。
话虽这么说,正如@Flounderer 指出的那样,真正的收益来自所谓的不稳定模型,例如决策树,其中每个观察结果通常都会对决策边界产生影响。像 SVM 这样更稳定的算法不会获得太多收益,因为重采样通常不会对支持向量产生太大影响。
实际上,单个模型很可能比整体模型更好。
即使您的数据中没有一些模型高估和低估的点(在这种情况下,您可能希望平均误差被否定),一些最流行的损失函数(如均方损失)正在惩罚单个大偏差多于一些中等偏差。如果您平均的模型有些不同,您可能希望方差变得“更小”,因为平均值消除了明显的偏差。可能这可以解释。