- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于BP网络的数字识别系统
一.实验要求
设计一个基于神经网络图像数字识别系统(本人采用的是BP网络),通过对一组图像数字的训练,使得该网络能够相对准确的识别图像上的数字。
二.设计平台
操作系统为Windows xp,用VC++6.0作为开发平台。
三.实验原理
BP神经网络简介。
首先来简要介绍一下神经网络,然后再详细介绍BP网络。
图3-1 神经网络结构图
神经网络简介:人工神经网络(Artificial Neural Network,ANN),也称为神经网络(Neural Networks,NN)。即从生物学神经系统的信号传递而抽象发展而成的一门学科。在神经网络中,最基本的单元就是神经元。神经元由三部分组成:树突、细胞体和轴突。树突是树状的神经纤维接受网络,它将电信号传递给细胞体,细胞体对这些输入信号进行整合并进行阀值处理。轴突是单根长纤维,它把细胞体的输出信号导向其他的神经元。神经元的排列拓扑结构和突触的连接强度确立了神经网络的功能。形象的说,神经网络是由大量处理单元(神经元 Neurons)广泛连接而成的网络,是对人脑的抽象、简化和模拟,反映人脑的基本特性。它能够通过学习过程从外部环境中获取知识,并且它内部的很多的神经元可以用来存储这些已经学到的知识。
图3-2 单输入神经元数学模型
上图是将生物神经元模型抽象成一个信号传递的数学模型。
神经元的输入是信号P,经过一个累加器累加后的信号送入一个激活函数f,从而得到这个神经元的输出a。这个神经元的输出a同时又可以作为下一个或多个神经元的输入,从而将神经信号成网络分散状的传递出去。一个神经元可以接受多个输入,所以把神经元表示成为矢量、矩阵形式更容易去处理分析实际问题。
图3-3 多输入神经元数学模型
这里,P表示一R维的输入向量,B为偏置向量,W为网络的权值矩阵,f为激活传输函数,a为网络的输出向量。
以上是对一个单层神经网络的描述。一般就实际情况而言,多层网络用处要广的多。后面用到的BP网络也是多层的。
在多层网络中,一般至少有3个层:一个输入层、一个输出层、一个或多个隐层。多层网络可以解决很多单层网络无法解决的问题,比如多层网络可以用来进行非线性分类,可以用来做精度极高的函数逼近,只要有足够多的层和足够多的神经元,这些都可以办到。
一个多层网络的输入和输出层的神经元个数是由外部描述定义的。例如如果有4个外部变量作为输入,那网络就要有4个输入。关于隐层神经元的确定,将在BP网络的设计中详细讨论。
文中曾多次提到过,感知器是神经网络的基础,也是BP网络的基础。所谓感知器(perceptron),也即给定一个或多个已知类别的输入,通过对网络的训练以实现所有输入数据的正确分类的数学模型。注意,感知器是单层网络。这里,训练的意思就是通过感知器的输出来反复调整网络的权值,以使其满足所有分类都正确的要求。不过一般来说,感知器的分类能力较差。
神经网络有好多种,比如径向基网络、BP网络,Hopfield 网络等。
本神经网络识别系统采用的是使用最为广泛的BP网络。
下面介绍BP学习算法,BP 学习过程可以描述如下:
作信号正向传播:输入信号从输入层经过隐含层,传向输出层,在输出端生输出信
这是工作信号的正向传播。在信号传递的过程中网络的权值是固定不变的,每一层神经元的状态只影响下一层神经元的状态。如果在输出层得到的输出和期望输出的偏差比较大,则转入误差信号的反向传播。
误差信号反向传播:网络的实际输出和期望输出的差值就是误差信号。误差信号的反向传播就是误差信号从输出端传向输入端。在这个过程当中,网络的权值由误差反馈进行调节。通过不断的修改网络权值从而使得网络的输出不断的逼近期望值。
图3-4是神经网络的示意图。图3-5是多层BP网络结构示意图。
图3-4 神经网络示意图
图3-5 多层BP网络示意图
神经网络的激励函数。激励函数将输出信号压缩在一个允许的范围内,使其成为有限值,通常神经元输出的范围在【0,1】或者【-1,1】的闭区间上。常用的基本激励函数有阈值函数、分段线性函数、Sigmoid 函数。其中Sigmoid 函数也称为s型函数,它是人工神经网络中用的最多的激励函数。S型函数的定义如下:
公式(1)
四.设计过程
本次实验的样本已经进行过归一化处理,大小为20*20像素,图像是二值图,每个像素在内存中占一位空间,即0或者1。因此,本系统只需直接读取数据就能进行训练和识别,省去了图像的复杂处理。设计的关键在于神经网络的选择和设计。
BP网络三个层的神经元数目的确定。这也是BP网络设计的关键。
BP网络应用的第一步就是要用已知训练样本来训练BP网络。这里,BP网络的输入层的结点个数,为图像特征的维数。
文档评论(0)