我对验证数据有点困惑。这个数据主要是干什么用的??就像我正在看一些教程,他们有一些训练[我知道]图像,他们有一些验证图像[不知道]和一些测试[我知道]图像?那么验证图像主要是为了什么?
验证数据和测试数据之间的区别?
数据挖掘
机器学习
数据挖掘
深度学习
2021-09-25 04:39:59
1个回答
验证集有两种用途:
1)知道何时停止训练
一些模型是迭代训练的——比如神经网络。模型迟早会开始过度拟合训练数据。这就是为什么你反复测量模型在验证集上的分数(比如在每个 epoch 之后),一旦验证集上的分数再次开始下降,你就停止训练。
来自关于过度拟合的维基百科:
“训练误差以蓝色显示,验证误差以红色显示,两者都是训练周期数的函数。如果验证误差增加(正斜率)而训练误差稳步减小(负斜率),则可能存在过度拟合的情况发生。最好的预测和拟合模型将是验证误差具有全局最小值的地方。
2) 参数选择
您的模型需要设置一些超参数,例如学习率、要使用的优化器、层/神经元的数量和类型、激活函数,甚至是神经网络与 SVM 等不同的算法……您将不得不摆弄使用这些参数,试图找到最有效的参数。
为此,您使用每组参数训练模型,然后使用验证集评估每个模型。最后,您选择在验证集上产生最佳分数的模型/参数集。
在上述两种情况下,模型可能已经拟合了验证集中的数据,从而导致得分有偏差(有点过于乐观)——这就是为什么在发布得分之前在测试集上评估最终模型的原因。
其它你可能感兴趣的问题