MLY -- 13.Error analysis:look at dev set examples to evaluate ideas

当你在玩你的猫app时,你发现几个把狗狗分类成猫的例子。但是有些狗狗真的很像猫!

MLY -- 13.Error analysis:look at dev set examples to evaluate ideas_第1张图片
你的团队成员提出结合第三方软件将会使系统在处理狗狗图片上更好。但这将会花费一个月,团队成员对此很是热情。你应该要求他们做吗?
在投入一个月在这个项目上之前,我建议你首先评估一下这样做后系统的准确率会提高多少。然后你能更理性地决定这样做是否值得,或者你最好把时间用在其他任务上。
具体来说,你可以这样做:
1.从你的系统错误分类的开发集中抽取100个,换句话说,就是系统犯错的典型例子。
2.人工查看这些图片,看看这些图片中狗狗图片占的比例。
观察被误分类图片例子的过程称为“错误分析”。在本例中,如果你发现只有5%的误分类图片为狗狗图片,那么无论你在狗狗问题上做了多少提升,你都不会摆脱大于5%的错误(因为这5%确实是狗狗图片)。也就是说,5%是第三方软件能帮助你的系统的“天花板”。因此,如果你下载的系统的准确率是90%(10%的错误率),那么使用第三方软件后,最好结果就是90.5%的准确率(或者说9.5%的错误率,10*5%=0.5%)。
作为对比,如果你发现50张错误分类图片都是狗狗图片,那么使用第三方软件可能会对你的系统产生较大的影响,可以使系统从90%的准确率提升到95%(10*50%)。
这种对错误的简单计数过程可以使你估计使用第三方软件能产生的价值,它提供了定量依据,以此决定是否作出这笔投资。
错误分析能帮你弄清不同的方向具有的潜在价值。我曾见过很多工程师都不愿进行错误分析。投入并实现ideas是一件很令人兴奋的事,但质疑idea是否值得投入时间却不是那么令人兴奋。但你不去质疑,可能导致你的团队花费一个月的时间才意识到,这个idea只能产生一点点好处。
人工检测100张图片并不会花费很多时间。即使一分钟看一张,两个小时你也能看完。用两个小时,就能节约一个月的无用功,多合算!
“错误分析”是指检查算法误分类图片样本的过程,以此来理解错误的深层原因。这既可以使你为应进行的步骤进行优先级的排序(如本例中,是组合第三方软件还是选择其他idea),又能激发新的方向(下一章我们会谈到)。接下来的几章还将介绍进行误差分析的最佳实践。

你可能感兴趣的:(项目,机器学习,深度学习,错误分析)