1. 综述
可能是因为缺少实践经验,好几次都记不清 training set,validation set 和 test set 的区别,尤其是 validation set 很容易和 test set 弄混。每次都是忘了再查,查了又忘。这次干脆记录下来方便以后复习,也供大家一起学习。
2. training set
training set 汉语是训练集,也就是训练神经网络时需要使用的集合。他的主要作用是在 back propagation 的时候调整网络中的权重,以减小损失函数。
3.validation set
validation set 汉语是验证集,是在挑选超参的时候参考的指标。比如你同时训练了一个100层的神经网络和一个1层的神经网络,那怎么对比知道哪个神经网络更好呢,我们就参考神经网络对 validation set 的预测能力来挑选。
4. test set
test set 汉语是测试集,是最终神经网络调好参数并训练完成之后用来量化测量其预测能力的数据。不能用 training set 的原因是网络本来就是从 training set 学习来的,再用 training set 无法测试网络的推广能力。validation set 也不能使用,因为我们无法确定拥有较低 validation loss 的网络是因为正确选择了超参还是碰巧我们的模型对 validation set 中的数据有更好的预测能力,也就是bias。当我们的神经网络在 test set 和 validation set 上表现类似的时候,我们就可以说已经排除了bias的影响。
5. 对比总结
简单来说,training set 是用来调整权重的,validation set 是用来选择超参的,test set 是用来排除 model bias 的。
6. 参考资料
(5) Intuition: Training Set vs. Test Set vs. Validation Set - YouTube