我想问一下训练,验证和测试集的分布吗? 让我们假设,我想用“ cat”和“ dog”两个类来制作一个二进制resnet分类器。
假定每个类的图像名称为:
cat:a,b,c,d,e
狗:f,g,h,i,j
假设我希望每个类别的 2 图像成为测试集,每个类别的 1 图像成为验证集。
哪种分配方案实际上是正确的?
方案1
测试集
猫:a,b
狗:我,j
火车组
猫:c,d
狗:f,g
设定值
猫:e
狗:h
方案2
测试集
猫:a,b
狗:我,j
火车组
猫:c,d,e
狗:f,g,h
设定值
猫:e
狗:h
让我感到困惑的是,验证集还是方案2 中的训练集的成员吗?还是验证集与方案1中的训练集是分开/不同的? ? 谢谢你的帮助
答案 0 :(得分:0)
培训,验证和测试集-这三套必须完全不同。一个纪元执行期间,一个人不会溢出到另一个。
训练集用于训练模型,即学习权重。
验证集用于根据性能微调超参数。在达到令人满意的模型后,将测试集带入图片。
测试集就像是一个巨大的惊喜,真正的展示。待模型确定后才能看到。它有助于分析真实意义上学习的模型。
如何将它们分开?最好将它们随机分离并在每个集合中使每个类具有相等的分布。
要进行培训,您还可以研究CrossValidation。它有助于消除在训练和验证同一组图像时可能出现的偏差性质。