12. 总结:建立开发和测试集(machine learning
2018-04-19 本文已影响0人
whj0709
- 从你未来期望获取的数据和希望表现得更好的分布上选择开发和测试集。这可能和你的训练集的分布不一致;
- 如果可能的话从同一个分布中选择开发集和测试集;
- 为你的团队选择一个单个数字评估指标用于优化。如果你关心的是多个目标,考虑将它们合并成一个公式(比如平均多个错误指标)或定义满足指标和优化指标;
- 机器学习是一个高迭代的过程:在寻找到你满意的方案之前你可能试过很多想法;
- 有开发/测试集和一个单个数字的评估指标可以保证你迅速地评估算法,所以会迭代地更快;
- 当开始一个新项目,试着在一周之内快速建立开发/测试集和评估指标。在一个成熟的应用上可以花更长的时间;
- 旧的启发式方法,即70%/30%的训练/测试集分割,不适用于你有大量数据的情况下;开发集和测试集可能远小于数据的30%;
- 开发集应该大道足以检测你的算法准确率上有意义的改变,但也没必要非常大。你的测试集应该足够大,可以给你系统最终的性能提供可信的评估;
- 如果开发集和评估指标不再指引你的团队正确方向,快速改变它们: (i) 如果你过拟开发集,获取更多的开发集数据;(ii) 如果你关心的实际分布和开发/测试集分布不一样,获取新的开发/测试集;(iii) 如果你的评估指标不再衡量对你最重要的东西,改变指标;