计算机与数字T程
Computer&DigitalEngineering
VoL38No.12
33
一种改进的
GA-BP算
法在手写体数字识别的应用研究
王勇
+
(江苏科技大学张家港校区张家港215600)
摘要在分析GA-BP算法不足的基础上,通过对GA算法中的相应算子进行改进设计,从而有效避免了GA算法中的出现局部次优的情况,并把GA算法产生的最优个体作为BP神经网络的连接权值和阈值,应用于手写体数字识别过程中。实验结果表明,改进的GA—BP算法可以提高BP网络的学习速度和识别效果。
关键词GA-BP算法;遗传算子改进;手写体数字识别中图分类号TP301.6
AnImA—BPAprovedGlgorithmto
HandwrittenNumeral
RecognitionApplication
Yong
Wang
(ZhangjiagangCampus,JiangsuUniversityofScienceandTechnology,Zhangjiagang215600)
AbstmgtAfter
theanalysisofinsufficientintheGA-BPalgorithmA,byG
a
algorithminthe
tO
correspondingoperators
to
Aalgorithminimprovethedesign,effectivelyavoidingGbest
individual
as
partialsub-optimal
AsituationandtheG
algorithmproduced
the
theBPneural
networkconnectionweightsandthresholds,applied
handwrittendigitrecognitionprocess.
A-BPExperimentalresultsshowthattheimprovedGtion.
Key
algorithm
can
orkandidentifica—improvethelearningspeedofBPnetw
Words
GA—BP
eralalgorithm。improvedgeneticoperators。handwrittennum
recognition
ClassNl—nberTP301.6
1
引言
手写体数字识别技术是目前研究较为成熟的
研究高速度、高正确率的手写体数字识别算法仍是一项相当有挑战性的工作。
BP神经网络算法因其非线性映射性能力和较强的自我学习能力等优点[1],目前已经广泛应用于
技术之一。但作为理论研究,手写体数字识别技术对于其他文字识别技术仍有积极的借鉴意义。由于数字的类别只有十种,笔画简单,其识别问题看似并不复杂,但事实上,手写体数字的正确识别率并不比印刷体汉字识别正确率高,甚至不如联机手写体汉字识别率高[1]。其主要原因在于:第一,数字笔画简单,笔画差别相对较小,字形相差不大,增加某些数字间的区分难度;第二,由于受地域的影响,同一数字的写法千差万别,很难做到兼容世界各地写法的数字识别系统。再加上数字间缺乏上下文关系,也给识别带来了一定的难度[2|。因此,
模式识别、分类以及图像处理等方面。但实际应用
过程中由于BP神经网络在识别方面存在一些缺陷[5],如:网络权系数的设置存在局限性、容易陷入局部最优等。一般采用进化算法或遗传算法(GA)来训练和优化其网络连接权值和结构,从而形成了GA—BP算法‘3I。2
GA—BP算法及其不足分析
GA—BP算法基本思想是:利用遗传算法(GA)
随机产生一个种群,通过评价函数进行评估,然后
收稿日期:2010年5月18日,修回日期:2010年6月20日作者简介:王勇,男,硕士研究生,研究向:
处理与模式识别。
34
王
勇:一种改进的GA-BP算法在手写体数字识别的应用研究
第38卷
利用选择、交叉及变异等遗传操作,产生下一代种群,实现个体适应性的提高。从而进行全局寻优操作,得到一定的权值范围,并以此时的权值作为BP网络的初始权值,从而解决BP算法的易陷入局部极小、收敛速度慢和引起振荡效应等缺点所带来的问题[4]。
虽然引人了GA算法对BP神经网络的连接权值有一定的改进,但对于GA算法来说,在计算的后期,因采用固定的遗传算子进行染色体的选择、交叉和变异,因此选择的重复率比较高[3],得到的后代染色体并不一定是最优的父代染色体,所以也存在训练精度低、局部收敛的问题。
针对上述问题,笔者提出通过对GA算法中的遗传算子进行改进,使改进后GA算法得到的染色体进一步优化,从而避免局部收敛等不足。最后通过仿真验证其有效性。3
改进的GA—BP算法的步骤
3.1编码及初始群体设计
利用GA算法优化BP网络首先要确定编码方
时间较长。为使识别的精度较高,本文采用实数编BP网络中各层的Wi;其中:i
C(1,2,3,…,N),jC(1,2,3,…,M),下标巧为第
个结点到第歹个结点的连接。
对于初始群体,本文采用的是随机选取产生。.2评价函数
在本文采用的BP网络模型训练中,对每个隐Sigmoid函数[63:
厂
(z)=番≥
而BP神经网络训练的过程,就是使期望输出值不断最小的过程:
E=音1坐
厶
2:(K一仇)2
n=0
N为染色体样本规模;k为第行个染色体的i个输出节点的实际输出,魄为第n个染色体的
i个输出节点的期望输出。
对于GA算法中评价函
的作用主要是用来
点,设计评价函数为:
F一南
其中:E为BP网络误差平方和的平均值,艿为一个较小的常数,目的是为了使上式在计算过程中不会出现分母为0,F值为无穷大的情况。即:E值越小(期望输出与实际输出相差越小),适应度F值就越大。
3.3改进GA算子设计3.3.1选择算子设计
通常选择算子的设计采用是轮盘赌的方法[2]进行选择,而这种选择方法的缺陷是会产生局部最优。为克服该缺陷,本文采用精英选择与轮盘赌相结合的方法进行选择算子的设计:即:在进化初期通过计算每个染色体的适应度值,对适应度值排在前面的15%进行直接选择,剩余的部分利用轮盘赌的方法进行选择实现。3.3.2交叉算子设计
传统的遗传算法对于交叉算子的设计采用固定概率Pc来实现,但这种固定概率的方法,有可能产生局部次优。因此,本文采用以下方法来实现交
叉:
Stepl:从上一代中随机选择两个染色体P1、P2,分别计算适应度值F(p1)和F(p2);if(F(夕1)>F(P2))then
P17一pl
elseP17一p2;其中:P1
7
为保留下来的一个父代染色体,同理得出第二个父代染色体P27。
Step2:利用以下公式进行算术交叉,得到下一代染色体C,:
C,=2P1’+(1一A)P27;其中:AEVo,1]中的一个随机数。
3.3.3变异算子设计
变异是提高染色体多样性的重要手段[10。,从生存的染色体侯选集中随机选择一个染色体,通过以下公式修改该染色体中的其些信息:
P7=P+£
其中:P为一父代染色体,£∈Eo,1]中的一个随机
数,P7为变异后的染色体。3.4算法实现步骤
Stepl:BP网络参数的初使化
Step2:按照BP网络的权值和阈值顺序连接随机产生N个染色体。
Step3:计算染色体的适应值F。Step4:判断迭代次
是否达到要求。如果达
式,目前编码方案主要有两种:一是二进制编码其特点为简单、直接,但精度依赖于二进制的位数;二是实数编码其特点为精度较高,但计算量较大运算码。即:每个染色体向量由三层联接权值组成,排列顺序为输入层权值、隐含层权值、输出层权值,表示为如下形式:叫一i3层神经元所采用的激活函数为与实际输出差的平方和最小的过程,即就是使下面E其中:第第评价染色体的生存能力,因此为有效结合两者的优
2010年第12期
计算机与数字工程
35
到则结束GA算法,产生最优个体;如果没有则进行下一步Step5。
Step5:按照适应度进行选择、交叉和变异操作,产生新的染色体。重复Step3步骤。
Step6:把产生的最优个体依次映射到BP网络中对应的权值和阈值,并以此时的权值和阈值作为BP网络的初始值。
Step7:利用BP网络的前向传播,计算出E值。
Step8:判定是否达到给定的要求,如果达到刚结束退出;如果没有则进行下一步BP网络的反向传播,并回到Step7。
4仿真实验结果及分析
为测试本文所设计算法的优势,采用一个手写体数字数据库作为测试用的字符集,该库中共有5000个训练样本和10000个测试样本。相关参数设置如下所示:输入节点为5个,隐层节点为15个,输出节点为3个;群体规模为200,交叉概率为0.6,变异概率为0.05。并在如下环境下进行测试:
1)硬件环境:Inter(R)Core21.80G
Hz+2GDDR2
2)软件环境:windowsxp+vc6.0
将上述字符集样本空间分别利用GA-BP算法、改进的GAIBP算法进行训练和测试。经统计实验结果得测试的识别结果为表1所示。
表1
GA—BP与本文方法实验结果比较
通过对以上表中两种算法的实验结果比较可以得出:
1)本文算法在识别方面的正确率方面有一定的提高,特别是对于一些结构复杂的数字,如3和8,识别的正确性有了很大的提高。
2)尽管在个别数字,如数字4在识别中,使用本方法错误率有所提高,但对于其它的所有数字的识别错误率均有所下降。
参考文献
[1]神经网络原理[M].叶世伟,史忠植,译.北京:机械工业
出版社,2004
[2]贺昌政,李晓峰,俞海.人工神经网络模型的新改进及
其应用[J].数学的实践与认识,2002,32(4):555~557[33吴小培,费勤云.一种提高算法学习速度的有效途径
口].安徽大学学报(自然科学版),1998,22(3):66[4]陆金桂,王石刚,胡于进,等.多层神经网络算法的研究
[J].计算机工程,1994,20(1):17~18
[5]张铃,张钹,殷海风.多层前向网络的交叉覆盖设计算
法[J].软件学报,1999,10(7):737~738
I-6]吴鸣锐,张钹.一种用于大规模模式识别问题的神经网
络算法[J].软件学报,2001,12(6):851~854
[7]马永成,肖诗斌.基于内容的文档图像检索的特征抽取
研究EJ].江西师范大学学报:自然科学版,2008,32(2):
138~141
[8]AGhosh,N.Pal,s.Pal.Self-organization
for
object
extractionusing
a
multilayerneuralnetw
orkandfuzzi—ness
measures[J].IEEETransactions
on
FuzzySys—
tents,1993,l(1):54~68
I-9]s.Pal,D.Bhandari.Geneticalgorithmsw
ithfuzzytness
functionforobjectextractionusingcellular
net—
worksl,J].FuzzySets
and
Systems,1994,65:129~139
[10]F.一LChen,s.一F.Liu.Aneural-netw
orkapproachto
recognize
defect
spatial
patternin
semiconductor
fabrication[J].IEEE
Transactions
On
Semiconductor
Manufactur—ing,2000,13(3):366~373
[113KKameyama,Y.Kosugi,T.Okahashi,etak
Au—
tomaticdefectclassicationinvisualinspectionofsem
-iconductorsusingneuralnetworks[J].IEICETrans—
actions
on
Information&SystemsE81一D,1998(11):
】26】~】27】
因篇幅问题不能全部显示,请点此查看更多更全内容