课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
任务书
学生姓名: 专业班级:
指导教师: 工作单位: 武汉理工大学
题 目: 模式识别
初始条件:MATLAB 软件
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
利用BP(Back-propagation)网络对于10个阿拉伯数字(用七段码表示)进行训练,将训练好的网络对于污染的数字进行识别。
要求:学习BP算法;将数字用7维矢量表示;设计BP网络(7输入1输出);参考MATLAB软件神经网络工具箱。
时间安排:
2014年1月 6日 布置任务;
2014年1月 7日-10日 查阅资料,确定设计方案;
2014年1月 11日-16日 完成仿真、制作实物等;
2014年1月 17日 完成答辩。
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
目录
摘要 3
Abstract 4
1 神经网络发展历史及其应用 5
1.1 神经网络发展历史 5
1.2 神经网络的应用 5
2. BP神经网络 6
2.1 BP神经网络简介 6
2.2 BP 神经网络的工作原理 6
2.3 BP 神经网络的基本算法 7
2.4 BP 神经网络算法的基本步骤 10
2.5 BP 神经网络算法的主要特点 13
3. MATLAB 实现BP神经网络 13
3.1 MATLAB 的BP神经网络及其函数介绍 13
3.2 BP 神经网络中几种重要函数及其功能 14
4程序设计及仿真结果 15
4.1 程序设计 15
4.2 仿真结果 17
5心得与体会 25
6 参考文献 26
附录 27
摘要
BP网络是神经网络的一个重要分支。它又称多层感知机或误差信号反馈网络,是目前较流行,应用最广的神经网络模型。BP网络的主要特点是能够实现从n维到m维的非线性映射。也可以说,经过训练它可以完成简单的模糊分类工作。BP神经网络的主要优点是:良好的容错能力、分类能力强、并行处理能力和自学习能力。因而,采用神经网络识别数字是一种很好的选择。
本文首先对神经网络的发展历史及应用做了简单的介绍,接着对BP网络的相关知识做了概括性的介绍。最后在MATLAB 软件中,编写了进行相关识别数字的程序,并进行了仿真。
关键词:神经网络 BP网络 数字识别
Abstract
The Back-propagation network is a branch of neural network. It is also called Multi-Layer Perception or Error Back-propagation Net. It is a neural networkmodel which is widely used and in vogue present. The main characteristic of BP neural networkis that it can implement nonlinear mapping from n dimension to m dimension. In other words, it can implement simply blurry classify. The brief advantage 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 give a brief introduction of BP-neural network. Finally, in the MATLAB environment, we give the preparation of procedures for characteristicrecognition, and simulation.
Key words: neural network,BP neural network, character recognition,
1 神经网络的发展历史及其应用
1.1 神经网络的发展历史
自1943年,心里学家McCulloch教授与数学家Pitts教授提出神经元生物学模型(简称MP-模型)以来,至今已有半个多世纪的发展历史了。在这半个多世纪里,它的发展大体可以分为以下几个阶段 :
自1943年MP-模型产生起,到60年代止,这一段时间为神经网络系统的初期阶段,这时的主要特点是多种网络模型的产生与学习算法的确定。
60年代末至70年代,神经网络系统理论的发展处于一个低潮时期,造成这个情况的原因是神经网络系统理论的发展出现了本质上的困难。
80年代末至90年代,由于智能计算机的发展,神经网络系统理论形成一个发展热点。
1.2 神经网络的应用
神经网络在很多科学领域里都有很多奇妙应用,包括图像处理、自动控制、经济预测、模式识别、信号处理等等。
神经网络理论的应用研究主要在模式识别、优化控制等方面;与数学、统计学中的多个学科分支发生联系,有如线性与非线性规划问题、数值逼近、统计计算等等,其
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
十分丰富。
总而言之,神经网络技术是一种应用广泛的科学计算,具有很高的研究价值。
2 BP神经网络
2.1 BP神经网络简介
BP算法是80年代中期,由Rumelhart 和McCulloch教授为首提出了多层前馈网络(MFNN)的反向传播学习算法,简称BP算法,是一种有教师的学习算法。
2.2 BP神经网络的工作原理
BP网络是一种有教师的学习网络,它首先要以一定的学习准则学习,然后才能工作,下面简要描述一下它的学习方法。
以BP网络对手写A、B两个字母的识别为例进行说明:规定当“A”输入网络时,应该输出“1”,而当“B”输入网络时,应该输出“0”,所以BP网络的学习准则应该是:如果BP网络做出错误的判决,则通过网络权值的调整,使得BP网络减少下次再出错的可能性。
首先,给BP网络的各连接权值赋予(0,1)区间内的随机值,将“A”所对应的图像模式输入给BP网络,BP网络将收到的输入模式加权求和、与门限比较、再进行非线性运算,得到BP网络的输出。在此情况下,BP网络输出为“0”和“1”的概率各为百分之五十。也就是说完全随机的。
这时如果输出为“1”(结果正确),则使连接权值增大,以便使BP网络是再次遇到“A”模式输入时,仍然能够做出正确的判断。如果输出为“0”(即结果正确),则把BP网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使BP网络是再次遇到“A”模式输入时,减小犯同样错误的可能性。如此操作调整,当给BP网络轮番输入若干个手写字母“A”、“B”后,经过BP网络按以上学习方法进行若干次学习后,BP网络判断的正确率将大大提高。这说明BP网络对这两个模式的学习已经取得了巨大成功。它已经将这两个模式分布的记忆在BP网络的各个连接权值上。当BP网络再次遇到其中任何一个模式时,能够做出迅速、准确的判断和识别。
一般说来,BP网络中所含的神经元个数越多,则它能记忆、判断、识别的模式也就越多。简言之,它的中心细想就是调整权值,以便使网络总误差最小。也就是采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。多层网络运用BP 学习算法时,实际上包含了正向和反向传播两个阶段。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望输出,则转入反向传播,反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小。
2.3 BP神经网络的基本算法
图2.3.1 BP网络示意图
图2.3.1是一个BP网络的示意图,如图所示,BP网络在输入与输出层之间增加若干层(一层或多层)神经元,这些神经元称为隐单元,它们与外界没有直接联系,但是如果它们的状态发生变化,则能影响输入与输出之间的关系。
图2.3.2 信息正向传播
图2.3.3 信息反向传播
设有图2.3.2及图2.3.3所示的3层神经网络,其中第K层的第j个神经元的输入总和为
,输出总和为
,K-1层的第i个神经元与第K层的第j个神经元的连接权值为
,则有以下公式:
(2.3.1)
(2.3.2)
对于给定的任一输入模式,若网络的第K层的第j个神经元的输入误差为
,则使权值沿着误差的负梯度方向变化,即有以下公式:
(2.3.3)
式中的
是权值调整因子。
这个算法的学习过程,由正向传播和反向传播组成,正向传播过程,输入模式从输入层,经隐单元层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入反向传播,将误差信号沿着原来的连接通路返回,通过修改各神经元的权值,使得误差信号最小。
具体的,其调整规则为对于每一样本p 的输入模式对的二次型误差函数为:
则系统对所有N 个训练样本的总误差函数为:
式中, N 为模式样本对数; L 为网络输出节点数。
一般来说,基于Jp还是基于J 来完成加权系数空间的梯度搜索会获得不同的结果。在Rumelhart 等人的学习加权的规则中,学习过程按使误差函数Jp减小最快的方向调整加权系数直到获得满意的加权系数集为止。这里的加权系数的修正时顺序操作的,网络对各模式对一个一个地顺序输入并不断进行学习,类似于生物神经网络的处理过程,但不是真正的梯度搜索过程。
对于给定的一个样本p ,可根据误差要求调整网络的加权系数使其满足要求;对于给定的另一个样本,再根据误差要求调整网络的加权系数使其满足要求,直到所有样本作用下的误差都满足要求为止。这种计算过程称为在线学习过程。