《Machine Learning Yearning》第10章

10 Having a dev set and metric speeds up iterations

 很难知道哪种方法对一个新问题会有用。即使是经验丰富的机器学习研究者在发现满意的解决方案之前都会尝试非常多的方法。在构建机器学习系统时,我常常会这样做:

  1. 首先对如何构建这个系统有一个想法
  2. 然后用代码实现这个想法。
  3. 最后进行一项实验实验,能告诉我这个想法的实现效果。(通常我的第一个想法不会有用!)基于这些学习,回过头来产生更多的想法,然后继续循环。
  4. 这里写图片描述

 这是一个循环的过程,你循环的越快,取得进展的速度就越快。这就是为什么开发/测试集和评价指标很重要的原因:每次你尝试一个想法,在开发集上评估你想法的性能,能让你快速了解你尝试的方向是否正确。

 相反,假设你没有开发集和指标。那么每次你的团队开发了一个新的猫识别器,你必须将其合并到你的app中,然后在app上运行几个小时来测试这个新的分类器有没有进展。那毫无疑问很慢!同时,如果你的团队将分类器的准确率从95%提升到95.1%,你可能无法从app检测这0.1%的提升。然而,通过逐渐累加数十个0.1%的提升,你的系统将取得很大改进。拥有开发集和指标能让你迅速检测哪些想法提供了很小(或很大)的改进,因此让你快速决定哪些想法可以丢弃哪些可以保留。





猜你喜欢

转载自blog.csdn.net/lisa_ren_123/article/details/81013740