训练模型后最佳权重是多少?损失最低?验证损失?

时间:2018-09-19 14:04:23

标签: machine-learning neural-network keras

我正在使用Keras解决回归任务。在那里,用于保存模型权重的选项为:

  1. 在训练过程结束时使用模型权重(对我来说:如果十个星期内的损失没有改善,则尽早停止)
  2. 使用产生最大损失的权重或
  3. 使用产生最佳验证损失的权重。

如果我根据验证损失选择模型权重,我的结果将偏向验证集。但话又说回来,训练集也是如此。 我还可以保存上述所有权重,并测试在测试集上性能最佳的权重-这会对测试集产生偏差。那该用哪一个呢?

这个问题对我来说似乎真的很基础,但是不幸的是,我无法为自己找到答案。如果有一篇我想念的文章,请随意发布链接而不是答案。

1 个答案:

答案 0 :(得分:2)

我想人们通常会选择具有最佳验证性能的模型,然后在测试集上评估模型性能。尽管模型选择可能会导致对验证集的偏见,但测试集为看不见的数据提供了对模型性能的公正评估。

我认为此scikit学习页面提供了对该概念的简要说明。 https://angular.io/guide/testing

如果我没记错的话,吴安德(Andrew Ng)的机器学习课程也涵盖了该主题。 http://scikit-learn.org/stable/auto_examples/model_selection/plot_nested_cross_validation_iris.html