我可以使用一个很小的验证集吗?


15

我了解将数据分为测试集和验证集的原因。我也了解,拆分的大小取决于情况,但通常会在50/50到90/10之间变化。

我建立了一个RNN以纠正拼写,并从大约500万个句子的数据集开始。我削减了50万个句子,然后训练剩下的〜450万个句子。训练完成后,我将使用我的验证集并计算准确性。

有趣的是,仅在我的验证集的4%之后,我的准确度为69.4%,并且该百分比在任一方向上的变化不超过0.1%。最终我只是缩短了验证时间,因为这个数字停留在69.5%。

那么,当我大概可以摆脱1%的费用时,为什么要砍掉10%的费用进行验证?有关系吗?


4
一个普遍的答案是,样本量大于我会说的10,000,将是整个人口中非常有代表性的子集。如果正确绘制了样本,则增加样本成本可能会很高,而您看到的估计值将大致相同。寻找置信区间概念。
Alexey Burnakov

Answers:


20

较大的验证集可提供对样本外性能的更准确估计。但是,正如您已经注意到的那样,在某个时候该估计值可能会像您需要的那样准确,并且您可以对达到该点所需的验证样本量进行一些粗略的预测。

为了获得简单正确的/错误的分类准确性,您可以将估算值的标准误计算为(一个伯努利变量的标准偏差),其中p是一个正确的分类的概率,和Ñ是验证组的大小。当然,您不知道p,但是您可能对它的范围有所了解。例如,假设您希望精度在60-80%之间,并且您希望自己的估计标准误小于0.1%: p1-p/ñpñpn(验证集的大小) 应多大?对于p=0.6我们得到: n> 0.6 0.6 2

p1-p/ñ<0.001
ñp=0.6 对于p=0.8,我们得到: ñ>0.8-0.82
ñ>0.6-0.620.0012=240000
p=0.8 所以这告诉我们,你可以摆脱使用5万个数据样本的不足5%,进行验证。如果您期望更高的性能,或者特别是如果您对样本外性能估算的标准误差较低(例如,p=0.7且se <1%,则仅需要2100个验证样本),则该百分比会降低,或少于数据量的百分之二十)。
ñ>0.8-0.820.0012=160000
p=0.7

这些计算还显示了Tim在回答中提出的观点,即估算的准确性取决于验证集的绝对大小(即),而不是其相对于训练集的大小。ñ

(也可以补充一点,我在这里假设有代表性的抽样。如果您的数据非常异构,则可能需要使用较大的验证集,只是为了确保验证数据包括与训练和测试数据相同的所有条件。 )


14
注意,达到其最大的在p = 1 / 2,在这种情况下,p 1 - p p1-pp=1/2p1-p=1/4p1-p/ñ1/4ñ

11

Ng的Coursera.org深度学习课程对这个问题进行了很好的讨论。正如他所指出的,如果您的数据从小到中等,则标准的8:2或9:1分割是有效的,但是当今许多机器学习问题会使用大量数据(例如,您的情况有数百万个观察值)在这种情况下,您可以将2%,1%甚至更少的数据留作测试集,而将所有剩余的数据用于您的训练集(他实际上主张也使用开发集)。正如他指出的,数据越多你给你的算法,其性能越好,这是深度学习尤其如此*(他还指出,这绝不能成为非深学习机器学习算法的情况下)。

正如Alex Burn在评论中已经注意到的,这实际上与测试集的大小无关,而与测试集的代表性有关。通常,我们希望数据的大小更大,以便更具代表性,但这不是必须的。这始终是一个折衷,您需要进行针对特定问题的考虑。没有规则告诉您测试集的数量不得少于X个案例或数据的Y%。

*- 免责声明:我在这里重复吴彦祖的论点,我不会认为自己是深度学习专家。


2
“这实际上与测试集的大小无关,而与它对问题的代表性有关。” -大概一种风景如画的表达方式是,如果您的训练集几乎完全由猫组成,那么对与猫狗有关的事物进行大型训练就没有用了。
JM不是统计学家

更具体地讲,这是在“火车/开发/测试组”讲座在1周的“改善深层神经网络:超参数优化,规范化和优化”过程(这是整个深度学习专业化的2磅)
icc97

2
这是演讲的全文:“因此,在此示例中,您有100万个示例,如果您只需要10,000个开发人员和10,000个测试人员,则您的比率将更像是10,000是100万的1%,所以您'将有98%的训练,1%的开发,1%的测试。我还看到了一些应用程序,如果您有超过一百万个示例,则最终可能会获得99.5%的训练,0.25%的开发,0.25%的测试或0.4%的开发人员,0.1%的测试。”
icc97

5

Asymptotic Statistical Theory of Overtraining and Cross-ValidationShun-ichi Amari等人的文章中。[1]他们研究了作为验证集而遗漏的最佳样本量(出于早期停止的目的),并得出最佳分割为结论。,其中N是可用样本数。在你的情况下N1/2ñññ=51060.00032=0.032

[1] https://www.ncbi.nlm.nih.gov/pubmed/18255701

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.