Chapter10、Having a dev set and metric speeds up iterations
通过开发集和评估标准加速迭代
对于一个新问题,很难事先知道什么方法是最合适的。即使经验丰富的机器学习研究人员通常会尝试许多想法,才能发现令人满意的东西。在构建机器学习系统时,我经常会:
- 首先有一些如何构建系统的想法(idea)
- 用代码(code)来实现这些idea
- 进行实验(experiment),来告诉我的这个idea工作的如何。(通常我的前几个想法并不能work)基于这些学习,回去从而产生更多的idea,并不断迭代。
这是一个不断迭代的过程。你循环得越快,你的进展也就越快。这就是 开发/测试集 和评估指标非常重要的原因:每次尝试一个idea时,在开发集上衡量idea的表现,将使你快速判断你是否在朝着正确的方向前进。
相反,如果你没有特定的开发集和评估指标。那么每次团队开发出一个新的猫分类器时,你必须把它移植到你的app中,并体验几个小时来感受一下这个新的分类器性能是否有提升。这将非常慢!此外,如果你的团队将分类器的准确率从95.0%提升到95.1%,你可能无法通过体验app来感受到0.1%的提升。而通过不断积累这些许多个0.1%的改进,你的系统将取得很大的进步。有一个开发集和评估指标,可以使你很快地检测出哪些想法给你的系统带来了小(或大)的提升,因此你可以快速决定哪些想法可以继续改善,哪些可以舍弃。