Chapter 14、Error analysis: Look at dev set examples to evaluate ideas

误差分析:查看开发集样本以评估想法

当你使用猫app时,注意到一些被错误识别成猫的狗的样本。一些狗长的像猫! 这里写图片描述

于是一个团队成员建议和第三方软件合作,使系统可以更好的处理狗样本。这些改变需要花费一个月的时间,并且团队成员热衷于这一方案。你应该要求他们这样做吗?

在为这个任务投资一个月之前,我建议你首先评估一下它实际上会提高多少系统的准确率。然后你才能理性地选择是否值得花费这一个月的开发时间,还是使用这段时间做些别的事情更好。

具体来说,你可以做以下事情:

  • 获取100个系统错误分类的样例
  • 手动查看这些样本,计算其中有多少比例是狗的图像

查看错误分类的样例这一过程被称为“错误分析(error analysis)”。在该案例中,如果你发现只有5%的错误分类的图像是狗,那么无论你在狗的问题上做多少改进,你都不会消除超过5%的错误。换句话说,5%是上述建议能够达到的改进上限。因此,如果整个系统当前的准确率为90%(误差10%),这一改进可能得到最多90.5%的准确率(或者9.5%的错误率,比原来10%的错误率少5%)。

相反,如果你发现50%的错误图像都是狗,那么你应该更相信加入第三方软件能产生很大的效果。它能将准确率从90%提升到95%(误差相对减少50%,从10%降到5%)。

这种简单的错误分析的计算过程能够给你一个快速的方法来评估为“狗”问题加入第三方软件是否值得。它为决定是否应该做出这笔投资提供了一个定量的基准。

错误分析通常会帮你找出不同的想法间哪些更有前景。我看到许多工程师不愿意进行错误分析。相比于质疑这个想法是否值得花时间投入,直接跳入并实现一个想通常会更让人感到刺激。这是一个常见的错误:这可能导致你的团队话费一个月时间只带来很少的收益。

手动检查100个样本不会花费太长时间。即使你每分钟只看一张图片,两小时内就可以完成。这两个小时可能节约你一个月的白白努力,值得花费。

“错误分析(Error Analysis)”是指检查开发集中算法错误分类的样本的过程,以便了解错误的深层原因。它不仅可以帮助你重点发展项目,正如该例子所述,而且还能启发一些新的方向,下节将讨论该内容。接下来的几个章节还将介绍一些错误分析的最佳实践。

results matching ""

    No results matching ""