我有250张人脸图像,我将用这些图像来训练模型。为了方便起见,我要做的是挑选前10个图像,并使用leave-one-out交叉验证来训练模型,以便每个图像都有机会成为测试图像。我所理解的是,在这种情况下,我的训练数据集的大小是9,测试数据集的大小是1。之后,我将获得下10个图像,然后使用它们来训练模型。在这种情况下,我的训练数据集的大小将是19,测试数据集将是1(这将重复发生20次,以便每个图像都有机会出现在测试集中)。同样,这个过程一直持续到我使用了所有的250张图像来训练模型。
我不理解的是“验证数据集”。我做错了吗?
在Stackoverflow上有一个答案,但我不清楚。这就是我发布这个问题的原因
发布于 2014-07-31 15:36:53
你应该以大约6:2:2的比例将你的数据分成训练集、验证集和测试集。为了训练你的模型,你可以使用训练集。通过比较训练集和验证集的结果,您可以获得有关偏差和方差的信息。最后,测试集显示了您的模型预测的好坏。在训练期间,你的模型应该看不到任何你的测试用例。
发布于 2018-01-21 14:54:44
原因是,开发模型总是涉及调整其配置:例如,选择层的数量或层的大小(称为模型的超参数,以将它们与参数区分开来,这些参数是网络的权重)。您可以使用验证数据上的模型性能作为反馈信号来进行此调整。本质上,这种调优是一种学习形式:在某些参数空间中寻找好的配置。
将数据分成训练集、验证集和测试集似乎很简单,但有一些高级方法可以在数据很少的情况下派上用场,比如只有25个数据点的情况。
你可以看看三个经典的评估方法:
使用shuffling的
https://stackoverflow.com/questions/25041565
复制相似问题