用于英文字母识别的三种人工神经网络的设计
扫描二维码
随时随地手机看文章
摘要分别采用单层感知器、BP网络和霍普菲尔德网络三种神经网络对26个英文字母进行识别,通过实验给出各网络的识别出错率,从中可以看出三种人工神经网络各自的优缺点,为选择神经网络进行字符识别提供了一定的依据。
1引言
人工神经网络是在人类对其大脑神经网络认识理解的基础上人工构造的能够实现某种功能的神经网络。代写论文 它是理论化的人脑神经网络的数学模型,是基于模仿大脑神经网络结构和功能而建立的一种信息处理系统。因其自组织、自学习能力以及具有信息的分布式存储和并行处理,信息存储与处理的合一等特点得到了广泛的关注,已经发展了上百种人工神经网络。
一般来说,人工神经网络从结构上可分为两种:前向网络和反馈网络。典型的前向网络有单层感知器、BP网络等,反馈网络有霍普菲尔德网络等[1]。
人工神经网络已经被广泛应用于模式识别、信号处理、专家系统、优化组合、智能控制等各个方面,其中采用人工神经网络进行模式识别具有一些传统技术所没有的优点:良好的容错能力[2j、分类能力、并行处理能力和自学习能力,并且其运行速度快,自适应性能好,具有较高的分辨率。单层感知器、BP网络和霍普菲尔德网络均可以用于字符识别。
本文通过具体采用感知器网络、BP网络和霍普菲尔德反馈网络对26个英文字母进行识别的应用,通过实验给出各自的识别出错率,通过比较,可以看出这3种神经网络的识别能力以及各自的优缺点。
2 字符识别问题描述与网络识别前的预处理
字符识别在现代日常生活的应用越来越广泛,比如车辆牌照自动识别系统[3,4],手写识别系统[5],办公自动化等等[6]。代写毕业论文 本文采用单层感知器、BP网络和霍普菲尔德网络对26个英文字母进行识别。首先将待识别的26个字母中的每一个字母都通过长和宽分别为7×5的方格进行数字化处理,并用一个向量表示。其相应有数据的位置置为1,其他位置置为O。图1给出了字母A、B和C的数字化过程,其中最左边的为字母A的数字化处理结果所得对应的向量为:IetterA~「00100010100101010001111111000110001〕’,由此可得每个字母由35个元素组成一个向量。由26个标准字母组成的输人向量被定义为一个输人向量矩阵alphabet,即神经网络的样本输人为一个35×26的矩阵。其中alphabet=[letterA,letterB,lettere,……letterZj。网络样本输出需要一个对26个输人字母进行区分输出向量,对于任意一个输人字母,网络输出在字母对应的顺序位置上的值为1,其余为O,即网络输出矩阵为对角线上为1的26×26的单位阵,定义target=eye(26)。
本文共有两类这样的数据作为输人:一类是理想的标准输人信号;另一类是在标准输人信号中加上用MATLAB工具箱里的噪声信号,即randn函数。
3 识别字符的网络设计及其实验分析
3.1单层感知器的设计及其识别效果
选取网络35个输人节点和26个输出节点,设置目标误差为0.0001,最大训练次数为40。设计出的网络使输出矢量在正确的位置上输出为1,在其他位置上输出为O。代写医学论文 首先用理想输人信号训练网络,得到无噪声训练结果,然后用两组标准输入矢量加上两组带有随机噪声的输人矢量训练网络,这样可以保证网络同时具有对理想输人和噪声输人分类的能力。网络训练完后,为保证网络能准确无误地识别出理想的字符,再用无噪声的标准输入训练网络,最终得到有能力识别带有噪声输人的网络。下一步是对所设计的网络进行性能测试:给网络输人任意字母,并在其上加人具有平均值从。~0.2的噪声,随机产生100个输人矢量,分别对上述两种网络的字母识别出错率进行实验,结果如图2所示。其中纵坐标所表示的识别出错率是将实际输出减去期望输出所得的输出矩阵中所有元素的绝对值和的一半再除以26得到的;虚线代表用无噪声的标准输人信号训练出网络的出错率,实线代表用有噪声训练出网络的出错率。从图中可以看出,无噪声训练网络对字符进行识别时,当字符一出现噪声时,该网络识别立刻出现错误;当噪声均值超过0.02时,识别出错率急剧上升,其最大出错率达到21.5%。由此可见,无噪声训练网络识别几乎没有抗干扰能力。而有噪声训练出的网络具有一定的抗干扰能力,它在均值为。~0.06之间的噪声环境下,能够准确无误地识别;其最大识别出错率约为6.6%,远远小于无噪声训练出的网络。
3.2BP网络的设计及其识别效果
该网络设计方法在文献[lj中有详细介绍。网络具有35个输人节点和26个输出节点。目标误差为0.0001,采用输人在(0,l)范围内对数S型激活函数两层109519/109519网络,隐含层根据经验选取10个神经元。和单层感知器一样,分别用理想输人信号和带有随机噪声的输人训练网络,得到有噪声训练网络和无噪声训练网络。由于噪声输人矢量可能会导致网络的1或o输出不正确,或出现其他值,所以为了使网络具有抗干扰能力,在网络训练后,再将其输出经过一层竞争网络的处理,使网络的输出只在本列中的最大值的位t为1,保证在其他位置输出为O,其中网络的训练采用自适应学习速率加附加动量法,在MATLAB工具箱中直接调用traingdx。在与单层感知器相同的测试条件下对网络进行性能测试,结果如图3所示。其中虚线代表用无噪声训练网络的出错率,实线代表用有噪声训练网络的出错率。从图中可以看出,在均值为o一0.12之间的噪声环境下,两个网络都能够准确地进行识别。在0.12~0.15之间的噪声环境下,由于噪声幅度相对较小,待识别字符接近于理想字符,故无噪声训练网络的出错率较有噪声训练网络略低。当所加的噪声均值超过。.15时,待识别字符在噪声作用下不再接近于理想字符,无噪声训练网络的出错率急剧上升,此时有噪声训练网络的性能较优.
3.3离散型,霍普菲尔德网络的设计及其识别效果
此时网络输人节点数目与输出神经元的数目是相等的,有r=s=35,采用正交化的权值设计方法。在MATLAB工具箱中可直接调用函数newh叩.m。要注意的是,由于调用函数newhoP.m,需要将输人信号中所有的。代写英语论文 变换为一1。如letterA~[一1一11~1-1一11一11一l一11一11一11一1一1一11111111一l一l一111一1一1一11〕’。设计离散型霍普菲尔德网络进行字符识别,只需要让网络记忆所要求的稳定平衡点,即待识别的26个英文字母。故只需要用理想输人信号来训练网络。对于训练后的网络,我们进行性能测试。给网络输入任意字母,并在其上加人具有平均值从。~0.5的噪声,随机产生100个输人矢量,观察字母识别出错率,结果如图4所示。从图中可以看出,在均值为0~0.33之间的噪声环境下,网络能够准确地进行识别。在0.33~0.4之间的噪声环境下,识别出错率不到1%,在0.4以上的噪声环境下,网络识别出错率急剧上升,最高达到大约10%。可以看出,该网络稳定点的吸引域大约在0.3~。.4之间。当噪声均值在吸引域内时,网络进行字符识别时几乎不出错,而当噪声均值超过吸引域时,网络出错率急剧上升。
4结论
本文设计了3种人工神经网络对26个英文字母进行了识别。可以看出,这3种人工神经网络均能有效地进行字符识别,并且识别速度快,自适应性能好,分辨率较高。由图2和图3可以看出,单层感知器的有噪声训练网络在均值为O~0.06之间的噪声环境下可以准确无误的识别,而有噪声训练的BP网络可以在o~0.12之间的噪声环境下准确无误的识别,故BP络网络容错性比单层感知器的容错性好;此外,噪声达到0.2时,单层感知器的有噪声训练网络的识别出错率为6.6%,而有噪声训练的BP网络的识别出错率为2.1%,故BP网络比单层感知器识别能力强。另外,由图2、图3和图4可以看出,这3种网络中霍普菲尔德网络识别率最高,它在噪声为0.33以前几乎不会出错,BP网络次之,感知器最差。
通过设计、应用与性能对比,我们可得单层感知器网络结构和算法都很简单,训练时间短,但识别出错率较高,容错性也较差。BP网络结构和算法比单层感知器结构稍复杂,但其识别率和容错性都较好。霍普菲尔德网络具有设计简单且容错性最好的双重优点。因此,我们应根据网络的特点以及实际要求来选择人工神经网络对字符进行识别。
参考文献
[1]丛爽.面向MATLAB工具箱的神经网络理论与应用「M」.合肥:中国科学技术大学出版社,2003.
[2]武强,童学锋,季隽.基于人工神经网络的数字字符识别[J].计算机工程,2003,29(14):112一113.
[3]廖翔云,许锦标,龚仕伟.车牌识别技术研究[J].徽机发展,2003,13:30一35.
[4]李中凯,王效岳,魏修亭.BP网络在汽车牌照字符识别中的应用[J].东理工大学学报,2004,18(4):69一72.
[5]汪同庆,居淡,任莉.基于神经网络及多层次信息融合的手写体数字识别[J].小型徽型计算机系统,2003,24(12):2286一2290.
[6]杨庆雄.基于神经网络的字符识别研究[J].信息技术,2005,4:92一96.
更多医疗电子信息请关注:21ic医疗电子频道