我正在使用Keras解决回归任务。在那里,用于保存模型权重的选项为:
如果我根据验证损失选择模型权重,我的结果将偏向验证集。但话又说回来,训练集也是如此。 我还可以保存上述所有权重,并测试在测试集上性能最佳的权重-这会对测试集产生偏差。那该用哪一个呢?
这个问题对我来说似乎真的很基础,但是不幸的是,我无法为自己找到答案。如果有一篇我想念的文章,请随意发布链接而不是答案。
答案 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