深入浅出OCR技术:机器学习基础详解

释放双眼,带上耳机,听听看~!
本文详细介绍了深入浅出OCR技术中的机器学习基础知识,包括监督学习、无监督学习等,帮助读者快速学习OCR相关知识。

⚠️本文为稀土掘金技术社区首发签约文章,30天内禁止转载,30天后未获授权禁止转载,侵权必究!

深入浅出OCR技术:机器学习基础详解

专栏介绍: 经过几个月的精心筹备,本作者推出全新系列《深入浅出OCR》专栏,对标最全OCR教程,具体章节如导图所示,将分别从OCR技术发展、方向、概念、算法、论文、数据集等各种角度展开详细介绍,本篇为前言知识部分分为多个章节,主要介绍机器学习基础,方便小白或者AI爱好者快速学习基础知识,具体内容可能未能含概所有知识点,其他内容可以访问本人主页其他文章或个人博客,因本人水平有限,文中如有错误恳请指出,欢迎互相学习交流!

💙个人主页: GoAI |💚 公众号: GoAI的学习小屋 | 💛交流群: 704932595 |💜个人简介 : 掘金签约作者、百度飞桨PPDE、领航团团长、开源特训营导师、CSDN、阿里云社区人工智能领域博客专家、新星计划计算机视觉方向导师等,专注大数据与人工智能知识分享。

文章目录

《深入浅出OCR》前言知识:机器学习基础(一)(本篇)

《深入浅出OCR》前言知识:机器学习基础(二)

《深入浅出OCR》前言知识:机器学习基础(一)

一、机器学习概念

深入浅出OCR技术:机器学习基础详解

机器学习(Machine Learning, ML),顾名思义,让机器去学习。这里,机器指的是计算机,是算法运行的物理载体,你也可以把各种算法本身当做一个有输入和输出的机器。对于一个任务及其表现的度量方法,设计一种算法,让算法能够提取中数据所蕴含的规律,这就叫机器学习。如果输入机器的数据是带有标签的,就称作有监督学习。如果数据是无标签的,就是无监督学习。

1.1什么是机器学习?

机器学习=寻找一种函数

1.2如何寻找这个函数?

①定一个函数集合

②判断函数的好坏

③选择最好的函数

1.3机器学习三板斧

①设计模型model

②判断模型的好坏

③选择最好的函数,优化模型

二、常见机器学习算法:

2.1 机器学习算法分类简单介绍:

1、监督学习(SupervisedLearning):有类别标签的学习,基于训练样本的输入、输出训练得到最优模型,再使用该模型预测新输入的输出;

代表算法:决策树、朴素贝叶斯、逻辑回归、KNN、SVM、神经网络、随机森林、AdaBoost、遗传算法;

2、半监督学习(Semi-supervisedLearning):同时使用大量的未标记数据和标记数据,进行模式识别工作;

代表算法:self-training(自训练算法)、generative models生成模型、SVMs半监督支持向量机、graph-basedmethods图论方法、 multiviewlearing多视角算法等;

3、无监督学习(UnsupervisedLearning):无类别标签的学习,只给定样本的输入,自动从中寻找潜在的类别规则;

代表算法:主成分分析方法PCA等,等距映射方法、局部线性嵌入方法、拉普拉斯特征映射方法、黑塞局部线性嵌入方法、局部切空间排列方法等;

4、HOG特征:全称Histogram of Oriented Gradient(方向梯度直方图),由图像的局部区域梯度方向直方图构成特征;

5、LBP特征:全称Local Binary Pattern(局部二值模式),通过比较中心与邻域像素灰度值构成图像局部纹理特征;

6、Haar特征:描述图像的灰度变化,由各模块的像素差值构成特征;

7、核函数(Kernels):从低维空间到高维空间的映射,把低维空间中线性不可分的两类点变成线性可分的;

8、SVM:全称Support Vector Machine(支持向量机),在特征空间上找到最佳的超平面使训练集正负样本的间隔最大;是解决二分类问题的有监督学习算法,引入核方法后也可用来解决非线性问题;

9、Adaboost:全称Adaptive Boosting(自适应增强),对同一个训练集训练不同的弱分类器,把这些弱分类器集合起来,构成一个更强的强分类器;

10、决策树算法(Decision Tree):处理训练数据,构建决策树模型,再对新数据进行分类;

11、随机森林算法(Random Forest):使用基本单元(决策树),通过集成学习将多棵树集成;

12、朴素贝叶斯(Naive Bayes):根据事件的先验知识描述事件的概率,对联合概率建模来获得目标概率值;

13、神经网络(Neural Networks):模仿动物神经网络行为特征,将许多个单一“神经元”联结在一起,通过调整内部大量节点之间相互连接的关系,进行分布式并行信息处理。

2.2常见名词知识介绍

主要术语(基本)

主要包括标签、特征、样本、训练、模型、回归模型、分类模型、泛化、过拟合、预测、平稳性、训练集、验证集、测试集。

标签(label)
标签是我们要预测的事物,在分类任务中的类别,比如是猫或狗;简单线性回归中的y变量;。标签可以是小麦未来的价格、图片中显示的动物品种、音频剪辑的含义或任何实物。在监督学习中,标签值是样本的“答案”或“结果”部分。

特征(feature)
在进行预测时使用的输入变量。

特征是输入变量,即简单线性回归中的x变量;在分类任务中的输入图像特征。

简单的机器学习项目可能会使用单个特征,而比较复杂的机器学习项目可能会使用数百万个特征,按如下方式制定:​

在垃圾邮箱检测器示例中,特征可能包括:

电子邮件文件中的字词
发件人的地址
发送电子邮件的时段
电子邮箱包含“一些敏感词”
样本(example)
数据集的一行。在监督学习的样本中,一个样本既有特征,也有标签。在无监督学习的样本中,一个样本只有特征。

偏差

偏差度量了模型的期望预测与真实结果的偏离程度, 即刻画了学习算法本身的拟合能力。偏差则表现为在特定分布上的适应能力,偏差越大越偏离真实值。

方差

方差度量了同样大小的训练集的变动所导致的学习性能的变化, 即刻画了数据扰动所造成的影响。方差越大,说明数据分布越分散。

偏差、方差、模型复杂度三者之间的关系使用下图表示会更容易理解:

深入浅出OCR技术:机器学习基础详解

当模型复杂度上升的时候,偏差会逐渐变小,而方差会逐渐变大。

其他概念请参考本人这篇: 机器学习与深度学习基础概念

三、机器学习模型具体分类

从机器学习概念角度出发,将其按照模型类型分为监督学习模型、无监督学习模型和概率模型三大类:

深入浅出OCR技术:机器学习基础详解

(一)有监督学习

深入浅出OCR技术:机器学习基础详解

有监督学习通常是利用带有专家标注的标签的训练数据,学习一个从输入变量X到输入变量Y的函数映射。 Y = f (X)

训练数据通常是(n×x,y)的形式,其中n代表训练样本的大小,x和y分别是变量X和Y的样本值。

利用有监督学习解决的问题大致上可以被分为两类:

1.分类问题: 预测某一样本所属的类别(离散的)。比如给定一个人(从数据的角度来说,是给出一个人的数据结构,包括:身高,年龄,体重等信息),然后判断是性别,或者是否健康。

2.回归问题: 预测某一样本的所对应的实数输出(连续的)。比如预测某一地区人的平均身高。

线性回归,逻辑回归,分类回归树,朴素贝叶斯,K最近邻算法均是有监督学习的例子。

除此之外,集成学习也是一种有监督学习。它是将多个不同的相对较弱的机器学习模型的预测组合起来,用来预测新的样本。随机森林和XGBoost算法是集成技术的例子。

3.1 分类算法

​ 分类算法和回归算法是对真实世界不同建模的方法。分类模型是认为模型的输出是离散的,例如大自然的生物被划分为不同的种类,是离散的。回归模型的输出是连续的,例如人的身高变化过程是一个连续过程,而不是离散的。

3.1.1 常用分类算法的优缺点

算法 优点 缺点
Bayes 贝叶斯分类法 1)所需估计的参数少,对于缺失数据不敏感。
2)有着坚实的数学基础,以及稳定的分类效率。
1)需要假设属性之间相互独立,这往往并不成立。(喜欢吃番茄、鸡蛋,却不喜欢吃番茄炒蛋)。
2)需要知道先验概率。
3)分类决策存在错误率。
Decision Tree决策树 1)不需要任何领域知识或参数假设。
2)适合高维数据。
3)简单易于理解。
4)短时间内处理大量数据,得到可行且效果较好的结果。
5)能够同时处理数据型和常规性属性。
1)对于各类别样本数量不一致数据,信息增益偏向于那些具有更多数值的特征。
2)易于过拟合。
3)忽略属性之间的相关性。
4)不支持在线学习。
SVM支持向量机 1)可以解决小样本下机器学习的问题。
2)提高泛化性能。
3)可以解决高维、非线性问题。超高维文本分类仍受欢迎。
4)避免神经网络结构选择和局部极小的问题。
1)对缺失数据敏感。
2)内存消耗大,难以解释。
3)运行和调参略烦人。
KNN K近邻 1)思想简单,理论成熟,既可以用来做分类也可以用来做回归;
2)可用于非线性分类;
3)训练时间复杂度为O(n);
4)准确度高,对数据没有假设,对outlier不敏感;
1)计算量太大。
2)对于样本分类不均衡的问题,会产生误判。
3)需要大量的内存。
4)输出的可解释性不强。
Logistic Regression逻辑回归 1)速度快。
2)简单易于理解,直接看到各个特征的权重。
3)能容易地更新模型吸收新的数据。
4)如果想要一个概率框架,动态调整分类阀值。
特征处理复杂。需要归一化和较多的特征工程。
Neural Network 神经网络 1)分类准确率高。
2)并行处理能力强。
3)分布式存储和学习能力强。
4)鲁棒性较强,不易受噪声影响。
1)需要大量参数(网络拓扑、阀值、阈值)。
2)结果难以解释。
3)训练时间过长。
Adaboosting 1)adaboost是一种有很高精度的分类器。
2)可以使用各种方法构建子分类器,Adaboost算法提供的是框架。
3)当使用简单分类器时,计算出的结果是可以理解的。而且弱分类器构造极其简单。
4)简单,不用做特征筛选。
5)不用担心overfitting。
对outlier比较敏感

3.1.2 分类算法的评估方法

​ 分类评估方法主要功能是用来评估分类算法的好坏,而评估一个分类器算法的好坏又包括许多项指标。了解各种评估方法,在实际应用中选择正确的评估方法是十分重要的。

  • 常用术语
    ​ 这里首先介绍几个常见的模型评价术语,现在假设我们的分类目标只有两类,为正例(positive)和负例(negative)分别是:

    1. True positives(TP): 被正确地划分为正例个数,即实际为正例且被分类器划分为正例实例数;
    2. False positives(FP): 被错误地划分为正例个数,即实际为负例但被分类器划分为正例实例数;
    3. False negatives(FN):被错误地划分为负例个数,即实际为正例但被分类器划分为负例实例数;
    4. True negatives(TN): 被正确地划分为负例个数,即实际为负例且被分类器划分为负例实例数。 

深入浅出OCR技术:机器学习基础详解

接下来针对上述四种术语的混淆矩阵,做以下说明:

1)P=TP+FN表示实际为正例的样本个数。

2)True、False描述的是分类器是否判断正确。

3)Positive、Negative是分类器分类结果,如果正例计为1、负例计为-1,即positive=1、negative=-1。用1表示True,-1表示False,那实际类标=TF*PN,TF为true或false,PN为positive或negative。

4)如True positives(TP)的实际类标=1*1=1为正例,False positives(FP)的实际类标=(-1)*1=-1为负例,False negatives(FN)的实际类标=(-1)*(-1)=1为正例,True negatives(TN)的实际类标=1*(-1)=-1为负例。

3.1.3常用分类任务评价指标

  1. 正确率(accuracy)
    正确率是我们最常见的评价指标,accuracy = (TP+TN)/(P+N),正确率是被分对的样本数在所有样本数中的占比,通常来说,正确率越高,分类器越好。

  2. 错误率(error rate)
    错误率则与正确率相反,描述被分类器错分的比例,error rate = (FP+FN)/(P+N),对某一个实例来说,分对与分错是互斥事件,所以accuracy =1 – error rate。

  3. 灵敏度(sensitivity)
    sensitivity = TP/P,表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力。

  4. 特异性(specificity)
    specificity = TN/N,表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力。

  5. 精度(查准率)(precision)
    precision=TP/(TP+FP),精度是精确性的度量,表示被分为正例的示例中实际为正例的比例。

  6. 召回率(查全率)(recall)
    召回率是覆盖面的度量,度量有多个正例被分为正例,recall=TP/(TP+FN)=TP/P=sensitivity,可以看到召回率与灵敏度是一样的。

  7. 其他评价指标

    计算速度:分类器训练和预测需要的时间;

    鲁棒性:处理缺失值和异常值的能力;

    可扩展性:处理大数据集的能力;

    可解释性:分类器的预测标准的可理解性,像决策树产生的规则就是很容易理解的,而神经网络的一堆参数就不好理解,我们只好把它看成一个黑盒子。

  8. F1值

精度和召回率反映了分类器分类性能的两个方面。如果综合考虑查准率与查全率,可以得到新的评价指标F1-score,也称为综合分类率:F1=2×precision×recallprecision+recallF1=frac{2 times precision times recall}{precision + recall}

多分类任务评价指标:

为综合多个类别的分类情况,评测系统整体性能,经常采用还有微平均F1(micro-averaging)和宏平均F1(macro-averaging )两种指标。

(1)宏平均F1与微平均F1是以两种不同的平均方式求的全局F1指标。

(2)宏平均F1的计算方法先对每个类别单独计算F1值,再取这些F1值的算术平均值作为全局指标。

(3)微平均F1的计算方法是先累加计算各个类别的a、b、c、d的值,再由这些值求出F1值。

(4)由两种平均F1的计算方式不难看出,宏平均F1平等对待每一个类别,所以它的值主要受到稀有类别的影响,而微平均F1平等考虑文档集中的每一个文档,所以它的值受到常见类别的影响比较大。

ROC曲线和PR曲线

如下图所示,ROC曲线是(Receiver Operating Characteristic Curve,受试者工作特征曲线)的简称,是以灵敏度(真阳性率)为纵坐标,以1减去特异性(假阳性率)为横坐标绘制的性能评价曲线。可以将不同模型对同一数据集的ROC曲线绘制在同一笛卡尔坐标系中,ROC曲线越靠近左上角,说明其对应模型越可靠。也可以通过ROC曲线下面的面积(Area Under Curve, AUC)来评价模型,AUC越大,模型越可靠。

深入浅出OCR技术:机器学习基础详解

PR曲线

Recall召回率(查全率):Recall=TPTP+FNRecall=frac{TP}{TP+FN}

含义:TP除以第一列,即预测为1实际为1的样本在所有真实为1类别中的占比。等价于真阳率。

Precision精准率(查准率):Precision=TPTP+FPPrecision=frac{TP}{TP+FP}

含义:FP除以第一行,即预测为1实际为1的样本在所有预测为1类别中的占比。

PR曲线是Precision Recall Curve的简称,描述的是precision和recall之间的关系,以recall为横坐标,precision为纵坐标绘制的曲线。该曲线的所对应的面积AUC实际上是目标检测中常用的评价指标平均精度(Average Precision, AP)。AP越高,说明模型性能越好。

深入浅出OCR技术:机器学习基础详解

分类任务评价指标参考学习:blog.csdn.net/u013250861/…

四、机器学习导图总结分享

以下是作者自己整理的机器学习笔记思维导图,这里免费分享供大家学习,导图和笔记后续会继续更新。

链接:app.yinxiang.com/fx/339fe142…

深入浅出OCR技术:机器学习基础详解

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

Stable Diffusion教程:图生图功能详解

2023-11-18 12:30:14

AI教程

ChatGPT API Key申请使用及充值教程【详解】

2023-11-18 12:48:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索