Skip to content
This repository has been archived by the owner on Aug 16, 2022. It is now read-only.

Latest commit

 

History

History
14 lines (10 loc) · 1.65 KB

10.having-a-dev-set-and-metric-speeds-up-iterations.md

File metadata and controls

14 lines (10 loc) · 1.65 KB

10. 通过开发集和评估指标加速迭代

对于一个新问题,很难事先知道什么方法是最合适的。即使经验丰富的机器学习研究人员通常也要尝试许多想法后,才能发现令人满意的方法。在构建机器学习系统时,我经常会:

  1. 从一些关于如何构建系统的想法 (idea) 出发
  2. 在代码 (code) 中实现这些想法
  3. 进行实验 (experiment),来确定我的这个想法是否可行(通常我的前几个想法并不可行)。基于此,再回过头来产生更多的想法,如此不断迭代。

这是一个不断迭代的过程。你循环得越快,你的进展也就越快。这就是为什么设置开发/测试集和评估指标如此重要的原因:每次尝试一个想法时,在开发集上衡量该想法的性能表现,将使你快速判断你是否在朝着正确的方向前进。

相反,如果你没有特定的开发集和评估指标,那么每次团队开发出一个新的猫分类器时,你必须把它移植到你的 app 中,并体验几个小时来感受一下这个新的分类器性能是否有提升。这将非常慢!此外,如果你的团队将分类器的准确率从95.0%提升到95.1%,你可能无法通过体验 app 来感受到这0.1%的提升。而通过不断积累这些许多个0.1%的改进,你的系统将取得很大的性能提升。通过开发集和评估指标,可以使你快速地检测出哪些想法给你的系统带来了小(或大)的提升,因此你可以快速决定哪些想法可以继续改善,以及哪些应该舍弃。