建立开发集和测试集
- 从分布中选择开发集和测试集,以反映你期望在未来获得的数据,并希望在上面做得很好。这可能和你的训练数据分布不同。
- 如果可能的话,选择来自同一分布的开发集和测试集。
- 为你的团队选择单一数字的评估指标进行优化。如果你关心多个目标,请考虑把它们合并到一个公式中(例如平均多个错误指标),或设定满足指标和优化指标。
- 机器学习是一个高度迭代的过程:在发现你满意的方法之前你可能需要尝试很多的idea。
- 具有开发/测试集和单一数字评估指标可以帮助你快速评估算法,因此迭代地更快。
- 当开始一个全新的应用时,尝试快速建立开发/测试集和评估指标,最好在一周之内。当然,在成熟的应用程序上花费更长的时间也是ok的。
- 依据70%:30%的比例划分训练/测试集这一经验性的方法不太适用于你拥有大量数据的情况;开发/测试集可以占有远小于30%的数据量。
- 你的开发集数据量应足够大,大到能检测出你的算法准确性上的有意义的改变,但没必要更大。你的测试集应该足够大,大到能对你的系统整体性能评估拥有一个很高的自信度。
- 如果你的开发集和评估指标不再使你的团队在正确方向上前进,快速改变它:(i)如果你过拟合了开发集,去获得更多的开发集数据。(ii)如果你所关心的实际分布和开发/测试集 的分布不同,那么得到新的开发/测试集 数据。(iii)如果你的评估指标不再能衡量对你来说最重要的东西,请改变评估指标。