验证集
对于所有的训练集,训练一个epoch之后(当然也可以自己设定),使用用验证集来测试一下模型训练效果,由于训练集和验证集的不可交性,所以在验证集上面的结果是有参考意义的。
- 验证集并没有参与训练过程中的梯度下降过程,狭义上来讲就是不参与反向传播过程中的参数更新。
- 但是广义上来讲,验证集存在的意义确实参与了一个“人工调参”的过程,根据模型训练一段时间后,在valid data上的表现来决定是否需要训练提前终止,或者根据这个过程模型的性能变化来调整模型的超参数,如学习率,batchsize等
- 因此,也可以认为,验证集也参与了训练,但是并没有使得模型去overfit验证集
验证集是否一定要有?
不一定要有
数据量较小(传统机器学习)
- 没有验证集,建议设置成训练集:测试集=7:3
- 有验证集,训练集:验证集:测试集=6:2:2
深度学习
- 深度学习中若是数据很大,可以将训练集、验证集、测试集比例调整为98:1:1
参考网址
https://blog.csdn.net/fs1341825137/article/details/111218768