节俭真的应该仍然是黄金标准吗?

机器算法验证 预测模型 模型选择 模型
2022-01-28 17:00:00

只是一个想法:

简约模型一直是模型选择的默认选择,但这种方法过时到什么程度?我很好奇我们对简约的倾向在多大程度上是算盘和计算尺时代的遗迹(或者,更严重的是,非现代计算机)。今天的计算能力使我们能够构建越来越复杂的模型,并具有越来越强大的预测能力。由于计算能力的上限越来越高,我们真的还需要倾向于简单吗?

当然,更简单的模型更容易理解和解释,但在这个数据集不断增长、变量数量越来越多以及更加关注预测能力的时代,这甚至可能不再是可实现的或必要的。

想法?

4个回答

@Matt 的原始答案很好地描述了简约的好处之一,但我认为它并没有真正回答你的问题。实际上,简约并不是黄金标准。现在不是,以前也不是。与简约相关的“黄金标准”是泛化错误。我们想开发不会过拟合的模型。这对于样本外的预测(或可解释的或误差最小的)与样本中的预测一样有用。事实证明(因为上面列出的事情)简约实际上是泛化错误的一个很好的代理,但它绝不是唯一的。

真的,想想我们为什么使用交叉验证或引导或训练/测试集。目标是创建具有良好泛化精度的模型。很多时候,这些估计样本性能的方法最终会选择复杂度较低的模型,但并非总是如此。作为一个极端的例子,想象一下预言机给了我们一个真实但极其复杂的模型和一个糟糕但简约的模型。如果简约真的是我们的目标,那么我们会选择第二个,但实际上,如果可以的话,第一个是我们想学习的。不幸的是,很多时候最后一句话是最重要的,“如果我们可以的话”。

简约模型是可取的,不仅因为计算要求,而且因为泛化性能。不可能实现完全准确地覆盖样本空间的无限数据的理想,这意味着非简约模型有可能过度拟合并模拟样本总体中的噪声或特质。

当然可以构建具有数百万个变量的模型,但是您将使用对输出没有影响的变量来对系统进行建模。您可以在训练数据集上实现出色的预测性能,但那些不相关的变量很可能会降低您在看不见的测试集上的性能。

如果一个输出变量确实是一百万个输入变量的结果,那么您最好将它们全部放入您的预测模型中,但前提是您有足够的数据要准确构建这种规模的模型,您至少需要数百万个数据点。简约模型很好,因为在许多现实世界的系统中,这种大小的数据集根本不可用,此外,输出主要由相对较少的变量决定。

我认为以前的答案很好地说明了要点:

  • 简约模型往往具有更好的泛化特性。
  • 简约并不是真正的黄金标准,而只是一个考虑因素。

我想添加一些来自我日常工作经验的评论。

当然,预测准确性论点的概括性很强,但其重点在于学术偏见。一般而言,在生成统计模型时,经济体不会使预测性能完全成为主要考虑因素。对于给定的应用程序,有用模型的外观通常存在很大的外部限制:

  • 该模型必须可在现有框架或系统中实现。
  • 该模型必须是非技术实体可以理解的。
  • 该模型必须在计算上是高效的。
  • 该模型必须是可记录的。
  • 该模型必须通过监管约束

在实际应用领域中,许多(如果不是全部)这些考虑都出现在预测性能之前,而不是之后- 模型形式和参数的优化受到这些需求的限制。这些限制中的每一个都使科学家偏向于吝啬。

确实,在许多领域,这些限制正在逐渐解除。但确实是幸运的科学家忽略了它们,他们只关注最小化泛化错误。

对于刚从学校毕业的第一次科学家来说,这可能会非常令人沮丧(这绝对是对我来说,并且当我觉得对我的工作施加的限制不合理时仍然如此)。但归根结底,努力生产不可接受的产品是一种浪费,这比对你的科学自豪感的刺痛感觉更糟。

我认为这是一个非常好的问题。在我看来,简约被高估了。大自然很少吝啬,因此我们也不一定期望准确的预测或描述模型如此。关于可解释性的问题,如果仅仅因为你能理解它而选择一个更简单的模型,它只是适度地符合现实,你到底理解了什么?假设更复杂的模型具有更好的预测能力,无论如何它似乎更接近实际事实。