Validation 人脸表情数据集的训练验证测试集分割

Validation 人脸表情数据集的训练验证测试集分割,validation,machine-learning,computer-vision,neural-network,conv-neural-network,Validation,Machine Learning,Computer Vision,Neural Network,Conv Neural Network,我使用的是卷积神经网络(CNN),我只想问一下我划分训练/验证/测试集的方法是否正确 我一共有55门课。 我计划将他们分为80-10-10名,分别用于培训(45名受试者)、验证(未看到的5名受试者)、测试(未看到的6名受试者) 验证集是否也应该包含看不见的主题?或者我可以洗牌整个训练集,并使用其中的一部分(10-20%)作为验证集 我已经读到,使用N次交叉验证,整个训练集(实例)被洗牌,然后分成N次,模型被训练并平均N次。 然而,对于神经网络或CNN,我们不使用交叉验证,因为它在计算上非常昂贵

我使用的是卷积神经网络(CNN),我只想问一下我划分训练/验证/测试集的方法是否正确

我一共有55门课。 我计划将他们分为80-10-10名,分别用于培训(45名受试者)、验证(未看到的5名受试者)、测试(未看到的6名受试者)

验证集是否也应该包含看不见的主题?或者我可以洗牌整个训练集,并使用其中的一部分(10-20%)作为验证集

我已经读到,使用N次交叉验证,整个训练集(实例)被洗牌,然后分成N次,模型被训练并平均N次。 然而,对于神经网络或CNN,我们不使用交叉验证,因为它在计算上非常昂贵

我只是想知道哪一个是正确的,因为使用了一组看不见的主题,我的模型在3-5个时期后开始过度拟合,根本无法学习。 另一方面,如果我使用10-20%的训练集作为我的验证集,我的模型使用3层CNN以合理的准确度(45-50%)学习,但当使用看不见的测试集进行测试时,我的前1名准确度仅为15-16%左右


非常感谢。

总的来说,没有规则;几乎没有经验法则。开发拓扑和模型的大部分工作是调整超参数;列车试验验证比率只是其中之一。典型的拆分大致为2:1:1,根据用途和数据集的不同,有很多变化。我开始质疑部门,如果培训少于50%,或者测试或验证少于20%(尽管15%有时很有用,尤其是如果数据集太小)

“正确”在很大程度上取决于您对模型的最终目的。如果您希望它处理新的主题,那么当然您必须包括测试和验证中未看到的主题。如果你只需要对给定的主题进行很好的区分,那么你会想要一个平衡的组合,可能是45:10:0——在这种情况下,你会欢迎过度拟合


如果你希望处理普通人群的表情(新的主题),那么我相信你缺少训练主题。要正确调整这样一个模型,你需要足够的时间来自由地调整比例,即使是8:1:1这样的苗条也会给你带来有用的结果。

在开发CNN时,你应该问自己的第一个问题是你是否有足够的数据来支持它。每个主题有多少张图片?如果少于100,我建议寻找更多的训练数据是正确的做法。我甚至建议获得10000多张训练图像。@ThomasPinetz我有500k的数据。每个受试者有100个表达视频剪辑,因此总共有5500个视频剪辑,平均约2-5秒。我想数据已经足够了,我想问的是分割是否正确。嗨@Prune非常感谢你的回答。我很开明,我对模型的用途一无所知,也许我应该问问我的顾问。然而,这是打字错误吗?“如果你只需要很好地区分给定的受试者,那么你会想要一个平衡的组合,可能是45:10:0——在这种情况下,你会欢迎过度拟合。”45%用于培训,10%用于验证,45%用于测试?对不起;这是45门课对10门课。对于验证,您可以使用55的整个输入集。非常感谢,我已经尝试创建了一个模型,用于对给定的主题进行很好的区分(而不是处理新主题的模型),我不认为我拟合过度,因为经过培训后,我对整个验证数据(10%)的准确率在50%左右,而在图表上,批量大小为256时,约为70-75%。我做得对吗?另外,我只是想知道,为什么我应该在训练模型后使用全部55个输入集作为验证?当你的目标是完全适合这组主题时,使用全部55个进行验证是适用的:你会想要过度适合。我仍然无法判断你是否“做得对”。我建议你调整你的比例:也可以尝试60:20:20和其他一些组合,看看你的准确度。批量大小对准确度的影响应该很小,但低端除外(批量大小可能为1-4,或较小且不混洗);应该可以。主要考虑因素有内存使用和多节点通信(如果您有集群)。