介绍一个复杂的机器学习系统如何组成
一、照片光学字符识别(Photo Optical Character Recognition,photo OCR)
如查找图片时,输入照片上存在的词语就可以将该照片搜索出来。
OCR步骤:文本检测、字符分割、字符分类(识别)
其中第3步可以利用之前学习的神经网络进行识别(exercise4中有对图像中的0-9数字进行识别)。
滑动窗口分类器(sliding windows classifier)
用一个固定大小的框(窗口)以一定的步长遍历图像的所有区域并进行分类。
将滑动窗口应用到文本检测
将分类器认为可能有文本的地方用白色表示,没有的用黑色表示。然后逐渐扩大白色区域的范围(经过放大算子)
将1维滑动窗口应用到字符分割
将不同的图片文本样本分类为正样本(有间隔)和负样本(完整字母,无间隔)进行训练,可能用到网络或者其它算法,最后得到一个分类器。然后将分类器应用于上一步得到的文本框,会有如下效果:
二、获取数据集和人工数据合成(artificial data synthesis)
可以通过在一份原始数据中引入合理的失真合成多份不同场景下的数据。如给图像或音频加入噪声。
决定是否要获取更多数据
- 画学习曲线——高方差情况下增大数据集规模有利于提高模型性能
- 计算增大10倍数据集所需工作量,以及找到降低增大数据集所需工作量的方法
三、上限分析
在决定下一步做什么时,对工作流进行上限分析可以指导哪一部分最值得研究,即决定如何对每一部分分配资源。
例:人脸识别机器学习系统开发
将问题划分为多个子模块,分别对每个模块进行上限分析,然后测试观察哪一个模块的提升给系统整体性能提升能带来更大的价值。如在预处理阶段(背景移除),人工把所有目标标记出来并移除背景,再运行后续的模块,可以看到准确率提升了0.1%;而人工将脸部特征识别标记出来,即标记出鼻子、眼睛、嘴巴等,再运行后续模块,准确率提升了5.9%;其它模块类似。由此可见,将大部分资源放在背景移除模块远不如将资源集中在面部特征识别或逻辑回归算法调整部分。这就是上限分析的作用,将有限的精力和资源放在更有利于提升系统整体性能的子模块。
标签:照片,吴恩达,12,识别,分类器,模块,移除,OCR From: https://www.cnblogs.com/hjd21/p/16602835.html