神经网络中验证集、训练集和测试集

验证集

对于所有的训练集,训练一个epoch之后(当然也可以自己设定),使用用验证集来测试一下模型训练效果,由于训练集和验证集的不可交性,所以在验证集上面的结果是有参考意义的。

  • 验证集并没有参与训练过程中的梯度下降过程,狭义上来讲就是不参与反向传播过程中的参数更新。
  • 但是广义上来讲,验证集存在的意义确实参与了一个“人工调参”的过程,根据模型训练一段时间后,在valid data上的表现来决定是否需要训练提前终止,或者根据这个过程模型的性能变化来调整模型的超参数,如学习率,batchsize等
  • 因此,也可以认为,验证集也参与了训练,但是并没有使得模型去overfit验证集

验证集是否一定要有?

不一定要有

数据量较小(传统机器学习)

  • 没有验证集,建议设置成训练集:测试集=7:3
  • 有验证集,训练集:验证集:测试集=6:2:2

深度学习

  • 深度学习中若是数据很大,可以将训练集、验证集、测试集比例调整为98:1:1

参考网址

https://blog.csdn.net/fs1341825137/article/details/111218768

你可能感兴趣的:(深度学习,python,pytorch)