【问题标题】:Why isn't model tuning done before model selection?为什么在模型选择之前不进行模型调整?
【发布时间】:2018-08-19 02:26:33
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: machine-learning data-mining cross-validation model-comparison


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 你能告诉我什么时候可以接受一般比较吗?
    • 当然:例如,当您对测试模型不太感兴趣,而是对管道中的不同步骤感兴趣时。假设您开发了一种新的特征选择方法。您可以检查它如何与多个模型系列一起使用(使用合理的默认配置),并将精力集中在调整特征选择方法的超参数上。几个主要的模型家族(例如 k-nn、决策树、朴素贝叶斯......)通常会在没有大量超参数优化的情况下表现良好,因此您可以在那里进行一般比较。
    猜你喜欢
    • 2017-11-30
    • 2019-12-19
    • 1970-01-01
    • 1970-01-01
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    相关资源
    最近更新 更多