Machine Learning Yearning 翻译,动手写起来!

chapter12

Posted by Heron on June 7, 2017

12. Takeaways:Setting up development and test sets

  • 从分布中选择反映你在将来期望得到的数据并且做的很好的开发集和测试集。这可能和你训练数据的分布不一样。
  • 如果可能的话从相同的分布中选择开发和测试集。
  • 为你的团队选择一个单数字评估指标去优化。如果你关心多个目标,考虑将它们通过公式组合成一个值(例如多个误差指标的均值)或者定义满意指标(其中的指标只要在一个可接受的范围内即可)和优化指标。
  • 机器学习是一个高度迭代的过程:在你发现一个满意的算法前你可能要尝试很多想法。
  • 使用开发/测试集和单数字评估指标可以帮助你快速评估算法,因此迭代速度更快。
  • 当开始一个全新应用的时候,试着快速建立开发/测试集和评价指标,最好一周之内。在成熟应用上时间长一点也可以。
  • 根据70%/30%比例的开发/测试集这一经验的分割方法对于有大量数据的问题是不适用的;开发和测试集可以占远小于30%的数据比例。
  • 你的开发集应该大到能够检测出你算法上的有意义的精度改变,但是也没有必要特别大。你的测试集要大到能对你系统性能评估提供一个高可信度。
  • 如果最终你的开发集和评估指标不能指导你的团队向正确的方向,快速改变它们:(1)如果开发集上过拟合,获取更多的开发集数据。(2)如果你关心的真是分布与开发/测试集分布不同,获取新的开发/测试集数据。(3)如果你的评估指标不能评价什么对你是最重要的,改变评估指标。