为什么不在模型选择之前进行模型调整?

Why isn't model tuning done before model selection?

我在很多文章和书籍中观察到,模型选择是在模型调优之前完成的。

模型选择通常使用某种形式的交叉验证来完成,例如 k 折,其中计算多个模型的指标并选择最佳的一个。

然后调整所选模型以获得最佳超参数。

但我的问题是,未选择的模型在正确的超参数下可能表现更好。

那么,为什么我们不对所有感兴趣的模型进行调整以获得正确的超参数,然后通过交叉验证选择最佳模型。

这取决于每个article/book后面的实验set-up,但简而言之,在同一个实验中进行模型选择+超参数优化的正确方法是使用Nested Cross-validation:

  • 评估模型性能的外循环(像往常一样)
  • 一个内循环(再次拆分由外循环的 N-1 个训练分区形成的数据集),在每个折叠中执行超参数优化。

您可以查看 this other question 以了解有关此验证方案的更多信息。

但是请注意,在某些情况下,只对所有模型进行一般比较,然后只优化性能最好的模型是可以接受的。但是,在严格的研究中,这远非理想。