Machine learning 验证和评估准确性的差异

Machine learning 验证和评估准确性的差异,machine-learning,computer-vision,neural-network,deep-learning,caffe,Machine Learning,Computer Vision,Neural Network,Deep Learning,Caffe,我正在使用预先训练好的GoogLeNet,然后在我的数据集上对其进行微调,以便对11个类进行分类。验证数据集似乎给出了“loss3/top1”86.5%。但当我在评估数据集上评估性能时,它给了我77%的准确率。无论我对train_val.prototxt做了什么更改,我都在deploy.prototxt中做了相同的更改。验证和评估准确性之间的差异是正常的还是我做错了什么? 有什么建议吗?为了在验证数据集上获得训练模型的公平评估,您需要以有意义的方式设置测试itr和测试批次大小 因此,test\u

我正在使用预先训练好的GoogLeNet,然后在我的数据集上对其进行微调,以便对11个类进行分类。验证数据集似乎给出了“loss3/top1”86.5%。但当我在评估数据集上评估性能时,它给了我77%的准确率。无论我对train_val.prototxt做了什么更改,我都在deploy.prototxt中做了相同的更改。验证和评估准确性之间的差异是正常的还是我做错了什么?
有什么建议吗?

为了在验证数据集上获得训练模型的公平评估,您需要以有意义的方式设置
测试itr
测试批次大小

因此,
test\u itr
应设置为:

Val_data / test_batch_Size

其中,
Val\u data
是验证数据集的大小,
test\u batch\u size
是验证阶段在batch\u size中设置的验证批次大小值。

约10%的差异非常大。验证集中有多少样本,评估集中有多少样本?这些集合中的标签分布是否相同?@Shai验证数据集中的样本总数为4123,评估中的样本总数为4118。对于每个类,我都确保验证和评估数据集应该包含相同数量的图像。这很奇怪。差异太大,不能被视为“样本错误”,但太小,不能提出一个基本错误…@Shai我应该做什么来解决这个问题,什么是基本错误?您认为评估过程中是否有错误?是否有帮助?我的
测试itr
为40,而
测试批次大小
为50。根据你的公式,我的设置是错误的。你的
test\u itr
应该大于82。我希望这能解决您的问题。@user2409356培训期间的测试阶段似乎没有涵盖整个验证集。尝试将
test\u iter
设置为4123/50~=83,看看您的准确度是多少。@Shai将test\u itr更改为100后,验证数据集的准确度为85.4%。更改测试\u itr不起作用。@user2409356不要将其更改为
100
,它应该是
83
:您对验证示例的一部分计数过多。