优化:统计中的万恶之源?

机器算法验证 交叉验证 优化 过拟合
2022-03-09 19:10:56

我以前听过这样的表达:

“优化是统计中万恶之源”。

例如,该线程中的最佳答案是指在模型选择期间过于激进地优化的危险。

我的第一个问题如下:这句话是否特别归因于任何人?(例如在统计文献中)

据我了解,该声明指的是过度拟合的风险。传统智慧会说,适当的交叉验证已经解决了这个问题,但看起来这个问题还有更多的问题。

即使遵守严格的交叉验证协议(例如 100 个嵌套的 10 倍 CV),统计学家和 ML 从业者是否应该警惕过度优化他们的模型?如果是这样,我们如何知道何时停止搜索“最佳”模型?

2个回答

这句话是对唐纳德·克努特( Donald Knuth)的一句话的转述,他自己把这句话归功于霍尔。以上页面的三个摘录:

过早的优化是编程中万恶(或至少是大部分)的根源。

过早的优化是万恶之源。

15 年后,Knuth 将此称为“Hoare 格言”……

我不知道我是否同意统计数据的解释*。统计中有很多与优化无关的“邪恶”。

即使遵守严格的交叉验证协议(例如 100 个嵌套的 10 倍 CV),统计学家和 ML 从业者是否应该始终警惕过度优化他们的模型?如果是这样,我们如何知道何时停止搜索“最佳”模型?

我认为关键是要完全理解(或尽可能完全地)你所执行的程序的属性。

* I won't presume to comment on Knuth's use of it, since there's little I could say that he couldn't rightly claim to understand ten times as well as I do.

假设优化是指(数据驱动的)模型选择,您可以通过两种方式解析报价(在统计中):

  • 如果您关心预测,则最好使用模型平均而不是选择单个模型。
  • 如果您在用于拟合模型的同一数据集上选择模型,它将对假设您先验选择模型的常用推理工具/程序造成严重破坏。(假设您进行逐步回归,通过交叉验证选择模型大小。对于频率分析,所选模型的通常 p 值或 CI 将是不正确的。我确信涉及模型的贝叶斯分析存在相应的问题选择。)
  • 如果您的数据集与您考虑的模型系列相比足够大,那么过度拟合甚至可能不是问题,并且可能不需要模型选择。(假设您要使用具有少量变量和非常多观察值的数据集来拟合线性回归。无论如何,任何虚假变量的系数估计值都应接近 0,因此您甚至不必费心选择较小的模型。)
  • 如果您的数据集足够小,您可能没有足够的数据来拟合问题的“真实”或“最佳”模型。在这种情况下,做好模型选择意味着什么?(回到线性回归:您是否应该选择具有正确变量的“真实”模型,即使您没有足够的数据来充分测量它们?您是否应该只选择您有足够数据的最大模型?)
  • 最后,即使很明显您可以并且应该进行模型选择,交叉验证也不是万能的。它有许多变体,甚至有它自己的调整参数(折叠数,或训练:测试比率)会影响其属性。所以不要盲目相信。