Andrew Ng带我漫步机器学习 - 第十一周 OCR
pipeline
pipeline是解决一个机器学习任务的各项步骤及其执行顺序,以photo OCR为例:
Photo OCR可以分为文本识别,字符分割和字符识别三个过程,依次完成,就如同管道一样,依次向前
OCR识别原理
- 选择一定像素长度和宽度的方框,自顶向下以几个像素单位逐渐扫描整个图片
- 对识别出来的文本进行判断
图中,y=1表示表示识别为字母,0表示非字母 - 组合扫描结果
图中的白色部分就可以被识别为含有字符 -
扫描文本区,对识别出来的文本进行分割,确定边界线
- 识别字符
人工数据
如果我们没有足够的数据供我们进行机器学习怎么办?
自己造10x数据
- 我们在获取数据库之前,确保有一个低偏置分类器
- 人工合成数据
- 人工打标签
- 群众外包。。。
- 对于文本,更换字体,扭曲字形
- 对于音频,添加噪音,更改信号源
层级分析
我们解决问题之前必须了解问题,优化模型之前必须清楚哪里需要优化。
层级分析对pipeline中的每一任务的每一步进行逐层的分析
对OCR pipeline进行分析,不难发现最值得提升的时文本识别,其次时字符识别,而字符分割则不值得花时间和精力,总之,准确率提升越高的越值得学习
复杂一点的例子
那么这些百分比是如何获得的呢?
答:
- 提供正确的答案-如文本识别,就人为地提供一组正确地文本,看正确率提升了过少
- 除去错误的可能性-如去掉图片地背景部分
- 其它等等