0%

10. 用开发集和评估指标来加速迭代

对于一个新问题,事先是很难知道用什么方法解决它是最合适的。即使机器学习经验丰富的研究员也需要尝试许多,才能得到令自己满意的东西。在构建机器学习系统时,我经常会:

  1. 首先有一些如何构建系统的想法(idea)。

  2. 用代码实现这些idea。

  3. 进行实验(experiment),来告诉我 我的idea工作的如何。(通常我前几个idea效果不是很好)但是基于这些想法的结果,我会返回去产生更多的idea。并不断的迭代。

这是一个迭代过程,你循环的越快,你的进展也就越快。这就是开发集和评估指标是非常重要的原因:每当你尝试一个新的idea 时,在开发集上衡量idea的表现,可以很清楚的知道你是否朝着正确的方向前进。

相反,如果你没有特定的开发集或评估指标。那么每一次团队开发出一个新的猫咪分类器时,你必须把它移植到你的APP中,然后经过几个小时的体验来感受新分类器的效果是否有提升。这非常慢!此外,如果分类器只有0.1%的提升话,人为可能会感受不到这个提升。你的系统通过不断积累0.1%的提升从而得到一个很大的提升。有一个开发集和评估指标,可以让你很快的检测出那些想法给你的系统带来了提升,你就可以快速的决定可以对哪些想法进一步的完善,哪些想法可以舍弃。