一种基于改进型极限学习机的手写数字识别方法

文档序号:10725643阅读:340来源:国知局
一种基于改进型极限学习机的手写数字识别方法
【专利摘要】本发明涉及一种基于改进型极限学习机的手写数字识别方法,包括以下步骤:对训练样本的手写数字图像进行预处理;对预处理后的手写数字图像进行逐像素特征提取,以获得训练样本和测试样本;对输入样本进行主成分分析;极限学习机引入了非线性修正的ELM算法对手写数字进行识别。本发明能够提高手写数字识别的准确率。
【专利说明】
一种基于改进型极限学习机的手写数字识别方法
技术领域
[0001] 本发明涉及手写数字识别技术领域,特别是涉及一种基于改进型极限学习机的手 写数字识别方法。
【背景技术】
[0002] 极限学习机(Extreme Learning Machine,ELM)算法是基于单隐层前馈神经网络 的基础上提出来的。单隐层前馈神经网络是一类特殊的前向神经网络,该神经网络只包含 一个隐藏层。由于单隐藏层前向神经网络可以精确逼近任意非线性连续函数,因此单隐藏 层前向神经网络无论是在理论分析方面,还是在工程应用方面都十分普遍。但与之类似的 传统神经网络普遍采用基于梯度下降算法来训练神经网络,该方法需要多次迭代寻找最优 值,故不可避免的存在收敛速度慢、易陷入局部极小值等缺点。为了解决这一问题,黄广斌 教授在2004年提出了一种新型的SLFN算法一一极限学习机。
[0003] 与传统的神经网络相比,ELM算法具有如下优点:1)ELM算法的结构简单,网络中的 输入权值和隐藏层偏置是随机生成;2)ELM算法是通过最小二乘法求解输出权值,故只需一 次矩阵运算就能确定输出权值。由于ELM算法的学习速度快、学习精度高和泛化性能好,目 前正受到国内研究学者的广泛关注与研究,其理论越来越成熟且改进算法也层出不穷。
[0004] 然而该方法并没有解决由激活函数过饱和而导致收敛速度变慢和梯度弥散导致 的不收敛等问题。在传统的ELM算中普遍采用的激活函数是S i gmo i d函数和正切(Tanh)函 数,上述函数虽然有效避免了由线性映射而使神经网络表达能力不足的问题,但使用该类 激活函数由于过饱和现象而导致的收敛速度变慢、学习精度降低等问题没有得到有效解 决,尤其是Tanh函数存在负数值会使得网络的应用效果变得很差。
[0005] 如何进一步优化ELM算法,普遍采用的是从隐藏层结点数、输入权值和隐藏层偏 置、ELM算法的结构等方面来着手进行改进的,但很少有人从激活函数方面来优化ELM算法 解决其过饱和问题,而激活函数恰恰是神经网络中最为重要的部分之一。

【发明内容】

[0006] 本发明所要解决的技术问题是提供一种基于改进型极限学习机的手写数字识别 方法,能够提高手写数字识别的准确率。
[0007] 本发明解决其技术问题所采用的技术方案是:提供一种基于改进型极限学习机的 手写数字识别方法,包括以下步骤:
[0008] (1)对训练样本的手写数字图像进行预处理;
[0009] (2)对预处理后的手写数字图像进行逐像素特征提取,以获得训练样本和测试样 本;
[0010] (3)对输入样本进行主成分分析;
[0011] (4)极限学习机引入了非线性修正的ELM算法对手写数字进行识别。
[0012] 所述步骤(1)包括以下子步骤:
[0013] (11)对手写数字图像进行二值化处理;
[0014] (12)对二值化处理后的图像进行空白切割;
[0015] (13)采用归一化操作来统一数字图像的尺寸。
[0016] 所述步骤(2)具体为:对预处理后的手写数字图像进行逐行逐列地扫描,当遇到黑 色像素时其特征值记为1,当遇到白色像素时其特征值记为〇,形成相同特征向量矩阵组成 特征向量集,并将得到的特征向量集分成两份,一份为神经网络的训练样本,另一份为测试 样本。
[0017] 所述步骤(3)包括以下子步骤:
[0018] (31)计算样本的均值向量,并利用均值向量将所有样本中心化;
[0019] (32)计算样本的协方差矩阵,并对其特征值进行分解,并将特征向量按其对应的 特征值由大到小降序排列;
[0020] (33)取特征值排在前85%的样本作为训练或测试所需样本。
[0021]所述步骤(4)中非线性修正的ELM算法为在原有的ELM算法中引入ReNLUs激活函数
得到,其中,非线性修正的ELM算法的激活函数为 ,a为控制 参数,取值范围为0.7-0.8。
[0022]有益效果
[0023]由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效 果:本发明使得手写数字样本的采集更加方便有效;采用主成分分析实现去冗余、降维可以 使ELM算法的运行效率更高、网络更稳定;改进的ELM算法学习速度更快、手写数字识别率更 尚。
【附图说明】
[0024]图1是各类激活函数曲线图;
[0025]图2是改进的非线性修正函数曲线图;
[0026]图3是手写数字识别精度曲线图。
【具体实施方式】
[0027] 下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明 而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人 员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定 的范围。
[0028] 本发明的实施方式涉及一种基于改进型极限学习机的手写数字识别方法,包括以 下步骤:对训练样本的手写数字图像进行预处理;对预处理后的手写数字图像进行逐像素 特征提取,以获得训练样本和测试样本;对输入样本进行主成分分析;极限学习机引入了非 线性修正的ELM算法对手写数字进行识别。
[0029]为了验证本发明的有效性,通过对几种常用激活函数和改进的激活函数下的ELM 算法进行了对比。常用的激活函数有:正切函数(T a n h)、S i g m 〇 i d函数、线性修正单元 (ReLUs)、Softplus函数,上述函数曲线图如图2所示,可知Tanh函数和Sigmoid函数其函数 值在两端临界值附近时处于饱和状态;线性修正单元(ReLUs)、S〇ftplus函数则不会存在类 似情况。为对基于改进型极限学习机算法进行验证,分别将上述激活函数和非线性修正的 ELM算法结果进行对比,在隐藏层结点相同的情况下分别测量50次,得到训练和测试精度、 训练和测试时间、训练和测试精度标准差结果取平均值进行比较。
[0030] 本实施例的具体步骤如下:
[0031] 手写数字图像进行预处理
[0032] 在进行手写特征提取之前要进行预处理,适当的预处理将有助于特征值的提取, 降低算法的复杂程度、加快识别速度。而一个好的特征提取方法则可以减少不必要的预处 理步骤,降低整个识别过程所花费的时间,故预处理和特征提取是相互影响、相辅相成的。 具体有如下几个步骤:图像二值化、空白切割和归一化调整。
[0033] (1)图像二值化
[0034] MNIST数据库的手写数字对图像二值化,即手写数字样本均为256级的灰度图像, 图像中的每一个像素都对应有一个灰度值,其范围为0-255之间。二值化就是根据图像中像 素灰度值将其处理为黑白两种颜色,采用给定的阈值(150)将图像分为黑白两种颜色,超过 阈值的像素置1(白色),否则为〇(黑色)。
[0035] (2)空白切割
[0036] MNIST数据库的手写数字样本是28*28像素大小的数字图像,但是真正的数字大小 为20*20像素,其它的均为空白部分。空白切割主要有两个步骤:1)找出一个字符的起点;2) 由该起点,依所需方向寻找到字符终点。其目的是为了尽可能减少无效特征地干扰。
[0037] (3)归一化
[0038] 在空白切割后会有字符图像大小不一的情况。因此,有必要采取归一化操作来统 一数字图像的大小。假设一个长度为X像素,宽度为Y像素的二值化手写数字图像用坐标函 数f(x,y)表示,x = l,2,…,X;y=l,2,-_,Y,再令一个长度为Μ像素、宽度为N像素的归一化 数字图像以坐标g(m,n)表示,m=l,2,…,Μ;η=1,2,···,Ν;归一化原理中,原先的数字图像 坐标(x,y)与归一化坐标(m,n)的转换关系为公式(1)(不考虑旋转及尺寸大小的相关系 数):
[0040] 该步骤主要目的是为了提取好的手写数字特征减少不必要的外界干扰(噪声、非 数字部分等)。
[0041] 手写数字特征提取
[0042]特征提取就是从一系列预处理后的字符图像中提取最能体现这个字符特点的特 征向量。采用逐像素特征提取法,对图像进行逐行逐列地扫描,当遇到黑色像素时其特征为 1,当遇到白色像素时其特征值为0,这样就可以形成相同特征向量矩阵组成特征向量集。 [00 43]输入样本进行主成分分析
[0044]对于d维空间的中的η个样本11,12,一,&可以看成是一个11维随机变量,其矩阵形 式为Χ= [XI,Χ2,…,xn],对所有的X取平均值得:
[0046]其中,η表示样本的总个数,u表示样本均值。那么就可以用下式来定义样本集X对 应的协方差矩阵Si:
[0048] 设Si的秩为k,Ai,λ2,…是矩阵Si的特征值,且λι^:λ2^:,…,为对应的特 征向量,贝1与Wi满足
[0049] SiWi = AiWi,i = 1,2,··· ,k (4)
[0050] 令W= [wi ,W2,…,wk],在主成分分析中可以将特征向量wi称为这组向量的主成分 (Principal component),W为这组样本的主成分矩阵。
[0051] 对于一个η维随机变量X,经过下式变换:
[0052] y=ffTx (5)
[0053] 这样就将原本为η维向量空间的输入数据投影到了k维输出空间,其中k<<n。也 就是说,PCA可以将大量的相关输入数据转化成一系列的统计去相关分量或特征,其按照方 差递减来排序,取特征值排在前85 %的样本作为训练和测试样本。
[0054] 非线性修正的ELM算法
[0055]为解决激活函数过饱和问题,在原有的ELM算法中引入非线性修正的函数,该函数 具有ReLUs函数的稀疏表达能力和Softplus函数光滑和不饱和特性。综合这两个函数的优 点得到了非线性修正的ELM网络模型,该模型的收敛速度和泛化性能提到了了明显的体现。 [0056] 具体实现如下:
[0057] 1. ELM 算法
[0058] 任意给定N个不同样本{(Xi,ti),i = l,…,N},其中Xi为输入值,ti为输出值,它们 的维数分别为:Xi= (Xil,Xi2,…,XiN)TeRn,ti = (til,ti2,…,tim)TeRm,具有L个隐藏层结点 的单隐藏层前向神经网络的数学模型为:
[0060]其中(^=((^1,€42,~,€^)1'和1^分别是第1个隐藏层结点的输入权值和阈值,队= (&1,&2,一,^)是连接第:[个隐藏层结点到输出层的输出权值必^)=6(€4,13^」)表示关 于输出Xj的第i个隐藏层结点输出。
[0061 ]假设网络的实际输出等于期望输出,则有
[0063] 上述N个等式可以写成如下矩阵形式
[0064] Ηβ = Τ (8)
[0065] 其中
[0068] Η为隐藏层输出矩阵,其第i行表示第i个输入^关于隐藏层的全体输出,第j列表 示全体输入XI,X2,…XN关于第j个隐藏层结点的输出。
[0069] 在ELM算法中,输入权重α和阈值b服从某种连续概率分布随机选取,这样公式(8) 即可看作以β为变量的一个线性系统。求解该线性系统,即寻找最小输出权值使//Ηβ-Τ// 达到最小。ELM算法米用最小二乘法计算爹,其解可以表不为
[0070] β = H fT (11)
[0071] 为了防止过拟合,使其具有更好的泛化性能,在原有的ELM算法基础上引入了正则 项,其表达式为
[0074]其中,ε为测试所得的输出值与真实值之间的误差,而γ即为调节两者权值的比例 参数,ε与邱勺平方和分别代表经验风险与结构风险。
[0075]通过Lagrange方程将公式(12)转化为极值问题来求解最终的输出权,其中用γ来 调节经验风险与结构风险的比例,公式(12)的Lagrange表达式为
[0077]上式中λ是Lagrange乘数,且都是非负数。求Lagrange方程的梯度并令其为0:
[0079]另外有如下两种情况求解输出权值:1)如果训练样本数大于隐藏层结点数L,则有 1)如果训练样本数大于隐藏层结点数L,则有
[0081] 2)如果训练样本数小于隐藏层结点数L,则有
[0083] 2.激活函数的改进
[0084] 2.1 ReLUs 函数
[0085] ReLUs激活函数的表达式如公式(17),该函数的特点为自变量小于零的函数值为 零,大于零的部分则保持不变。这种通过强制某些数据置〇的方法,使得训练后的网络具有 一定的稀疏性。ReLUs函数与传统的Sigmoid函数相比,其形式简单不会出现过饱和问题,也 没有用到幂指数运算和除法运算等复杂的运算,因此使用ReLUs函数的神经网络具有学习 速度更快、泛化性能更好等特点。
[0086] g(x) =max(0,x) (17)
[0087] 虽然ReLUs函数具有上述的诸多优点,但它只是单纯的将大于0的部分保留了下 来,该方法强制迫使大多数隐藏单元置零,从而达到稀疏的能力,由于利用的是线性映射, 减小了网络的表达能力。研究表明,非线性映射更加接近生物学中的激活模型,同时模型的 表达能力会得到显著增强。因此,与ReLUs相似的非线性Softplus函数被提了出来。
[0088] 2.2 Softplus函数
[0089] Softplus函数是对全部数据进行了非线性映射,是一种不饱和的非线性函数其表 达式如公式(18),SoftpluS函数是ReLUs函数的近似光滑表示如图1(左)所示,该函数更加 符合神经元的激活特性。
[0090] g(x)=log(l+exp(x)) (18)
[0091 ] Softplus函数不具备稀疏表达的能力,收敛速度比ReLUs函数要慢很多。但该函数 连续可微并且变化平缓,比Sigmoid函数更加接近生物学的激活特性,同时解决了 Sigmoid 函数的假饱和现象,易于网络训练和泛化性能的提高。虽然该函数的表达性能更优于ReLUs 函数和Sigmoid函数,即精确度相对于后者有所提高,但是其并没有加速神经网络的学习速 度。
[0092] 2.3非线性修正的激活函数
[0093]由于ReLUs函数具有稀疏表达的能力,而Softplus函数具有光滑非线性和不饱和 的特点。因此本实施例综合ReLUs和Softplus各自的优点,即前者的稀疏性和后者的光滑非 线性特性结合起来,其函数曲线如图2(左)所示,可以发现ReNLUs函数兼具ReLUs稀疏特性 和Softplus函数的非线性、光滑和不饱和特性。
[0094]在ELM算法中使用了一种非线性修正的激活函数来代替传统的激活函数,从而达 到优化ELM神经网络的目的。为了进一步提升激活函数对模型的可控性,本实施例在原有的 Softplus函数前加了一个控制参数a,可以通过控制参数a来调节网络的收敛速度和学习精 度(取a = 0.7-0.8),其函数曲线图如图2(右)所示。
[0095] ReNLUs函数能够在原有ELM算法的基础上更进一步的优化神经网络的学习精度和 收敛速度,提高神经网络的泛化性能。非线性修正的激活函数在大于零的部分连续光滑,激 活函数逐渐增大,导数呈现出递增的趋势。因此,非线性修正的激活函数可以使网络模型更 容易收敛,本文提出的非线性修正激活函数表达式为:
[0097] 在手写数字的数据库上进行了测试,取隐藏层结点数为50,分别对比了Tanh、 Sigmoid、ReLUs、Softplus和ReNLUs激活函数下的ELM的数字识别结果,实验结果如表1。
[0098] 为了更加直观、高效的体现改进型极限学习机在手写数字效果上的优越性,分别 选取了在不同隐藏层结点数的情况下,测量50次后取平均值,得到不同隐藏层结点的平均 训练精度图(图3左)和平均测试精度图(图3右)。图3表明随着隐藏层结点数的增加,其平均 训练精度和测试精度呈逐渐递增的趋势,基于改进型极限学习机的手写数字识别率是最高 的。
[0099]表1各激活函数下ELM的性能指标
[0101]对比表1的各项数据不难发现,非线性修正的ELM算法在手写数字识别中其训练精 度、测试精度的结果要优于其它激活函数下的ELM结果,相对于传统的激活函数其训练和测 试精度提升了 1.5-2% ;对于训练时间和测试时间,很明显ReLUs激活函数的ELM算法最佳 (训练时间ReNLUs与ReLUs差不多,测试时间虽比ReLUs长,但比其他还是要好的),比较激活 函数复杂程度也易得出此结论;最后比较一下训练精度和测试精度标准差,该指标主要来 说明由于输入权值和隐藏层偏置随机设置,对网络学习精度的影响,其值越小说明网络模 型越稳定、泛化性能越好,比较发现使用ReNLUs激活函数的ELM最为稳定。综合表1的各项性 能指标可以得出一一基于改进型极限学习机的手写数字识别效果最好。
【主权项】
1. 一种基于改进型极限学习机的手写数字识别方法,其特征在于,包括W下步骤: (1) 对训练样本的手写数字图像进行预处理; (2) 对预处理后的手写数字图像进行逐像素特征提取,W获得训练样本和测试样本; (3) 对输入样本进行主成分分析; (4) 极限学习机引入了非线性修正的ELM算法对手写数字进行识别。2. 根据权利要求1所述的基于改进型极限学习机的手写数字识别方法,其特征在于,所 述步骤(1)包括W下子步骤: (11) 对手写数字图像进行二值化处理; (12) 对二值化处理后的图像进行空白切割; (13) 采用归一化操作来统一数字图像的尺寸。3. 根据权利要求1所述的基于改进型极限学习机的手写数字识别方法,其特征在于,所 述步骤(2)具体为:对预处理后的手写数字图像进行逐行逐列地扫描,当遇到黑色像素时其 特征值记为1,当遇到白色像素时其特征值记为0,形成相同特征向量矩阵组成特征向量集, 并将得到的特征向量集分成两份,一份为神经网络的训练样本,另一份为测试样本。4. 根据权利要求1所述的基于改进型极限学习机的手写数字识别方法,其特征在于,所 述步骤(3)包括W下子步骤: (31) 计算样本的均值向量,并利用均值向量将所有样本中屯、化; (32) 计算样本的协方差矩阵,并对其特征值进行分解,并将特征向量按其对应的特征 值由大到小降序排列; (33) 取特征值排在前85%的样本作为训练或测试所需样本。5. 根据权利要求1所述的基于改进型极限学习机的手写数字识别方法,其特征在于,所 述步骤(4)中非线性修正的ELM算法为在原有的ELM算法中引入ReNLUs激活函数得到,其中, 非线性修正的ELM算法的激活函数呆妇控制参数,取值范 围为 0.7-0.8。
【文档编号】G06N3/04GK106096543SQ201610404547
【公开日】2016年11月9日
【申请日】2016年6月8日
【发明人】彭敬涛, 陈亮, 余敖, 李佳
【申请人】东华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1