中图分类号:TP183 文献标识码:A 文章编号:1009-2552(2007)04-0087-02
基于BP神经网络的数字识别研究
马耀名,黄 敏
(辽宁工程技术大学电气与控制工程学院,葫芦岛125105)
摘 要:为了提高数字识别的准确性和可靠性,将BP神经网络应用于数字识别,并考察了网络
结构对系统实时性、识别效果的影响以及初始权值对收敛速度的影响,选取了最佳的隐层节点数和权值初始化函数,实现了基于BP神经网络的数字识别系统。利用MATLAB进行仿真实验,实验结果表明该系统能够实现对数字的有效识别。关键词:数字识别;神经网络;BP算法
StudyofdigitrecognitionbasedonBPneuralnetwork
MAYao2ming,HUANGMin
(CollegeofElectricityandControlEngineering,LiaoningTechnicalUniversity,Huludao125105,China)
Abstract:Inthispaper,BPneuralnetworkisappliedtodigitrecognitionsysteminordertoimprovetheaccuracyandreliabilityofsystem.Forfulfillingtherealtimeandveracitydemandsofdigitrecognition,thestructureofneuralnetworksisresearched.Theinfluenceofinitialweightsonconvergentspeedisalsoconsi2dered.Basedonthesuccessfulselectionsofhiddenlayersandweightinitializationfunctions,thispaperrea2lizedadigitrecognitionsystembasedonBPneuralnetwork.ItevaluatedtheperformanceofsysteminMAT2LAB.Experimentalresultsdemonstratethatthemethodworkswellinrecognizingthedigit.Keywords:digitrecognition;neuralnetwork;BPalgorithm
0 引言
数字识别能够在汽车牌照、支票等有关数字编号的识别方面得到广泛应用,因此成为多年来研究的一个热点。人工神经网络技术源于人脑神经系统的模型,是模拟人工智能的一种重要方法,具有模拟人的部分形象思维的能力。它是由简单信息处理单元互连组成的网络,能接受处理信息,网络的信息处理由处理单元间的相互作用来实现,它是通过把问题表达成处理单元间的连接权来处理的。人工神经网络技术的迅速发展,为模式识别开辟了新的途径,特别是它的信息并行分布式处理能力和自学习功能等显著优点,更是激起了人们的研究兴趣。误差反向传播网络(Back-Propagation),即BP神经网络,是一种典型的人工神经网络,有着广泛的应用。本文在对BP神经网络基本原理研究的基础上,结合数字识别这一课题,提出了利用BP神经网络方法来实现数字识别的方案。MATLAB仿真实验表明,基
于BP神经网络的数字识别系统取得了良好效果。
1 BP神经网络基本原理
BP神经网络是一种典型的前馈神经网络,其网
络的基本结构如图1所示,它包含输入层、隐层及输出层,隐层可以为一层或多层,每层上的神经元称为节点或单元。BP算法属于有监督式的学习算法,其主要思想是:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络的权值和偏差。BP算法由两部分组成:信息的正向传递与误差的反向传播。在正向传播过程中,输入信息从输入层经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输
收稿日期:2006-09-27
作者简介:马耀名(1975-),男,辽宁工程技术大学电气工程系,讲
师,主要从事智能控制及应用方面的研究。
—87
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
—
出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标。
的初始权值。
214 建立网络,利用训练样本进行训练
在MATLAB的BP网络工具箱中包含了进行BP网络分析和设计的多种工具函数,这里采用newff函数来建立BP网络。训练部分对应的程序代码如下:
%Traincloseallclearall
TrainData=Data;%TrainingdataTargetOut=eye(10,10);%Targetoutputminmax(TrainData);
net=newff(minmax(TrainData),[1024,,10],);{‘logsig’‘,logsig’‘,logsig’}‘,trainrp’
net.trainParam.epochs=100;
图1 BP神经网络结构图net.inputWeights{1,1}.initFcn=‘randnr’;net.layerWeights{2,1}.initFcn=‘randnr’;net=init(net);
[net,tr]=train(net,TrainData,TargetOut);215 利用测试集进行测试
2 基于BP神经网络的数字识别系统211 确定输入、输出数据
网络的输入、输出应根据应用的具体要求来设定。输入层节点数目取决于数据的维数,为了方便建立系统,系统中采用的输入数据为已经提取的特征数据,输入特征数据为32332的矩阵,转换成1024×1的矩阵,因此神经网络输入节点数为1024。
以数字0为例,测试部分对应的程序代码如下:%Test
(NumberTitle’figure‘‘,off’‘,Name’‘,TestingRe2);%testdigit0sults[323329610]’
loadtest0.txt;
subplot(2,5,1);imshow(~test0);TestData=Matrix2Column(test0);TestOut=sim(net,TestData);TestOut=compet(TestOut);Number=find(TestOut==1)-1;title(num2str(Number));216 实验结果
要识别10个数字,因此输出选择为10×1的矩阵,输出节点数为10。当数字图像0~9输入神经网络后在输出神经元对应的位置上为1,其他的位置为0。输入数字0,第一个输出神经元为1,其他为0;
输入数字1,第二个输出神经元为1,其他为0;输入数字2,第三个输出神经元为1,其他为0,以此类推。212 网络结构设计
网络结构的设计主要包括网络层次、隐层神经元数和传递函数的设计。本系统中,选择3层的神经网络:输入层1024个神经元,输出层10个神经元,中间层根据实验选取,初选为个神经元。通常中间隐层数越大,隐层神经元越多,神经网络的精度会越高,但泛化能力会下降,所以要通过实验,合理选取隐层神经元数目。213 初始权值的选取
实验中,训练样本如图2所示。通过测试,选取
对于非线性系统,初始权值的选取十分重要,它将直接影响到学习是否能够收敛及训练时间的长短。一般情况下,希望初始权值在输入累加时使每个神经元的状态接近于零,这样开始时在误差曲面上下落到平坦的区域上。权值一般取较小的随机数,这样可以保证每个神经元在一开始时都在转移函数变化最大的区域进行。这里通过实验选择合理—88
—
图2 训练样本
输入层、隐层和输出层的神经元数分别为1024,96和10;传递函数选择logsig函数;权值初
(下转第91页)
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
(8)数据包长度为2048bits。
作方向是提出一种高效率的调度准则以实现多媒体的传输要求。
由图3可以看出,随着网络负载的增加,系统的吞吐量开始不断降低。在相同的负载条件下,新协议使得系统吞吐量增加了近20%。
图4 网络负载和端到端延迟关系图
参考文献:
图3 网络负载和吞吐量的关系图[1] 刘乃安.无线局域网(WLAN)-原理、技术和应用[M].西安电
子科技大学出版社,2004.
由图4可以看出,在负载很高时端到端延迟仍
然在一定的可接受范围之内。
[2] [德]JochenSchiller.移动通信[M].周正,王鲜芳,译.高等教育
出版社,2005.
[3] 张国正,方旭明.无线Mesh网络多信道MAC协议[J].数据通
3 结束语
提出了一种适合无线多跳Mesh网络环境的
MAC协议,通过使用带外信令和一个新的控制消息包CTSp在数据传输之前进行数据信道使用预协商。根据某种调度准则,Mesh接入点以全分布的方式来确定数据包的传输次序。由于隐藏和暴露终端问题得到解决,这使得在数据信道上发生碰撞的可能性大为降低,同时就提高了信道使用效率。未来的工
信,2005(4).
[4] AcharyaA,MisraA,BansalS.High-PerformanceArchitectureforIP-BasedMultihop802.11Networks[J].IEEEwirelesscommunication,Oct.2003:22-28.
[5] AshishRaniwala,Tzi-ckerChiueh.ArchitectureandAlgorithmsfor
anIEEE802.11-basedMulti-ChannelWirelessMeshNetwork[C].24thAnnualJointConferenceoftheIEEEComputerandCommunica2tionsSocieties,2005.
责任编辑:么丽苹
randnr初始化函数完成。测试样本及测试结果如图3所示(测试样本上面的小字符为测试结果),可以看出,测试结果准确,达到了预
(上接第88页)始化通过
期的效果。
有广泛的应用前景。本文在对BP神经网络进行深入分析的基础上,通过实验探索了BP神经网络用于数字识别的可行性和有效性。实验结果表明,基于BP神经网络的数字识别系统能够有效地完成识别任务。参考文献:
[1] 李士勇.模糊控制神经网络和智能控制论[M].哈尔滨:哈尔
滨工业大学出版社,1996.
[2] 边肇祺,张学工,等.模式识别[M].北京:清华大学出版社,
1999.
[3] 闻新,周露,力,等.MATLAB神经网络应用设计[M].北
京:科学出版社,2000.
[4] 张志涌.精通MATLAB[M].5.3版.北京:北京航空航天大学出
版社,2000.
[5] RumelhartDE,HintonGE,WilliamsRJ.LearningRepresentations
byBack-PropagatingErrors[J].Nature,1986,323:533-536.[6] HassounMH.FundamentalsofArtificialNeuralNetworks[M].MIT
Press,1995.
图3 测试样本及测试结果
3 结束语
手写数字识别在交通,银行及邮政等许多领域
责任编辑:么丽苹
—91
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
—