machine-learning - 为什么模型选择之前不进行模型调整?

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

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

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

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

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

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

最佳答案

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

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

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

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

关于machine-learning - 为什么模型选择之前不进行模型调整?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49211997/

相关文章:

deep-learning - 深度学习,Loss不减

python - KNeighborsClassifier 中如何使用参数 "weights"?

python - 在 python 中使用 k-means 进行聚类

machine-learning - 优化 RapidMiner 中的决策树参数

artificial-intelligence - 那里有什么样的人工智能工作?

python - scikit-learn 分类器中的评分函数位于何处?

r - 如何更改 XGboost(R 中)中的损失矩阵?

algorithm - 如何在 libsvm 中为训练和测试文件创建源数据文件?

machine-learning - 最佳降维算法

machine-learning - 为什么 sklearn.grid_search.GridSearchCV 在每次执行时返回随机结果?