本文是学习Andrew Ng的机器学习系列教程的学习笔记。教学视频地址:
https://study.163.com/course/introduction.htm?courseId=1004570029#/courseDetail?tab=1
通过Photo OCR-照片光学文字识别来综合讲述一个机器学习例子:
81. application example – photo OCR – Problem description and pipeline
Centered around an application – photo OCR Optical Character Recognition 照片光学字符识别
步骤:
管道:
82. Application example Photo OCR – Sliding windows
一种分类器 – sliding windows
先使用简化的人检测,人可以认为具有近似的高宽比;
数据准备,正、负样本:
矩形按步长移动:step-size /stride
先使用82*36,然后用大一点的矩形扫描图片,把扫描的图片区域缩放到82*36再进行识别;
文字检测的步骤类似:
准备正负样本:
白色是扫描到文字的,灰度代表是文字的可能性;放到一个大算子上,用矩形圈住文字区域-把已发现的区域扩大一部分描绘成白色:
切割字符,训练字符分割线算法:
83. Application example – Photo OCR – Getting lots of data: Artificial data synthesis
机器学习方法:设计低偏差的机器学习算法,然后用大量数据去学习
通过人工数据合成来获取大量数据,适用于特定的机器学习算法;
两方面:从零创建数据;根据已有的少量标签数据创建更多;
比如图片进行缩放、旋转等处理;
比如把不同字体放到不同背景上生成标签样本;用模糊、缩放、旋转;
不同的算法可能需要不同的失真,来创造更多数据;比如声音识别中加入背景噪音:
引入的干扰噪音要尽量合理,重复的噪音没有意义:
84. Application example – photo OCR – Ceiling analysis: what part of the pipeline to work on next
最宝贵的就是你的时间
Ceiling analysis 上限分析,分析出工作中哪个部分是最重要的,值得花时间优化
步骤:用一种评估方法,评估整个系统的效率;
然后人工标注pipeline第一环节的数据,看系统的整体效率;
…
效率提升最高的部分,就是要重点优化的;