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


16

我对整体学习有些困惑。简而言之,它可以运行k个模型并获得这k个模型的平均值。如何保证k个模型的平均值比任何一个模型都好?我确实知道这种偏见是“分散”或“平均”的。但是,如果集成中有两个模型(即k = 2),而其中一个模型比另一个模型差,该集合不会比更好的模型差吗?



这个主题令我感兴趣,但提出的问题多于已回答的问题。我们都可以使用更多来更严格地定义我们正在使用的所有这些词吗?LATEX
泰勒,

Answers:


23

不能保证。就像您说的那样,合奏可能比单个模型差。例如,取真实模型和不良模型的平均值将得出一个相当不良的模型。

如果模型(某种程度上)相互独立,则k模型的平均值只会有所改善。例如,在装袋中,每个模型都是从数据的随机子集构建的,因此内置了一些独立性。或者可以使用特征的不同组合构建模型,然后通过平均进行组合。

而且,只有在各个模型具有较高方差时,模型平均才可以很好地发挥作用。这就是为什么使用非常大的树木建造随机森林的原因。另一方面,对一堆线性回归模型求平均仍会得到一个线性模型,这可能不会比开始时的模型要好(尝试!)

其他合奏方法(例如增强和混合)通过将各个模型的输出以及训练数据作为更大模型的输入来工作。在这种情况下,它们通常比单个模型更好地工作就不足为奇了,因为它们实际上更复杂,并且仍然使用训练数据。


您不是说RF使用大量树来实现较大差异吗?我希望随着树木的变大,它们将涵盖大多数功能,并且模型之间的差异会减小。
Itamar

不,@ Flounderer是正确的。决策树称为不稳定模型。如果稍微更改数据,则会得到非常不同的树。随机森林是稳定它们的手段。如果用略有不同的数据样本训练两个RF,它们将产生相似的模型。
里卡多·克鲁兹

“对一堆线性回归模型求平均仍会得到线性模型” <-在这里求平均值是什么意思?您还说什么差异?
泰勒,

6

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

不能绝对保证整体模型的性能优于单个模型,但是如果您构建了许多模型,则单个分类器就很弱。您的整体表现应优于单个模型。

在机器学习中,训练多个模型通常胜过训练单个模型。那是因为您还有更多要调整的参数。


2

我只想提出一些在这种情况下很少讨论的内容,它应该给您带来思考的空间。

合奏也可以与人类合作!

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

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

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

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


1
这就是为什么我一直试图聘请不像我这样的人的原因。建立灵活有效的团队的良好建议。
马修·德鲁里

0

实际上,单个模型有可能比集合模型更好。

即使您的数据中没有点有些模型被高估而有些模型被低估了(在那种情况下,您可能希望平均误差会被抵消),一些最受欢迎的损失函数(例如均方损失)仍会受到惩罚单个大偏差大于一些中等偏差。如果您要平均的模型有所不同,您可能希望方差会变小,因为平均值会消除未解决的偏差。也许这是可解释的与


0

是的,可能是这样,但是集成的想法是训练更简单的模型,以免在从不同的集成捕获不同数据特征的同时避免过度拟合。当然,在使用相同的训练数据进行训练时,无法保证整体模型的性能优于单个模型。通过结合集成模型和提升(例如,AdaBoost)可以获得更好的性能。通过增强,您可以通过在每个数据点上分配权重并根据错误进行更新来训练每个下一个集合模型。因此,将其视为坐标下降算法,它可使训练误差随着每次迭代而降低,同时保持恒定的平均模型复杂度。总体而言,这会影响性能。有许多

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.