13. Error analysis: Look at dev set examples to evaluate ideas 错误分析:查看开发集样本来评估idea(《MACHINE

来源:互联网 发布:crossgear 知乎 编辑:程序博客网 时间:2024/06/11 17:21

下面13~17小节将主要介绍
Basic Error Analysis 基本错误分析

错误分析:查看开发集样本来评估idea

当你玩你的猫app时,你注意到有时它会把狗错误识别成猫。一些狗长的像猫!
这里写图片描述

于是一个团队成员建议加入第三方软件,使系统对于狗的样本处理的更好。这些改变需要花费一个月的时间,团队其他成员也都很热衷于这一方案。你应该要求他们这样做吗?

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

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

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

查看错误分类的样例这一过程被称为“错误分析(error analysis)”。在这个案例中,你发现仅仅5%的错误分类的图像是狗,那么无论你对狗的问题做多少改进,你都不会消除超过5%的错误。换句话说,5%是上述建议(加入第三方库)能够达到的改进上限(ceiling, meaning maximum possible amount)。因此,如果整个系统当前的准确率为90%(误差10%),这一改进可能导致最多90.5%的准确率。

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

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

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

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

“错误分析(Error Analysis)”是指检查开发集中错误分类的样本以便了解错误的深层原因这一过程。它可以帮助你优先选择某一工作(正如这个例子)和启发一些新的方向(我们下节将要讨论的内容)。接下来的几节还将介绍一些错误分析的最佳实践。

0 0
原创粉丝点击