模式识别BP神经网络设计报告.doc
《模式识别BP神经网络设计报告.doc》由会员分享,可在线阅读,更多相关《模式识别BP神经网络设计报告.doc(29页珍藏版)》请在三一文库上搜索。
1、课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 模式识别 初始条件:MATLAB 软件要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)利用BP(Back-propagation)网络对于10个阿拉伯数字(用七段码表示)进行训练,将训练好的网络对于污染的数字进行识别。要求:学习BP算法;将数字用7维矢量表示;设计BP网络(7输入1输出);参考MATLAB软件神经网络工具箱。时间安排:指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录摘要3Abstract41 神经网络发展历史及其应用51.1 神经网络发展历史51.2 神
2、经网络的应用52. BP神经网络62.1 BP神经网络简介62.2 BP 神经网络的工作原理62.3 BP 神经网络的基本算法72.4 BP 神经网络算法的基本步骤102.5 BP 神经网络算法的主要特点133. MATLAB 实现BP神经网络133.1 MATLAB 的BP神经网络及其函数介绍133.2 BP 神经网络中几种重要函数及其功能144程序设计及仿真结果154.1 程序设计154.2 仿真结果175心得与体会256 参考文献26附录27摘要BP网络是神经网络的一个重要分支。它又称多层感知机或误差信号反馈网络,是目前较流行,应用最广的神经网络模型。BP网络的主要特点是能够实现从n维到
3、m维的非线性映射。也可以说,经过训练它可以完成简单的模糊分类工作。BP神经网络的主要优点是:良好的容错能力、分类能力强、并行处理能力和自学习能力。因而,采用神经网络识别数字是一种很好的选择。本文首先对神经网络的发展历史及应用做了简单的介绍,接着对BP网络的相关知识做了概括性的介绍。最后在MATLAB 软件中,编写了进行相关识别数字的程序,并进行了仿真。 关键词:神经网络 BP网络 数字识别AbstractThe Back-propagation network is a branch of neural network. It is also called Multi-Layer Percep
4、tion or Error Back-propagation Net. It is a neural network model which is widely used and in vogue present. The main characteristic of BP neural network is that it can implement nonlinear mapping from n dimension to m dimension. In other words, it can implement simply blurry classify. The brief adva
5、ntage of BP Net is: Nicer tolerance capacities, Powerful classify capacities, Parallel disposal capacity and self-study capacity. So it is a very good choice using BP Net to recognize number figure. This article first introduces a developmental history and application of the neural network. Then we
6、give a brief introduction of BP-neural network. Finally, in the MATLAB environment, we give the preparation of procedures for characteristic recognition, and simulation. Key words: neural network, BP neural network, character recognition,1 神经网络的发展历史及其应用1.1 神经网络的发展历史自1943年,心里学家McCulloch教授与数学家Pitts教授提
7、出神经元生物学模型(简称MP-模型)以来,至今已有半个多世纪的发展历史了。在这半个多世纪里,它的发展大体可以分为以下几个阶段 :自1943年MP-模型产生起,到60年代止,这一段时间为神经网络系统的初期阶段,这时的主要特点是多种网络模型的产生与学习算法的确定。60年代末至70年代,神经网络系统理论的发展处于一个低潮时期,造成这个情况的原因是神经网络系统理论的发展出现了本质上的困难。80年代末至90年代,由于智能计算机的发展,神经网络系统理论形成一个发展热点。1.2 神经网络的应用神经网络在很多科学领域里都有很多奇妙应用,包括图像处理、自动控制、经济预测、模式识别、信号处理等等。神经网络理论的应
8、用研究主要在模式识别、优化控制等方面;与数学、统计学中的多个学科分支发生联系,有如线性与非线性规划问题、数值逼近、统计计算等等,其内容十分丰富。总而言之,神经网络技术是一种应用广泛的科学计算,具有很高的研究价值。2 BP神经网络2.1 BP神经网络简介BP算法是80年代中期,由Rumelhart 和McCulloch教授为首提出了多层前馈网络(MFNN)的反向传播学习算法,简称BP算法,是一种有教师的学习算法。2.2 BP神经网络的工作原理BP网络是一种有教师的学习网络,它首先要以一定的学习准则学习,然后才能工作,下面简要描述一下它的学习方法。以BP网络对手写A、B两个字母的识别为例进行说明:
9、规定当“A”输入网络时,应该输出“1”,而当“B”输入网络时,应该输出“0”,所以BP网络的学习准则应该是:如果BP网络做出错误的判决,则通过网络权值的调整,使得BP网络减少下次再出错的可能性。首先,给BP网络的各连接权值赋予(0,1)区间内的随机值,将“A”所对应的图像模式输入给BP网络,BP网络将收到的输入模式加权求和、与门限比较、再进行非线性运算,得到BP网络的输出。在此情况下,BP网络输出为“0”和“1”的概率各为百分之五十。也就是说完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使BP网络是再次遇到“A”模式输入时,仍然能够做出正确的判断。如果输出为“0”(即结果
10、正确),则把BP网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使BP网络是再次遇到“A”模式输入时,减小犯同样错误的可能性。如此操作调整,当给BP网络轮番输入若干个手写字母“A”、“B”后,经过BP网络按以上学习方法进行若干次学习后,BP网络判断的正确率将大大提高。这说明BP网络对这两个模式的学习已经取得了巨大成功。它已经将这两个模式分布的记忆在BP网络的各个连接权值上。当BP网络再次遇到其中任何一个模式时,能够做出迅速、准确的判断和识别。一般说来,BP网络中所含的神经元个数越多,则它能记忆、判断、识别的模式也就越多。简言之,它的中心细想就是调整权值,以便使网络总误差最小。也就是采用
11、梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。多层网络运用BP 学习算法时,实际上包含了正向和反向传播两个阶段。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望输出,则转入反向传播,反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小。2.3 BP神经网络的基本算法设第K层的第j个神经元的输入总和为,输出总和为,K-1层的第i个神经元与第K层的第j个神经元的连接权值为,则有以下公式: (2.3.1) (2.3.2)对于给定的任
12、一输入模式,若网络的第K层的第j个神经元的输入误差为,则使权值沿着误差的负梯度方向变化,即有以下公式: (2.3.3)式中的是权值调整因子。这个算法的学习过程,由正向传播和反向传播组成,正向传播过程,输入模式从输入层,经隐单元层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入反向传播,将误差信号沿着原来的连接通路返回,通过修改各神经元的权值,使得误差信号最小。 具体的,其调整规则为对于每一样本p 的输入模式对的二次型误差函数为: 则系统对所有N 个训练样本的总误差函数为: 式中, N 为模式样本对数; L 为网络输出节点数。一般来说,基
13、于Jp 还是基于J 来完成加权系数空间的梯度搜索会获得不同的结果。在Rumelhart 等人的学习加权的规则中,学习过程按使误差函数Jp减小最快的方向调整加权系数直到获得满意的加权系数集为止。这里的加权系数的修正时顺序操作的,网络对各模式对一个一个地顺序输入并不断进行学习,类似于生物神经网络的处理过程,但不是真正的梯度搜索过程。对于给定的一个样本p ,可根据误差要求调整网络的加权系数使其满足要求;对于给定的另一个样本,再根据误差要求调整网络的加权系数使其满足要求,直到所有样本作用下的误差都满足要求为止。这种计算过程称为在线学习过程。如果学习过程按使误差函数J 减小最快的方向调整加权系数,采用类
14、似的推导过程可得输出层和隐含层的任意神经元k 和i 在所有样本作用时的加权系数增量公式为: (2.3.4) (2.3.5)根据式(2.3.4)和(2.3.5)所得权值的修正是在所有样本输入后,计算完总的误差后进行的,这种修正称为批处理学习或称为离线学习。批处理修正可保证其总误差J 向减少的方向变化,在样本多的时候,它比在线学习的收敛速度快。2.4 BP神经网络算法的基本步骤BP算法的基本步骤如下:1. 选取学习算子,一个小的正数;2. 网络权值初始化,即将较小随机数赋给权值;3. 取得训练样本及对应的教师;4. 计算由输入层到隐含层的每个神经元的加权和;5. 计算由隐含层到输入层的每个神经元的
15、加权和,(4、5两步是正向传播过程);6. 将输出层和教师进行比较,求得误差。如果误差不满足要求,就根据此误差调整各层权值;7. 重复3到6,直到网络收敛。经过学习大量的样本,记录调整后的权值,使用此权值数据对新的样本进行识别并计算识别率。其算法流程图可如下表示:自动修正网络权值及偏置否是结束求出误差输出识别结果识别率是否满足要求对网络进行测试再次利用原始标准样本训练网络利用加入噪声的样本训练网络利用原始标准样本训练网络生成BP神经网络开始 图2.4 网络流程图2.5 BP神经网络算法的主要特点BP神经网络具有以下几个特点:1. 能够实现非线性映射;2. 采用梯度下降法实现快速收敛;3. 使用
16、学习算子调整收敛速度,学习算子也可以称为收敛因子,在不引起震荡的情况下可以适当增大;4. 不足之处:a) 由于是非线性优化,不可避免的存在局部极小问题;b) 隐层以及隐层节点数的选择没有理论指导,只能猜测;c) 学习算法的收敛速度慢;d) 新加入的样本会影响到已经学习好的样本;e) “坏”样本对总体的训练结果有比较大的影响,因此必须慎重选择训练样本。3 MATLAB实现BP网络3.1 MATLAB的BP神经网络及其函数介绍MATLAB 神经网络工具箱提供了丰富的演示实例,用MATLAB 语言构造了典型的神经网络的激活函数,编写了各种网络设计与训练的子程序。网络的设计者可以根据自己的需要调用工具
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模式识别 BP 神经网络 设计 报告
