我可以在组合的(train + dev)集合上训练微调模型,然后用测试集进行评估吗?

时间:2019-05-06 14:37:29

标签: keras deep-learning

我正在使用的数据集包括训练集和测试集。为了微调深度学习模型,将训练集的10%用作验证集。找到最佳的超参数值之后,两个可能的选项是

a)使用测试集评估模型(即在90%的训练集上训练的模型)

b)使用测试集评估模型(即在完整训练集上重新训练的模型)

以上哪个选项有效?为什么?

1 个答案:

答案 0 :(得分:0)

两种选择都是可能的,
但是在第一种情况下,HPP是最优的,在第二种情况下,它们通常接近最优的超参数(但不是最优的),但是您拥有更具代表性的数据集

通常建议进行CrossValidation https://scikit-learn.org/stable/modules/cross_validation.html->选择其他训练/测试以具有更具代表性的案例,并根据每一折的平均值选择最佳HPP

因为风险在于,对于这种特定情况,您的模型将非常好,因为对于Kaggle数据集,您可以拥有,但可能无法代表生产中的实际用例。

总结:
1.如果您只想要此集合的最佳模型,则选项1可能是最安全的(选项2也可以完成,但结果可能会更差)
2.如果您正在进行“实际案例研究” ,则最好进行交叉验证,以获得更可靠的HPP