首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >面部表情数据集的训练验证测试集分割

面部表情数据集的训练验证测试集分割
EN

Stack Overflow用户
提问于 2016-10-03 08:10:17
回答 1查看 1K关注 0票数 1

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

我一共有55门学科。我计划把它们分成80-10-10个,用于培训(45个科目)、验证(5个科目未见)、测试(6个科目未见)。

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

我读过,使用N-折叠交叉验证,整个训练集(实例)被洗牌,然后分裂成N-折叠,模型被训练和平均N次。然而,在神经网络或CNN的情况下,我们不使用交叉验证,因为它是非常昂贵的计算。

我只是想知道哪一种方法是正确的,因为使用了一组看不见的主题,我的模型在3-5年后就开始变得过于适合,根本不学习。另一方面,如果我使用10%-20%的训练集作为我的验证集,我的模型以合理的精确度(45%-50%)使用3层CNN来学习,但是当用看不见的测试集测试时,我的前1级的准确率仅为15%-16%。

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-03 21:08:05

总的来说,没有规则;几乎没有经验法则。开发拓扑和模型的大部分工作是调整超参数;列车测试验证率只是其中之一。典型的分裂大约是2:1:1,有很大的变化,取决于目的和数据集。如果培训少于50%,或者测试或验证小于20% (虽然15%有时有用,尤其是如果数据集太小),我就开始质疑这种划分。

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

如果你希望处理来自普通人群(新学科)的表达,那么我相信你缺少训练科目。要正确地调整这样的模型,您需要足够的时间来自由地使用比例,即使是像8:1:1这样苗条的东西也可以给出您认为有用的结果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39827089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档