14.5. 上限分析
本文最后更新于 2024年1月27日 下午
上限分析
在之前的学习中已经知道,在机器学习系统设计之初就需要设计整个系统的流水线。现在在构建好整个机器学习系统之后,回顾整个流程图,使用上限分析的策略来分析现在对整个流水线中的哪些部分进行改进、哪些部分需要花费最大的资源,才能够最大化地提升系统的性能。
最好的方法仍然是对整个系统的评估进行量化。
回顾之前的照片光学字符识别的流水线:
现在构建一个评估方式量化这个系统的性能,并应用控制变量法对整个系统的每个模块进行评估。
这样的思路建立在人工的做法准确率为100%之上。即将某个模块的准确度拉到100%,观察其他模块或者是整个系统的上限。
应用控制变量法,人为地除去流水线上的某一个模块,将这个模块改为由人工来进行,运行这个系统,观察人工进行这个模块后,系统整体的准确率会有多大的改变。最终转为人工后对整个系统准确率提升最大的部分将会是需要耗费更多精力改进的部分。
比如整个系统的准确率一开始是72%,当我们不进行文字检测,而使用人工圈出图像中有文字的部分喂给流水线上的下一个模块,得到的整个系统的准确率是89%。而人工分割字符后整个系统的准确率是90%,只在上一个改进的基础上提升了1%。
这意味着需要花费更多的精力在提升文字检测的准确率上。
案例:人脸识别系统
人脸识别系统的流程要比照片光学字符识别更为复杂。下图描述了人工替换系统中的每一个模块后,整个系统的准确率。
从整体上来看,可以发现如果对脸部检测进行改进,其带来的对整个系统的提升是最大的。