目录

问题描述和流程图

滑动窗口

获取大量数据和人工数据

上限分析:哪部分管道得接下去做


【此为本人学习吴恩达的机器学习课程的笔记记录,有错误请指出!】

问题描述和流程图


图像文字识别应用,是从一张给定的图片中识别文字。这比从一份扫描文档中识别文字要复杂的多。

为了完成这样的工作,需要采取如下步骤:

1.文字侦测( Text detection) ——将图片上的文字与其他环境对象分离开来

2.字符切分( Character segmentation) ——将文字分割成一个个单一的字符

3.字符分类( Character classification) ——确定每一个字符是什么 可以用任务流程图来

表达这个问题,每一项任务可以由一个单独的小队来负责解决:

滑动窗口


滑动窗口是一项用来从图像中抽取对象的技术。

滑动窗口技术可以用于文字识别,首先训练模型能够区分字符与非字符,然后,运用滑动窗口技术识别字符,一旦完成了字符的识别,将识别得出的区域进行一些扩展,然后将重叠的区域进行合并。接着我们以宽高比作为过滤条件,过滤掉高度比宽度更大的区域(认为单词的长度通常比高度要大)。下图中绿色的区域是经过这些步骤后被认为是文字的区域,而红色的区域是被忽略的。

以上便是文字侦测阶段。下一步是训练一个模型来完成将文字分割成一个个字符的任务,需要的训练集由单个字符的图片和两个相连字符之间的图片来训练模型。

模型训练完后,我们仍然是使用滑动窗口技术来进行字符识别。

以上便是字符切分阶段。 最后一个阶段是字符分类阶段,利用神经网络、支持向量机或者逻辑回归算法训练一个分类器即可。

获取大量数据和人工数据


如果我们的模型是高方差问题(过拟合), 那么获得更多的数据用于训练模型,是能够有更好的效果的。问题在于,我们怎样获得数据,数据不总是可以直接获得的,有可能需要人工地创造一些数据。

以文字识别应用为例,我们可以从字体网站下载各种字体,然后利用这些不同的字体配上各种不同的随机背景图片创造出一些用于训练的实例,这让我们能够获得一个无限大的训练集。这是从零开始创造实例。

另一种方法是,利用已有的数据,然后对其进行修改,例如将已有的字符图片进行一些扭曲、旋转、模糊处理。只要我们认为实际数据有可能和经过处理后的数据类似,便可以用这样的方法来创造大量的数据。

有关获得更多数据的几种方法:

1.人工数据合成

2.手动收集、标记数据

3.众包

上限分析:哪部分管道得接下去做


在机器学习的应用中,我们通常需要通过几个步骤才能进行最终的预测,如何能够知道哪一部分最值得我们花时间和精力去改善? 这个问题可以通过上限分析来回答。

回到我们的文字识别应用中,我们的流程图如下:

流程图中每一部分的输出都是下一部分的输入,上限分析中,我们选取一部分,手工提供 100%正确的输出结果,然后看应用的整体效果提升了多少。假设我们的例子中总体效果为 72%的正确率。

如果我们令文字侦测部分输出的结果 100%正确,发现系统的总体效果从 72%提高到了89%。这意味着我们很可能会希望投入时间精力来提高我们的文字侦测部分。

接着我们手动选择数据,让字符切分输出的结果 100%正确,发现系统的总体效果只提升了 1%,这意味着,我们的字符切分部分可能已经足够好了。

最后我们手工选择数据,让字符分类输出的结果 100%正确,系统的总体效果又提升了10%,这意味着我们可能也会应该投入更多的时间和精力来提高应用的总体表现。

机器学习-吴恩达-笔记-14-应用实例:图片文字识别相关推荐

  1. 机器学习-吴恩达-笔记-13-大规模机器学习

    目录 大型数据集的学习 批量梯度下降 随机梯度下降 小批量梯度下降 随机梯度下降收敛 在线学习 映射化简和数据并行 [此为本人学习吴恩达的机器学习课程的笔记记录,有错误请指出!] 大型数据集的学习 如 ...

  2. 机器学习-吴恩达-笔记-7-机器学习系统的设计

    目录 误差分析 类偏斜的误差度量 查准率和查全率之间的权衡 机器学习的数据 [此为本人学习吴恩达的机器学习课程的笔记记录,有错误请指出!] 误差分析 在本次课程中,我们将会讲到误差分析( Error ...

  3. 机器学习-吴恩达-笔记-6-应用机器学习的建议

    目录 评估一个假设(假设函数) 模型选择和交叉验证集 诊断偏差和方差 正则化和偏差/方差 学习曲线 决定下一步做什么 [此为本人学习吴恩达的机器学习课程的笔记记录,有错误请指出!] 当我们运用训练好了 ...

  4. 机器学习-吴恩达-笔记-15-总结

    [此为本人学习吴恩达的机器学习课程的笔记记录,有错误请指出!] 机器学习是一门对科技.工业产生深远影响的重要学科. 机器学习的理论知识:微积分.线性代数.统计学.信息论等. 机器学习的实践框架:PyT ...

  5. 机器学习-吴恩达-笔记-12-推荐系统

    目录 问题形式化 基于内容的推荐系统 协同过滤 向量化:低秩矩阵分解 推行工作上的细节:均值归一化 基于相似内容推荐和基于相似用户推荐(个人扩展) [此为本人学习吴恩达的机器学习课程的笔记记录,有错误 ...

  6. 机器学习-吴恩达-笔记-11-异常检测

    目录 问题的动机 高斯分布 算法 开发和评价一个异常检测系统 异常检测与监督学习对比 选择特征 多元高斯分布 使用多元高斯分布进行异常检测 [此为本人学习吴恩达的机器学习课程的笔记记录,有错误请指出! ...

  7. 机器学习-吴恩达-笔记-10-降维

    目录 动机一:数据压缩 动机二:数据可视化 主成分分析问题 主成分分析算法 主成分分析的数量(选择k值) 重建的压缩表示(从低维还原回高维) 主成分分析法的应用建议 [此为本人学习吴恩达的机器学习课程 ...

  8. 机器学习-吴恩达-笔记-9-聚类

    目录 无监督学习:简介 K-均值算法(K-Means) 优化目标 随机初始化 选择聚类数 相似度/距离计算方法 聚类的衡量指标 [此为本人学习吴恩达的机器学习课程的笔记记录,有错误请指出!] 无监督学 ...

  9. 机器学习-吴恩达-笔记-8-支持向量机

    目录 优化目标 大边界的直观理解 大边界分类背后的数学 核函数-1 核函数-2 使用支持向量机 [此为本人学习吴恩达的机器学习课程的笔记记录,有错误请指出!] 优化目标 为了描述支持向量机,我们将会从 ...

最新文章

  1. iOS使用Security.framework进行RSA 加密解密签名和验证签名
  2. 【ABAP妙用】复制ALV之负号提前
  3. Nginx + PHP CGI的fix_pathinfo安全漏洞
  4. express模板引擎jade与ejs
  5. 编辑神器Vi介绍及常用命令
  6. 猎豹移动回应被谷歌下架:积极整改情况下被单方面下架
  7. 马吕斯定律matlab拟合,Matlab插值模拟在光的偏振中的应用
  8. 在Windows平台下实现《简明 Python 教程》第十章案例(利用winrar实现压缩备份)...
  9. FFmpeg安卓平台编译
  10. java 局域网聊天
  11. flutter shared_preferences 异步变同步
  12. C语言—字符串函数和内存函数
  13. 计算机管理器用户怎么打开文件,电脑文件管理器怎么打开文件夹 文件管理器打开想要的文件夹方法-电脑教程...
  14. Reference 类
  15. dwz ajax分页,DWZ table的原生分页浅谈
  16. 波特、码元与比特的关系
  17. 状压DP TSP不回到原点
  18. 51单片机在Ubuntu和MacOS下程序开发和下载
  19. Java项目代码依赖包安全漏洞检测插件Dependency Check
  20. 利用爬虫将PDF的参考文献放在word中

热门文章

  1. 20145227《Java程序设计》第10周学习总结
  2. android:screenOrientation
  3. 【转载】印制板设计的流程及注意事项
  4. Content-Script-Type的设置好象没多大用处,或许我不知道有什么用
  5. 【7.9校内test】T1挖地雷
  6. LNMP编译安装基于centos7.2
  7. 关于XML序列化与CultureInfo
  8. iOS项目工程添加.a文件遇到的Dsymutil Error
  9. 重载操作符解析(原)
  10. MVC中如何实现本地化的解决方案