代码之家  ›  专栏  ›  技术社区  ›  Mohit Shah

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

  •  1
  • Mohit Shah  · 技术社区  · 6 年前

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

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

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

    但我的问题是,如果使用正确的超参数,未选择的模型可能会表现得更好。

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

    1 回复  |  直到 5 年前
        1
  •  1
  •   carrdelling    6 年前

    这取决于每篇文章/书籍中遵循的实验设置,但简而言之,在同一实验中执行模型选择+超参数优化的正确方法是使用 嵌套交叉验证 :

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

    你可以看看 this other question 了解有关此验证方案的详细信息。

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