您的位置:首页 > 其它

7. How large do the dev/test sets need to be? 开发集和测试集多大合适(《MACHINE LEARNING YEARNING》翻译)

2016-12-09 03:54 603 查看

开发集和测试集多大合适?

开发集应该足够大,大到能检测出你尝试的不同算法之间的差异。例如,如果一个分类器A具有90.0%的准去率而分类器B具有90.1%的准确率,则只具有100个示例的开发集不能够检测出这0.1%的差异。与我看到的其他机器学习问题相比,100个样本的开发集很小。常见的开发集样本规模一般在1000到10000之间。在10000个样本的情况下,你将有更大的可能性检测到0.1%的性能提升。【2】

对于一些成熟和重要的应用程序(例如广告,网页搜索和产品推荐等),我也会看到一些团队在为甚至0.01%的性能提升而努力奋斗,因为它对公司的利润有直接影响。在这种情况下,开发集的数据量可以远大于10000,以便检测更小的改进。

那关于测试集的数据规模呢?它应该足够大,大到能对你的系统整体性能评估拥有一个很高的自信度。一个流行的启发式方法(heuristic)是将30%的数据用于测试。在你拥有一个中等数据量(100到10000个样本)的情况下,它work的很好。但是在大数据时代(现在我们面对的机器学习问题可能会有超过数10亿的样本),分配给 开发/测试集 的数据比例一直在减小,但是 开发/测试集 样本的绝对数量是在增长。在给 开发/测试集 分配数据时,没必要过多地超出其评估算法性能所需要的数据量。

——————————————————————————

【2】理论上,我们可以测试算法的改变是否在开发集上产生统计意义上显著的差异。在实践中,大部分团队并不会为此费神(除非他们正在发表学术研究论文),并且我通常并没有发现统计意义的测试(statistical significance tests)对测量临时进展(measuring interim progress)是有用的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习
相关文章推荐