BP算法实现字母识别.doc

BP算法实现字母识别.doc

ID:49699573

大小:358.04 KB

页数:20页

时间:2020-03-03

BP算法实现字母识别.doc_第1页
BP算法实现字母识别.doc_第2页
BP算法实现字母识别.doc_第3页
BP算法实现字母识别.doc_第4页
BP算法实现字母识别.doc_第5页
资源描述:

《BP算法实现字母识别.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、基于BP网络多层感知机的字母识别摘要:本次实验主要使用了BP神经网络方法对给定的英文字母A-Z进行识别,并对应输出0-25表示识别成功。考虑的干扰因素的存在,在实验中分别测试了隐藏16%和33%样本数据的效果,使得网络具有一定的容错能力。本次实验程序的编写主要使用了C语言。关键词:BP神经网络;模式识别;C语言一、实验目的1.了解BP神经网络的原理与实现方法。 2.了解BP神经网络各种优化算法的特点。3.通过实验分析BP网络的识别和容错性能。 4.熟悉C语言编程的基本方法。二、实验工具与方法1.BP网络简介20世纪8

2、0年代中期,学者Rumelhart、McClelland和他们的同事提出了多层前馈网络MFNN(MutltilayerFeedforward Neural Networks)的反向传播学习算法,简称BP网络(Back Propagation Network)学习算法。BP网络是对非线性可微分函数进行权值训练的多层前向网络。在人工神经网络的实际应用中,80%~90%的模型都采用BP网络或其变化形式。BP网络主要作用于以下几个方面:(1)函数逼近:用输入矢量和相应的输出矢量训练一个网络来逼近一个函数。(2)模式识别:用一

3、个特定的输出矢量将它与输入矢量联系起来。(3)分类:把输入矢量以所定义的合适的方式进行分类。(4)数据压缩:减少输出矢量的维数以便于数据传输或存储。2.BP算法实现具体步骤BP神经网络是一种多层前馈神经网络,该网络的主要特点是信号前向传递,误差反向传播。在前向传递中,输入信号从输入层经隐含层逐层处理,直至输出层。每一层的神经元状态只影响下一层神经元状态。如果输出层得不到期望输出,则转入反向传播,根据预测误差调整网络权值和阈值,从而使BP神经网络预测输出不断逼近期望输出。BP神经网络的拓扑结构如图1所示。P1w1w2T

4、1P2。。。。。。TmPn输入层隐藏层输出层图1BP神经网络拓扑结构图图1中P1,P2,……,Pn是BP神经网络的输入值,T1,T2,……Tm是BP神经的预测值,w1和w2为BP神经网络权值。从图1可以看出,BP神经网络可以看成一个非线性函数,网络输入值和预测值分别为该函数的自变量和因变量。当输入节点数为n,输出节点数为m时,BP神经网络就表达了从n个自变量到m个因变量的函数映射关系。BP神经网络预测前首先要训练网络,通过训练使网络具有联想记忆和预测能力。BP神经网络的训练过程包括以下几个步骤。 步骤1:网络初始化。

5、根据系统输入输出序列(p,t)确定网络输入层节点数n,隐含层节点数x,输出层节点数m。初始化输入层、隐含层和输出层神经元之间的连接权值w、偏值b和学习速度a,还需要选择合适的激励函数。一般而言,初试权值和偏值是随机产生的较小实数。w步骤2:一轮学习结束时,初始化各层前向输出值和各层敏感性,主要完成置0工作。步骤3:前向传播计算。根据公式,a0=p0,an=fn(wn*an-1+bn)计算网络最终输出值an,更新实际误差e。步骤4:敏感性计算。根据公式,首先逆推出sn,然后依次反向计算出sn-1-s1。步骤5:权值、偏

6、值更新。根据步骤4所得各层敏感性更新权值w和对应偏值b。步骤6:一轮迭代结束后,验证平均误差:e是否满足误差要求E,若满足要求,则训练学习完成;若不满足误差要求,就返回步骤2进行下一轮迭代,如此反复直到满足误差要求或者达到最大迭代次数,最终训练学习完成。三、实验内容1.网络的设计与实验前的预处理工作网络的设计:网络的选择如图2所示:图2网络的结构如图2所示,本次实验所用的网络有一个输入层,一个隐含层,一个输出层,网络结构为30-30-1。p为待输入的学习(识别)向量,维数为30*1,w1为第一层权值,维数30*30,

7、w2为第二层权值,维数30*1,b1为第一层偏值,维数30*1,b2为第二层偏值,维数1*1,a1为第一层输出,维数30*1,a2为网络最后的输出。激励函数分为两种,第一种是S型函数,另一种是y=x直线函数。基本思想:利用反向传播算法实现对A-Z图像的识别,使得输入图像A-Z,对应输出0-25。再次基础上讨论下BP的性能和容错能力。预处理工作:字符识别是模式识别领域的一项传统课题,这是因为字符识别不是一个孤立的问题,而是模式识别领域中大多数课题都会遇到的基本问题,并且在不同的课题中,由于具体的条件不同,解决的方法也不

8、尽相同,因而字符识别的研究仍具有理论和实践意义。这里讨论的是用BP神经网络对26个英文字母的识别。在对字母进行识别之前,首先必须将字母进行预处理,即将待识别的26个字母中的每一个字母都通过的方格形式进行数字化处理,其有数据的位置设为1,其他位置设为-1。如图3给出了字母A、B和C的数字化过程,然后用一个1×30的向量表示。例如图3中字母A的数字

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。