本文重点
机器学习流水线是由多个模块组成的,多个模块共同组成了流水线,当一个模块效果提高了,那么整体的流水线效果就会提高,所以我们需要判断到底流水线的哪个部分最值得我们花时间来提高,换句话说哪部分提高之后,我们的流水线的结果会更好呢?
OCR流水线
上限分析
现在我们建造出了一个OCR流水线模型,假设此时整个系统的准确度为62%,那么我们应该改进这个流水线模型中哪个模块才可以让系统的准确率可以更快的提高呢?换句话说当前系统中哪个模块效果最不好?
OCR流水线的流程图中每一部分的输出都是下一部分的输入,上限分析中,我们选取一部分,手工提供 100%正确的输出结果,然后看应用的整体效果提升了多少,具体来说:
如果我们手动操作令文字区域识别输出的结果100%正确,此时发现系统的总体效果从62%提高到了79.5%,高达17.5%。这意味着我们应该投入时间精力来提高流水线的文字区域识别部分。
接着我们手动选择数据,让字符切分输出的结果100%正确,发现系统的总体效果只提升了 0.5%,这意味着,我们的字符切分模块可能已经足够好了。
最后我们让字符分类输出的结果 100%正确,系统的总体效果又提升了20%,这意味着我们应该投入更多的时间和精力来提高字符分类模块。
总结
至此我们就学会了上限分析,知道了如何使用上限分析来检测我们的系统哪一部分可以做的更好,这样我们的时间就可以花在刀刃上,就可以快速提升我们算法的性能。
如果觉得《每天五分钟机器学习:打造最优的机器学习流水线图片文字识别系统》对你有帮助,请点赞、收藏,并留下你的观点哦!