《Machine Learning Yearning》第7章

这一章主要内容:
1.样本数量适中(100-1000)时,开发集/测试集的比例为7:3比较合理。
2.数量很大时,这个比例需要改变。所需的精度越高,样本数量应该更大。

7 How large do the dev/test sets need to be?

 开发集要足够大才能检测你所尝试的算法之间的差异。例如,如果分类器A有90%的准确率,B有90.1%,那么有100个样本的开发集就无法判断这0.1%的差别。相比较我见过的机器学习问题,100个样本的开发集是很小的,1000-10000的样本比较常见。如果有10000个样本,你就有可能发现这0.1%的的提升 1

 对于成熟和重要的应用—例如,广告、网页搜索和产品推荐。我也见过有的团队会为了0.01%的提升而努力,因为这直接影响了这个公司的收益。在这种情况下,为了获取更小的提升,数据集甚至超过10000。

 测试集应该要多大呢?它应该有足够大,能对系统的整体性能有很高的置信度。一种流行的方式就将你的30%数据用于测试集。当你的样本数量适中(100-1000)的时候,这个比例会有用。但是现在是大数据时代,我们的机器学习问题有时会超过10亿的样本,分配给开发/测试集的部分一直在缩小,即使开发/测试的绝对数量在增加。除了评估你的算法性能所需的数据以外,就没有必要浪费大量的开发/测试数据。

1 从理论上讲,可以测试算法的变化是否会对开发集产生统计上的显著差异。在实践中,大部分团队不会在意这个(除非他们准备发表学术研究论文),而且我通常没有发现统计显著性测试对衡量临时进展有用。

猜你喜欢

转载自blog.csdn.net/Lisa_Ren_123/article/details/81004693