⚠️本文为稀土掘金技术社区首发签约文章,30天内禁止转载,30天后未获授权禁止转载,侵权必究!
✨专栏介绍: 经过几个月的精心筹备,本作者推出全新系列《深入浅出OCR》专栏,对标最全OCR教程,具体章节如导图所示,将分别从OCR技术发展、方向、概念、算法、论文、数据集等各种角度展开详细介绍,本篇为前言知识部分分为多个章节,主要介绍机器学习基础,方便小白或者AI爱好者快速学习基础知识,具体内容可能未能含概所有知识点,其他内容可以访问本人主页其他文章或个人博客,因本人水平有限,文中如有错误恳请指出,欢迎互相学习交流!
?个人主页: GoAI |? 公众号: GoAI的学习小屋 | ?交流群: 704932595 |?个人简介 : 掘金签约作者、百度飞桨PPDE、领航团团长、开源特训营导师、CSDN、阿里云社区人工智能领域博客专家、新星计划计算机视觉方向导师等,专注大数据与人工智能知识分享。
《深入浅出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)
数据集的一行。在监督学习的样本中,一个样本既有特征,也有标签。在无监督学习的样本中,一个样本只有特征。
偏差
偏差度量了模型的期望预测与真实结果的偏离程度, 即刻画了学习算法本身的拟合能力。偏差则表现为在特定分布上的适应能力,偏差越大越偏离真实值。
方差
方差度量了同样大小的训练集的变动所导致的学习性能的变化, 即刻画了数据扰动所造成的影响。方差越大,说明数据分布越分散。
偏差、方差、模型复杂度三者之间的关系使用下图表示会更容易理解:
当模型复杂度上升的时候,偏差会逐渐变小,而方差会逐渐变大。
其他概念请参考本人这篇: 机器学习与深度学习基础概念
三、机器学习模型具体分类
从机器学习概念角度出发,将其按照模型类型分为监督学习模型、无监督学习模型和概率模型三大类:
(一)有监督学习
有监督学习通常是利用带有专家标注的标签的训练数据,学习一个从输入变量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)分别是:- True positives(TP): 被正确地划分为正例个数,即实际为正例且被分类器划分为正例实例数;
- False positives(FP): 被错误地划分为正例个数,即实际为负例但被分类器划分为正例实例数;
- False negatives(FN):被错误地划分为负例个数,即实际为正例但被分类器划分为负例实例数;
- True negatives(TN): 被正确地划分为负例个数,即实际为负例且被分类器划分为负例实例数。
接下来针对上述四种术语的混淆矩阵,做以下说明:
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常用分类任务评价指标
-
正确率(accuracy)
正确率是我们最常见的评价指标,accuracy = (TP+TN)/(P+N),正确率是被分对的样本数在所有样本数中的占比,通常来说,正确率越高,分类器越好。 -
错误率(error rate)
错误率则与正确率相反,描述被分类器错分的比例,error rate = (FP+FN)/(P+N),对某一个实例来说,分对与分错是互斥事件,所以accuracy =1 – error rate。 -
灵敏度(sensitivity)
sensitivity = TP/P,表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力。 -
特异性(specificity)
specificity = TN/N,表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力。 -
精度(查准率)(precision)
precision=TP/(TP+FP),精度是精确性的度量,表示被分为正例的示例中实际为正例的比例。 -
召回率(查全率)(recall)
召回率是覆盖面的度量,度量有多个正例被分为正例,recall=TP/(TP+FN)=TP/P=sensitivity,可以看到召回率与灵敏度是一样的。 -
其他评价指标
计算速度:分类器训练和预测需要的时间;
鲁棒性:处理缺失值和异常值的能力;
可扩展性:处理大数据集的能力;
可解释性:分类器的预测标准的可理解性,像决策树产生的规则就是很容易理解的,而神经网络的一堆参数就不好理解,我们只好把它看成一个黑盒子。
-
F1值
精度和召回率反映了分类器分类性能的两个方面。如果综合考虑查准率与查全率,可以得到新的评价指标F1-score,也称为综合分类率:。
多分类任务评价指标:
为综合多个类别的分类情况,评测系统整体性能,经常采用还有微平均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越大,模型越可靠。
PR曲线
Recall召回率(查全率):
含义:TP除以第一列,即预测为1实际为1的样本在所有真实为1类别中的占比。等价于真阳率。
Precision精准率(查准率):
含义:FP除以第一行,即预测为1实际为1的样本在所有预测为1类别中的占比。
PR曲线是Precision Recall Curve的简称,描述的是precision和recall之间的关系,以recall为横坐标,precision为纵坐标绘制的曲线。该曲线的所对应的面积AUC实际上是目标检测中常用的评价指标平均精度(Average Precision, AP)。AP越高,说明模型性能越好。
分类任务评价指标参考学习:blog.csdn.net/u013250861/…
四、机器学习导图总结分享
以下是作者自己整理的机器学习笔记思维导图,这里免费分享供大家学习,导图和笔记后续会继续更新。