吴恩达《Machine Learning》精炼笔记 12:大规模机器学习和图片文字识别 OCR

本文涉及的产品
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,图像通用资源包5000点
视觉智能开放平台,视频通用资源包5000点
简介: 吴恩达《Machine Learning》精炼笔记 12:大规模机器学习和图片文字识别 OCR

系列文章:


吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习

吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程

吴恩达《Machine Learning》精炼笔记 3:回归问题和正则化

吴恩达《Machine Learning》精炼笔记 4:神经网络基础

吴恩达《Machine Learning》精炼笔记 5:神经网络

吴恩达《Machine Learning》精炼笔记 6:关于机器学习的建议

吴恩达《Machine Learning》精炼笔记 7:支持向量机 SVM

吴恩达《Machine Learning》精炼笔记 8:聚类 KMeans 及其 Python实现

吴恩达《Machine Learning》精炼笔记 9:PCA 及其 Python 实现

吴恩达《Machine Learning》精炼笔记 10:异常检测

吴恩达《Machine Learning》精炼笔记 11:推荐系统


本周主要是介绍了两个方面的内容,一个是如何进行大规模的机器学习,另一个是关于图片文字识别OCR 的案例

  • 大规模机器学习
  • 图片文字识别OCR


大规模机器学习(Large Scale Machine Learning)


在低方差的模型中,增加数据集的规模可以帮助我们获取更好的结果。但是当数据集增加到100万条的大规模的时候,我们需要考虑:大规模的训练集是否真的有必要。获取1000个训练集也可以获得更好的效果,通过绘制学习曲线来进行判断。


image.png


随机梯度下降法Stochastic Gradient Descent


如果需要对大规模的数据集进行训练,可以尝试使用随机梯度下降法来代替批量梯度下降法。随机梯度下降法的代价函数是

image.png

具体算法的过程为

  1. 先对训练集进行随机的洗牌操作,打乱数据的顺序
  2. 重复如下过程:


image.png

  1. 随机梯度下降算法是每次计算之后更新参数θ,不需要现将所有的训练集求和。


算法可能存在的问题

不是每一步都是朝着”正确”的方向迈出的。因此算法虽然会逐渐走向全 局最小值的位置,但是可能无法站到那个最小值的那一点,而是在最小值点附近徘徊。

image.png

小批量梯度下降 Mini-Batch Gradient Descent


小批量梯度下降算法是介于批量梯度下降算法和梯度下降算法之间的算法。每计算常数b次训练实例,便更新一次参数θ。参数b通常在2-100之间。

image.png

随机梯度下降收敛


随机梯度下降算法的调试和学习率α的选取

  • 在批量梯度下降算法中,可以令代价函数JJ为迭代次数的函数,绘制图表,根据图表来 判断梯度下降是否收敛;大规模的训练集情况下,此举不现实,计算代价太大
  • 在随机梯度下降中,更新θ之前都计算一次代价,然后迭代X后求出X对训练实例的计算代价的平均值,最后绘制次数X和代价平均值之间的图像


image.png


随着不断地靠近全局最小值,通过减小学习率,迫使算法收敛而非在最小值最近徘徊。

image.png


映射化简和数据并行Map Reduce and Data Parallelism


映射化简和数据并行对于大规模机器学习问题而言是非常重要的概念。如果我们能够将我们的数据集分配给不多台 计算机,让每一台计算机处理数据集的一个子集,然后我们将计所的结果汇总在求和。这样 的方法叫做映射简化。


如果任何学习算法能够表达为对训练集的函数求和,那么便能将这个任务分配给多台计算机(或者同台计算机的不同CPU核心),达到加速处理的目的。比如400个训练实例,分配给4台计算机进行处理:


image.png


图片文字识别(Application Example: Photo OCR)


问题描述和流程图


图像文字识别应用所作的事是从一张给定的图片中识别文字。


image.png


基本步骤包含:

  1. 文字侦测(Text detection)——将图片上的文字与其他环境对象分离开来
  2. 字符切分(Character segmentation)——将文字分割成一个个单一的字符
  3. 字符分类(Characterclassification)——确定每一个字符是什么 可以用任务流程图来表


每项任务可以有不同的团队来负责处理。


image.png


滑动窗口Sliding windows


图片识别


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


image.png


如果我们需要从上面的图形中提取出来行人:

  • 用许多固定尺寸的图片来训练一个能够准确识别行人的模型
  • 用上面训练识别行人的模型时所采用的图片尺寸在我们要进行行人识别的图片上进行剪裁
  • 剪裁得到的切片交给模型,让模型判断是否为行人
  • 重复循环上述的操作步骤,直至将图片全部检测完。

文字识别


滑动窗口技术也被用于文字识别。

  • 首先训练模型能够区分字符与非字符
  • 然后运用滑动窗口技术识别字符
  • 完成字符的识别,将识别得出的区域进行扩展
  • 将重叠的区域进行合并,以宽高比作为过滤条件,过滤掉高度比宽度更大的区域


image.png


上述步骤是文字侦察阶段,接下来通过训练出一个模型来讲文字分割成一个个字符,需要的训练集由单个字符的图片和两个相连字符之间的图片来训练模型。


image.png

训练完成之后,可以通过滑动窗口技术来进行字符识别。该阶段属于字符切分阶段。


image.png

最后通过利用神经网络、支持向量机、或者逻辑回归等算法训练出一个分类器,属于是字符分类阶段。


获取大量数据和人工数据


如果我们的模型是低方差的,那么获得更多的数据用于训练模型,是能够有更好的效果。


获取大量数据的方法有

  • 人工数据合成
  • 手动收集、标记数据
  • 众包


上限分析Ceiling Analysis


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


image.png


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


我们发现每个部分的输出都是下个部分的输入。在上限分析中,我们选取其中的某个部分,手工提供100%争取的输出结果,然后看整体的效果提升了多少。

  • 如果提升的比例比较明显,可以考虑在这个方向投入更过的时间和经历
  • 如果提升的效果微乎其微,意味着某个部分已经做的足够好了

image.png

相关文章
|
10天前
|
机器学习/深度学习 文字识别 Java
Python实现PDF图片OCR识别:从原理到实战的全流程解析
本文详解2025年Python实现扫描PDF文本提取的四大OCR方案(Tesseract、EasyOCR、PaddleOCR、OCRmyPDF),涵盖环境配置、图像预处理、核心识别与性能优化,结合财务票据、古籍数字化等实战场景,助力高效构建自动化文档处理系统。
142 0
|
3月前
|
人工智能 文字识别 自然语言处理
熊猫 OCR 识别软件下载,支持截图 OCR、PDF 识别、多语言翻译的免费全能工具,熊猫OCR识别
本文介绍了几款实用的图文识别软件,包括熊猫OCR、Umi-OCR和天若OCR_本地版。熊猫OCR功能强大,支持多窗口操作、AI找图找色、OCR识别等;Umi-OCR免费且高效,具备截图OCR、批量处理等功能;天若OCR界面简洁,适合快速文字识别。文章还提供了下载链接及软件特点、界面展示等内容,便于用户根据需求选择合适的工具。
336 36
|
4月前
|
机器学习/深度学习 文字识别 自然语言处理
OCR技术:解锁文字识别的无限可能
OCR(光学字符识别)技术是数字化浪潮中的关键工具,可将纸质文档、手写笔记或复杂背景下的文字图像转化为可编辑文本。本文从图像采集、预处理、字符识别到文本校正,全面解析OCR技术的原理,并探讨其在智能办公、智慧交通、便捷生活等领域的广泛应用。未来,OCR将与自然语言处理、计算机视觉等技术深度融合,推动智能化和综合化发展。通过开放生态系统和政策支持,开发者可探索更多创新场景,如古籍数字化、盲人阅读等,为社会带来更多价值。
672 57
|
3月前
|
文字识别 前端开发 数据可视化
【图片识别改名】图片文件区域OCR识别并自动重命名,根据指定区域识别文字批量改名,阿里云的文字识别方案
本系统通过OCR技术实现图片和PDF文件中关键信息的批量识别与智能重命名,适用于档案管理、电商商品管理、学术研究及企业文档处理等场景。支持区域选择、识别参数设置及自定义重命名规则,提供可视化界面与进度跟踪功能,提升文件整理与管理效率。
470 5
|
5月前
|
文字识别 BI
【工具教程】批量PDF和图片OCR识别指定区域文字自动改图片名字,多个区域一次性批量识别改名批量重命名
本内容介绍了一款用于企业档案、医院病历及办公文件管理的图片和PDF文字识别工具。通过框选识别区域,软件可批量提取关键信息,实现文件重命名或导出为表格,极大提升管理效率。支持图片与PDF两种模式,操作简单,适用于合同、病历、报告等场景。提供详细步骤指导,包含区域设置、文件导入、批量处理及结果校验等功能。
860 8
|
6月前
|
机器学习/深度学习 文字识别 开发者
使用OCR库Pix2Text执行p2t.recognize()时出现list index out of range的错误信息(附有Pix2Text识别图片内容和laTex公式的代码)
有时候报错并不是你代码有问题,源码出错也是很常见的情况,比如之前使用mxgraph也出现了不知名bug,最后也是修改的源码解决的。有疑问欢迎交流~ 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
8月前
|
人工智能 文字识别 API
moonshot-v1-vision-preview:月之暗面Kimi推出多模态视觉理解模型,支持图像识别、OCR文字识别、数据提取
moonshot-v1-vision-preview 是月之暗面推出的多模态图片理解模型,具备强大的图像识别、OCR文字识别和数据提取能力,支持API调用,适用于多种应用场景。
911 6
moonshot-v1-vision-preview:月之暗面Kimi推出多模态视觉理解模型,支持图像识别、OCR文字识别、数据提取
|
8月前
|
机器学习/深度学习 人工智能 文字识别
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Zerox 是一款开源的本地化高精度OCR工具,基于GPT-4o-mini模型,支持PDF、DOCX、图片等多种格式文件,能够零样本识别复杂布局文档,输出Markdown格式结果。
692 4
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
|
8月前
|
编解码 文字识别 自然语言处理
如何使用OCR技术批量识别图片中的文字并重命名文件,OCR 技术批量识别图片中的文字可能出现的错误
### 简介 【批量识别图片内容重命名】工具可批量识别图片中的文字并重命名文件,方便高效处理大量图片。然而,OCR 技术面临字符识别错误(如形近字混淆、生僻字识别不佳)、格式错误(段落错乱、换行问题)和语义理解错误等挑战。为提高准确性,建议提升图片质量、选择合适的 OCR 软件及参数,并结合自动校对与人工审核,确保最终文本的正确性和完整性。
961 12
如何使用OCR技术批量识别图片中的文字并重命名文件,OCR 技术批量识别图片中的文字可能出现的错误
|
7月前
|
文字识别 BI
【图片型PDF】批量识别扫描件PDF指定区域局部位置内容,将识别内容导出Excel表格或批量改名文件,基于阿里云OCR对图片型PDF识别改名案例实现
在医疗和政务等领域,图片型PDF文件(如病历、报告、公文扫描件)的处理需求广泛。通过OCR技术识别这些文件中的文字信息,提取关键内容并保存为表格,极大提高了信息管理和利用效率。本文介绍一款工具——咕嘎批量OCR系统,帮助用户快速处理图片型PDF文件,支持区域识别、内容提取、导出表格及批量改名等功能。下载工具后,按步骤选择处理模式、进行区域采样、批量处理文件,几分钟内即可高效完成数百个文件的处理。
802 8

热门文章

最新文章