基于神经网络的英文字母识别_第1页
基于神经网络的英文字母识别_第2页
基于神经网络的英文字母识别_第3页
基于神经网络的英文字母识别_第4页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于神经网络的英文字母识别

神经网络是一个广泛、并行的网络,由具有适应性的简单单位组成。该组织可以模拟生物神经系统对现实和现代物体的相互作用反应。bp神经网络和rbf神经网络是使用最广泛的两种人工神经网络。它在各个领域都具有重要的实用价值。关于BP神经网络和RBF神经网络在英文字母识别中的应用,已经有不少文献作了论述.关于BP网络改进算法相关的文献也有不少,其中有些谈到BP和RBF的一些改进方法及其测试效果,如变步长法、牛顿法及共轭梯度法等,但却没有一篇专门的文章研究这2种网络的比较.笔者在前人研究的基础上,通过建立识别模型,利用标准字符库进行测试,并且进行了系统的仿真实验,对这2种网络的各种性能进行了深入详细分析和阐述,以便在具体的应用中能够根据实际情况对这2种网络作出较好的选择.1bp和rbf神经网络及其改进措施1.1bp神经网络误差反向传播学习算法前向网络是目前研究最多的网络形式之一,它包含输入层、隐层以及输出层,其中隐层可以为一层或者多层,其结构如图1所示.BP神经网络误差反向传播学习算法的基本思想如下:向网络提供训练例子,包括输入单元的活性模式和期望的输出单元活性模式;确定网络的实际输出与期望输出之间允许的误差;改变网络中所有连接权值,使网络产生的输出更接近于期望的输出,直到满足确定的允许误差.1.2变步长学习算法MBP算法通过改变作用函数f(x)的值域以及加入一个增益因子C改变作用函数陡度,在训练过程中使增益因子C随权值W和阈值θ一起发生变化,以达到改善BP算法的收敛特性,加快收敛速度的目的.利用牛顿最速下降法可得到的算法为δjk=f(Νetjk)∑mδmkWij(1)∂Ex∂Wij=δijΟik(2)Wij(t+1)=Wij(t)-μ∂E∂Wij(3)δjk=f(Netjk)∑mδmkWij(1)∂Ex∂Wij=δijOik(2)Wij(t+1)=Wij(t)−μ∂E∂Wij(3)利用式(1)~(3)可推得网络权值和阈值的学习算法为ΔWij(t+1)=ηδpjΟpj+aΔWij(t)(4)Δθj(t+1)=ηδpj+aΔθj(t)(5)ΔWij(t+1)=ηδpjOpj+aΔWij(t)(4)Δθj(t+1)=ηδpj+aΔθj(t)(5)其中:Qpj=f(Netpj);η为学习步长;a为权重记忆因子.首先,将节点作用函数修改为f(x)=-0.5+11+e-x(6)f(x)=−0.5+11+e−x(6)此时,函数的值域由(0,1)变为(-0.5,0.5),由此可对零输入样本进行学习训练,能够克服BP神经网络算法中当为零输入样本时,相关的权值和阈值均不改变,从而导致计算无效的问题,加快训练速度.其次,适当增加作用函数的陡度,以利于改善算法收敛性.为此在节点净输入Neti前加入一个常数因子Cmimi,这样输出函数ymi=f(Netmi)变为ymi=f(CmiΝetmi)(7)最后,对学习步长采用变步长策略,可根据收敛性加以调整.也就是说在收敛过程中,本次误差大于上次误差,则这次迭代无效,恢复迭代前的学习步长,减小步长增加的幅度重新迭代;反之,则本次迭代有效,增大学习步长.1.3rbf神经网络的线性获取理论证明,一个3层的神经网络具有任意的非线性逼近能力,因而可以用如图2所示的一个3层神经网络完成字母识别.所谓径向基函数(radialbasisfunction,简称RBF)就是某种沿径向对称的标量函数.通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数,可记作k(‖x-xc‖),其作用往往是局部的,即当x远离xc时函数取值很小.最常用的径向基函数是高斯核函数,形式为k(‖x-xc‖)=exp{-‖x-xc‖^2/(2·σ)^2)},其中:xc为核函数中心;σ为函数的宽度参数,控制函数的径向作用范围.在RBF网络中,这2个参数往往是可调的.可以从2个方面理解RBF网络的作用:1)把网络看成对未知函数f(x)的逼近器.一般任何函数都可表示成一组基函数的加权和,这相当于用隐层单元的输出函数构成一组基函数来逼近f(x).2)在RBF神经网络中以输入层到隐层的基函数输出是一种非线性映射,而输出则是线性的.这样,RBF网络可以看成是首先将原始的非线性可分的特征空间变换到另一空间(通常是高维空间).通过合理选择这一变换使在新空间中原问题线性可分,然后用一个线性单元元来解决问题.在典型的RBE神经网络中有3组可调参数:隐层基函数中心、方差和输出单元的权值.图2中:U为m维的输入向量;G为隐含层函数;Y为n维输出;K为样本数.对于英文字母模式识别问题,因为可以预先知道输出期望值的所有情况,所以可以利用一组受干扰数据和期望输出组成样本空间,对网络进行训练,从而得出合适的网络权值,再用于识别实际检测到的数据.2在输入和测试时.由于字母图像的输入信号往往带有干扰,因此在图像识别时分为3步进行:1)先不考虑干扰,同时在输入和测试时也只做理想信号的输入和测试.2)在训练神经网络的时候用带有少量随机干扰的图像来训练,分别测试不带干扰和带干扰的信号.3)在训练神经网络的时候用带有少量随机干扰的样本来训练,在测试数据之前先通过阈值处理得出预处理图像,然后再进行测试.2.1图像预处理字母图像的预处理将输入图像转化为一种约定的形式,这样,经过特殊训练的神经网络才能对其进行识别.而去噪功能的加入大大减轻了神经网络的负担,从而极大地提高了网络的正确识别率.于是图像的预处理就有了3个步骤.首先,将待处理的26个字母中的每一个都分别做如下处理:将其图像分割为14×10的方格(之所以分成14×10而不是传统的7×5,是为了细分后能得到像素更加连贯的笔画,以便后面的去噪处理),样本如图3所示.然后做阈值处理,将灰度大于阈值的像素格置为“1”(该格有输入),同时将灰度小于阈值的像素格置“0”(该格无输入).在不同的采样环境下,阈值的选取可能有一定差异,但是经过一定数量的样本观察,一定能找到一个适合的阈值.然后,将经过阈值化处理以后的图像中连续像素面积小于4(不包括4,因为经过统计,正常笔画中最小像素面积应该为4)的像素点全部去掉.最后,将连续像素面积等于4但是该连续面积不为正方形的像素去掉(正常笔画中面积最小的点应该是正方形).2.2根据所输的网络的特性,有以下几种不同为了进一步减轻网络的负担,本文中使用了52个网络来分别判断26个字母的大小写,共52种形式.52个网络同时对输入进行判断,采取竞争的形式,这里将输出值最大的网络的输出作为最终的输出,其他输出同时作废.由于图像分割的时候有14×10个方格,那么神经网络的输入就有140个,而对应的输出则只有一个.根据经验公式,隐含层的神经元数量选择为15.3网络检测算法测试结果笔者用Matlab来完成整个输入与测试,部分训练代码如下:以对MicrosoftTimesNewRoman字体的英文字母进行训练及测试为例,笔者进行了一系列的训练和测试工作.方案1在训练样本的时候只采用理想信号,在测试的时候做理想信号和少量干扰信号(利用Matlab的RANDOM函数随机添加0到5个点的干扰)的测试.方案2在训练样本的时候带有少量的随机干扰(每个字母用10个不同的带5个干扰点的样本来训练),分别测试理想信号和带有少量干扰的信号.方案3网络训练方法如方案2,但是在测试数据进入网络进行测试之前先通过阈值处理得出预处理图像,然后再测试该输入.分别测试理想信号、带有少量干扰的信号(前2种信号与方案2的被测信号要完全相同,以便比较)和带有大量干扰(随机产生15到30个干扰点)的信号.最终比较结果如表1所示.4干扰预处理用于字母识别时,RBF神经网络的性能优于BP网神经络及其改进型算法.在实际应用中应得到优先考虑.基本BP网络在训练样本较少(只

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论