基于BP人工神经网络的手写体数字识别
- 格式:pdf
- 大小:1.65 MB
- 文档页数:3
总第304期 2015年第2期 计算机与数字工程
Computer&Digital Engineering Vo1.43 No.2
223
基于BP人工神经网络的手写体数字识别 秦鑫 张昊 (1.新乡医学院生物医学工程学院新乡453003)(2.新乡医学院三全学院新乡453003)
摘要手写体数字识别是模式识别研究领域多年来的热点,BP人工神经网络是目前应用最广泛的神经网络模型之 一。
将两者融合并结合Matlab软件,提出了一种简单的基于BP神经网络数字识别的方法,仿真实验结果表明,该方法识
别效果良好,准确率高,有一定实用性。 关键词BP神经网络;手写体数字识别;模式识别 中图分类号TP183 DOI:10.3969/j.issn1672—9722.2015.02.016
Handwritten Numeral Recognition Based on BP Neural Network QIN Xin ZHANG Haoz (1.School of Biomedical Engineering,Xinxiang Medical University,Xinxiang 453003) (2.Xinxiang Medical University Sanquan Medical College,Xinxiang 453003)
Abstract Handwritten numeral recognition has been a hotspot of pattern recognition research field for many years while the BP artificial neural network iS one of the most widely used neural network models.A simple method of numeral recognition based on BP neura1 network is proposed with the combination of the above tWO softwares and Matlab software. The simulation experiment results shoW that the method is very practical with its effective recognition and high accuracy. Key Words neural network,handwritten numeral recognition,pattern recognition CI鹅s Number TP1 83
1 引言 人工神经网络是由大量处理单元互联组成的 非线性自适应信息处理系统,模拟人类思维模式, 进行分布式并行信息处理的算法数学模型[1q]。 BP(Back Propagation)神经网络是一种按误差逆 传播学习算法训练的多层前馈网络,全称是基于误 差反向传播算法的人工神经网络,目前应用最广泛 的神经网络模型之一[2叫]。BP网络能学习和存贮 大量的输入一输出模式映射关系,而无需事先揭示 描述这种映射关系的数学方程。手写体数字识别 是多年来模式识别的热点课题,其在邮政系统、税 务、银行等行业使用很广泛[5]。由于是个人手写字 符,导致每个字体有一定差异,传统识别方法的识 别度都不高,稳定性不好。将BP神经网络应用于 数字识别,在文字识别领域近年来取得了一定的突
破[ 。本研究利用BP神经网络算法结合Matlab 建立了一个手写数字字符0~9的识别分类器,经 实验表明,该方法合理可行,且其识别效果正确有 效,对于数字识别技术有一定借鉴意义。
2 BP神经网络算法程序流程 BP神经网络算法程序实现具体步骤如下: 1)初始化所有权系数W 、W ,学习速率刁, 迭代次数z===1,累计误差; 2)输入一个样本X===(X ,X。,…, ) ,期望 输出 一( 1,d2,…,d ); 1 3)计算隐含层各节点 一∑WjiO。,Oi—x ,
=1 +1—1, 一厂(yf), 一1,2,…,h;
.h..+——l 4)计算输出各节点 一∑ , + ===1,
*收稿日期:2014年8月5日,修回日期:2014年9月27日 作者简介:秦鑫,女,硕士,讲师,研究方向:电子技术及信号处理。 秦鑫等:基于BP人 申经 络的手写体数字识别 第43卷 一/’( ),k一1,2,…,C; 5)计算误差∑( k-- )。;
6)修正输出层w 一( 一Ok)ok(1一 ), Wkj=Wkj+ .居一1,2,…,(、;
7)修正隐含层Wj 一 (1一 )∑ w , k一1 一 +孵 ,是===1,2,… ;
8)检查系统是否对所有训练样本完成一轮训 练P>N,若尸<N,计数器(P+1),重返回步骤 2): 9)检查网络总误差是否达到精度要求,若满 足E<E ,训练结束,否则E置0,P置1,返回步 骤2)。
3 基于BP神经网络对数字识别的设计 3.】 样本学习 1)隐层结点数和权系数初值设定 在数字识别系统实验中所用的样本是由不同 人手写的40组0~9共10类数据,每组l0个,共 400个训练样本,从样本库选取100数字作为测试 样本l^~ 。对网络反复训练得到以下结论:(1)l当 权系数初始值为[O,1]之间时隐层结点数过多(大 于25)迭代次数超过最大迭代次数1000,正确率 0.1,不能收敛。所以隐层结点数过多可能对训练 样本造成“过拟合”,实际应用效果差。(2)当权系 数初始值为[0,1]隐层节点数较小时,迭代次数不 稳定,正确率不稳定,但是迭代次数越多,正确率越 高。迭代次数少时(0 ̄200),正确率偏低。这可能 是达到极小值而不是最小值造成的。经反复实验 可得当隐层结点数为15~20之间时,正确率较高 0.98以上。(3)当权系数初始值为[一1,1],与初 始值[0.1]相比网络变得稳定。而且迭代次数明显 减少,适用的隐含层结点数范嗣变大,所以权系数 初始值的作用很大,且样本正确率也比较高而且稳 定。所以网络权值初始值设在[一1,1]为好。 2)学习速率对网络的影响 学习速率叩要选择恰当的值。如果学习速率77 较小,学习速度比较慢,当学习速率小于0.1时学 习时问增加。网络要经过几个不同的学习速率的 训练,并且观察每一次训练后的误差平方和的下降 速率,以此判断选定的学习速率合适否。如果误差 平方和下降的很快,则说明速率合适,如图1(a)所 示,该图对应的原样本正确率为100 ,学习速率 为0.8;若误差平方和出现震荡现象。则说明学习 速率过大。如图1(b)所示该图的学习速率为5,不
能收敛,所以比较理想的学习速率是0.6附近的 值。
图1 误差平方和的下降速率曲线 3)最大误差的选取 期望最大误差过大如0.1、0.01则正确识别率 降低,所以经实验证明0.001为较好的值。 经过参数讨论,最终确定的网络结构:设定学 习参数隐含层神经元个数20,最大迭代次数】000, 最大误差0.001,学习速率0.5,进行300个样本的 学习,点击“开始学习”按钮将得到修正后的输f}{层 权系数和隐含层的权系数以及迭代误差.迭代次 数,所用的学习时间。如图2所示。
匦 菱 } 匾困
图2学习参数设定及学习结果 3.2样本测试 样本测试包括原样本测试,检验样本测试两个 内容。原样本测试主要目的是测试正确率。通过 调整学习参数,分析样本测试的正确率与学习参数 的关系。经过实验原样本测试结果正确率1 00 。 检验样本测试包括以下-=个内容:首先检验样 本的生成,输入检验样本数,然后在画板上写数字, 每写一个数字就点击“记录检验样本”按钮,这将把 所写的数字保存到矩阵中,然后点击“重置”按钮, 画板清空然后写下一个数字。第二显示检验样本. 点击“显示检验样本”按钮将显示出待检验的样本。 最后计算正确率,点击“检验样本测试”将计算 正 确率。图3为其中1组样本和测试结果。 本实验中按以上确定好的网络结构对待侧的 十组样本进行了测试,每组从0~9共10个数字, 2015年第2期 计算机与数字工程 225 正确识别率只有一组是80 ,其他在90 以上。
图3样本测试 本实验中按以上确定好的网络结构对待侧的 lO组样本进行了测试,每组从O~9共1O个数字, 正确识别率如表1所示。 表1正确识别率 样本 正确率 样本 正确率% N0.1 9O N().6 100 N().2 100 N().7 100 N0.3 80 N().8 9O N0.4 9O N().9 9O N0.5 100 N().1O 9O
4 结语 本系统运用Matlab软件,基于BP神经网络的 手写体数字识别设计,经过网络样本训练和样本测 试表明,对于数字识别,该方法能基本达到对其识 别,有一定可行性和有效性 一 “ 。但是由于网络的 单元数的选择在理论上尚未成熟,所以本实验中通 过反复比较才确定了网络的结构。因此网络存在 很大的冗余性,在一定程度上增加了网络学习的负 担,在后续研究中进一步改进。
参考文献 [1]颜培玉,张国栋.基于人工神经网络的手写体数字识别 方法EJ].沈阳航空工业学院学报,2008,25(2):66—69. YAN Peiyu,ZHANG Guodong.Handwr itten numer ical recogn ition method based on BPneural network [J].Journal of Shenyang Institute of Aeronautical En— gineering,2008,25(2):66—69. [2]张充,史青宣,苗秀芬,等.基于BP神经网络的手写体 数字识别[J].计算机技术与发展,2008,18(6):128~ t30,l63. ZHANG Chong,SHI Qingxuan,MIAO XiuferL Hand— written Numeral Recognition Based on BP Neural Network [J].Computer Technology and Development,2008,18 (6):128—130,l63. [3]马宁,常骥.基于BP神经网络的手写数字识别研究 [J].哈尔滨师范大学自然科学学报,2009.25(4):89— 91. MA Ning,CHANG Ji.Research of Handwritten Digit— al Recognition Based on Back Propagation Neural Net work[,J].Natural Sciences Journal of Harb in Normal University.2009,25(4):89—91. [4]刘文杰,吴刚.基于ARM9的手写体数字识别技术设计 与实现[J]。计算机与数字T程,2013,41(9):1498— 15lO. LIU Wenj ie,WU GANG.Design and realization of handwritten digit recognition technology based on ARM9[J].Computer and Digital Engineering,2013.4 l (9):1498—15l0. [5]苏睿,张晓杰.基于BP神经网络的数字识别研究[J]. 电脑知识与技术,2013,9(14):3362—3365. SU Rui,ZHANG Xiaojie.Study of Digital Recognition Based on BP Neural Network[J].Computer Knowl— edge and Technology,2013,9(14):3362—3365. [6]赵元庆,吴华.多尺度特征和神经网络相融合的手写体 数字识别口].计算机科学,2013,40(8):316—318 ZHAO Yuanqing.WU hua.Handwritten Numeral Recognition Based on Multi—scale Features and Neural Network[,J].Computer Science,2013,40(8):316—318 [7]王晓乾,张莉,何书萍,等.一种新的李群分类器在手写 体数字中的应用[J].计算机工程与科学,2013,35(2): 85—9O. WANG Xiaoqian,ZHANG Li,HE Shuping,et a1.A novel Lie group classifier and its application on hand— written digits[J].Computer Engineering and Science, 2Ol3,35(2):85—90. [8]王婷,江文辉,肖南峰.基于改进BP神经网络的数字识 别[J].电子设计工程,201l,19(3):108—112. WANG,rjng,JIANG Wenhui,XIAO Nanfeng.Numerical recognition based on improved BP neural network[,J].E— lectronic Design Engineering,2011,19(3):108一ll2. E93樊雷松,强彦,赵涓涓,等.无线传感网中基于BP神经 网络的数据融合方法[J].计算机工程与设计,2014,35 (1):62—66. FAN Leisong,QIANG Yan,ZHAO Juanjuan,et a1. Date fusion method based on BP neural network in wireless sensor networks[J].Computer Engineering and Design,2014,35(1):62—66. [1O]张德丰.MATLAB神经网络应用设计[M].北京:机 械工业出版社,2009. ZHANG Defeng.The application of MATLAB neural network design[M].Beijing:Machinery Industry Press,2009.