通过开发集和度量指标加速迭代

对于当前面临的新问题,我们很难提前知道使用哪种方法会是最合适的,即使是一个经验丰富的机器学习研究员,通常也需要在尝试多种多样的方法之后才能发现令人满意的方案。当我要建立一个机器学习系统时,往往会这么做:

  1. 尝试一些关于系统构建的想法(idea)
  2. 使用代码(code)实现想法。
  3. 根据实验(experiment)结果判断想法是否行得通。(第一个想到的点子一般都行不通!)在此基础上学习总结,从而产生新的想法,并保持这一迭代过程。迭代过程如下图所示:

迭代过程循环得越快,你也将进展得越快。此时,拥有开发集、测试集和度量指标的重要性便得以体现了:每当你有了一个新想法,在开发集上评估其性能就可以帮助你判断当前的方向是否正确。

假如你没有一个特定的开发集和度量指标,则需要在每次开发新的分类器时把它整合到 app 中,并通过几个小时的体验来了解分类器的性能是否有所改进——这会浪费大量的时间!另外,如果你的团队将分类器的准确率从 95.0% 提高到 95.1%,这 0.1% 的提升可能很难被检测出来。但是积少成多,通过不断积累这 0.1% 的改进,你的系统将取得巨大的提升。拥有开发集和度量指标,可以使你更快地检测出哪些想法给系统带来了小(或大)的提升 ,从而快速确定下一步要研究或者是要放弃的方向。


改进当前页面