收藏 分享(赏)

Matlab基于BP算法的神经网络设计.doc

上传人:精品资料 文档编号:10679267 上传时间:2019-12-20 格式:DOC 页数:48 大小:1.77MB
下载 相关 举报
Matlab基于BP算法的神经网络设计.doc_第1页
第1页 / 共48页
Matlab基于BP算法的神经网络设计.doc_第2页
第2页 / 共48页
Matlab基于BP算法的神经网络设计.doc_第3页
第3页 / 共48页
Matlab基于BP算法的神经网络设计.doc_第4页
第4页 / 共48页
Matlab基于BP算法的神经网络设计.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、研究生课程期终论文课程名称: 神经网络设计 任课教师: 论文题目: 姓 名: 学 号: 期终论文神经网络设计摘 要本文首先说明课题研究的目的和意义,评述课题的国内外研究现状,引出目前存在的问题。然后分析了神经网络算法的基本原理,给出经典神经网络算法的具体实现方法,总结神经网络算法的特点,掌握 BP 网络的形成步骤。学会使用 Matlab 中的神经网络工具箱函数,采用 Matlab 软件编程实现 BP 神经网络算法。将神经网络算法应用于函数逼近,样本分类和样本含量估计问题中,并分析相关参数或算法对运行结果的影响。最后对 BP 神经网络算法进行了展望。关键字: 神经网络;BP 神经网络;函数逼近;

2、仿真实验期终论文神经网络设计ABSTRACTThis paper first explains the purpose and significance of the topic research. Commentary studies current situation at the problem home and abroad. Leads to the existing problems. and then have analyzed algorithmic basal principle of neural networks, Give algorithmic concert of

3、classics neural networks out the realization method. Summing up the characteristics of neural network algorithm. Master the forming step of BP network. The arithmetic of BP neural network is realized in Matlab software. The algorithm applies of BP neural networks to the function approximation proble

4、m,Sample classification and computes the swatch content. And analysis of relevant parameters on the results of algorithm. Finally, The BP neural network algorithm is Outlook.Key words: Neural network;BP neural network;Function approximation ;Simulation experiment期终论文神经网络设计目 录第一章 引言 .- 1 -1.1 神经网络的概述

5、 - 1 -1.2 人工神经网络的研究目的和意义 - 1 -1.3 神经网络的发展与研究现状 - 2 -1.3.1 神经网络的发展 - 2 -1.3.2 神经网络的研究现状 - 3 -1.4 神经网络研究目前存在的问题 - 3 -1.5 神经网络的应用领域 - 4 -第二章 BP 神经网络概述 - 6 -2.1 BP 神经网络介绍 .- 6 -2.2 神经元 - 6 -2.2.1 人工神经元 - 6 -2.2.2 生物神经元 .- 10 -2.3 BP 神经网络原理 - 11 -2.4 BP 神经网络的主要功能 - 13 -2.5 BP 神经网络的优点和缺点 - 14 -第三章 BP 神经网络

6、的应用 - 17 -3.1 基于 MATLAB 的 BP 神经网络工具箱函数 .- 17 -3.1.1 MATLAB 工具箱介绍 - 17 -3.1.2 BP 网络创建函数 - 18 -3.1.3 神经元上的传递函数 - 18 -3.1.4 BP 网络学习函数 - 19 -3.1.5 BP 网络训练函数 - 19 -3.2 BP 网络在函数逼近中的应用 - 20 -3.2.1 问题的提出 - 20 -3.2.2 基于 BP 神经网络逼近函数 .- 20 -3.2.3 不同频率下的逼近效果 - 25 -3.2.4 讨论 .- 26 -3.3 仿真实验 .- 26 -3.3.1 BP 神经网络 M

7、ATLAB 设计 .- 26 -3.3.2 各种 BP 学习算法 MATLAB 仿真 - 28 -3.3.3 各种算法仿真结果比较与分析 - 31 -3.3.4 调整初始权值和阈值的仿真 - 33 -3.3.5 其他影响因素仿真 - 35 -3.4 BP 神经网络在样本分类中的应用 - 36 -3.4.1 问题的提出 .- 36 -3.4.2 基于 BP 神经网络的样本分类 .- 36 -参考文献 - 41 -附录 A.- 43 -期终论文神经网络设计- 0 -第一章 引言1.1 神经网络的概述人工神经网络(Artificial Neural Networks,简写为 ANNs)也简称为神经网

8、络(NNs)或称作连接模型(Connection Model) ,它是一种模范动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。神经元网络是机器学习学科中的一个重要部分,用来 classification 或者regression。思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机执行。然而

9、,直观性的思维是将分布式存储的信息综合起来,结果是忽然间产生想法或解决问题的办法。这种思维方式的根本之点在于以下两点:1.信息是通过神经元上的兴奋模式分布存储在网络上;2.信息处理是通过神经元之间同时相互作用的动态过程来完成的。人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。1.2 人工神经网络的研究目的和意义人工神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。人工神

10、经网络就是模拟人思维的一种方式,是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。近年来通过对人工神经网络的研究,可以看出神经网络的研究目的和意义有以下三点:(1)通过揭示物理平面与认知平面之间的映射,了解它们相互联系和相互作用的机理,从而揭示思维的本质,探索智能的本源。(2)争取构造出尽可能与人脑具有相似功能的计算期终论文神经网络设计- 1 -机,即神经网络计算机。(3)研究仿照脑神经系统的人工神经网络,将在模式识别、组合优化和决策判断等方面取得传统计算机所难以达到的效果。人工

11、神经网络特有的非线性适应性信息处理能力,克服了传统人工智能方法对于直觉,如模式、语音识别、非结构化信息处理方面的缺陷,使之在神经专家系统、模式识别、智能控制、组合优化、预测等领域得到成功应用。人工神经网络与其它传统方法相结合,将推动人工智能和信息处理技术不断发展。近年来,人工神经网络正向模拟人类认知的道路上更加深入发展,与模糊系统、遗传算法、进化机制等结合,形成计算智能,成为人工智能的一个重要方向,将在实际应用中得到发展。将信息几何应用于人工神经网络的研究,为人工神经网络的理论研究开辟了新的途径。神经计算机的研究发展很快,已有产品进入市场。光电结合的神经计算机为人工神经网络的发展提供了良好条件

12、。1.3 神经网络的发展与研究现状1.3.1 神经网络的发展神经网络诞生半个世纪以来,经历了五个阶段:(1)奠基阶段:早在 40 年代初,神经解剖学、神经生理学、心理学以及人脑神经元的电生理的研究等都富有成果。其中,神经生物学家 McCulloch 提倡数字化具有特别意义。他与青年数学家 Pitts 合作,从人脑信息处理观点出发,采用数理逻辑模型的方法研究了脑细胞的动作和结构及其生物神经元的一些基本生理特性,他们提出了第 一个神经计算模型,即神经元的阈值元件模型,简称 MP 模型,他们认识到了模拟大脑可用于逻辑运行的网络,有一些结点及结点与结点之间相互联系,构成一个简单神经网络模型。其主要贡献

13、在于结点的并行计算能力很强,为计算神经行为的某此方面提供了可能,从而开创了神经网络的研究。这一革命性的思想,产生了很大影响。(2)第一次高潮阶段:1958 年计算机科学家 Rosenblatt 基于 MP 模型,增加了学习机制,推广了 MP 模型。他证明了两层感知器能够将输入分为两类,假如这两种类型是线性并可分,也就是一个超平面能将输入空间分割,其感知器收敛定理:输入和输出层之间的权重的调节正比于计算输出值与期望输出之差。他提出的感知器模型,首次把神经网络理论付诸工程实现。(3)坚持阶段:神经网络理论那遥远但并非遥不可及的目标着实吸引了很多人的目光,期终论文神经网络设计- 2 -美国军方认为神

14、经网络工程应当比“原子弹工程”更重要,并对它的投资兴趣非常大,而对其实践的效果也比较满意。(4)第二次高潮阶段:Kohonen 提出了自组织映射网络模型,映射具有拓扑性质,对一维、二维是正确的,并在计算机上进行了模拟,通过实例所展示的自适应学习效果显著。他认为有可能推广到更高维的情况。(5)新发展阶段:从神经网络理论的发展史看,它的高潮阶段是很容易度过的。IJCNN91 大会主席 Rumelhart 意识到这一点,在他的开幕词中有一个观点,神经网络的发展已到了一个转折的时期,它的范围正在不断扩大,其应用领域几乎包括各个方面。半个世纪以来,这门学科的理论和技术基础已达到了一定规模,笔者认为,神经

15、网络到了新发展阶段,需要不断完善和突破,使其技术和应用得到有力的支持。1.3.2 神经网络的研究现状进入 20 世纪 90 年代以来,神经网络由于应用面还不够宽,结果不够精确,存在可信度问题,从而进入了认识与应用研究期。1)开发现有模型的应用,并在应用中根据实际运行情况对模型、算法加以改造,以提高网络的训练速度和运行的准确度。2)充分发挥两种技术各自的优势是一个有效方法。3)希望在理论上寻找新的突破,建立新的专用/通用模型和算法。4)进一步对生物神经系统进行研究,不断地丰富对人脑的认识。1.4 神经网络研究目前存在的问题人工神经网络理论本身也在完善和发展中。如神经的稳定性和收敛性问题有待进一步

16、研究。神经网络结构和神经元数量的确定还没有成熟的理论等。如广泛使用的BP网络就存在:(1)收敛速度慢,且收敛速度与初始权值选取有关(2)网络结构设计,即隐层及接点数的选择尚无理论指导(3)新加人的样本会影响已训练好的样本(4)存在局部最小问题人工神经网络自身的问题直接影响其应用。包括在经济领域的应用。随着人工神经网络研究和应用的不断深入。一些改进算法和技术,如模拟退火算法、遗传算法(GA)、模糊技术、小波分析等和神经网络逐步融合,提高了神经网络模型的工作性能。例如运用模糊技术克服期终论文神经网络设计- 3 -一般神经网络学习过程复杂、收敛速度慢的弱点,并提高了模型的精度。将小波分析良好的局域化

17、性质与神经网络的自适应学习和非线性映射能力相结合,使神经网络具有极佳的函数逼近能力,这为非线性长期预报提供了新的思路和方法。遗传算法是近来发展起来的一种随机多点搜索算法。具有很强的自适应性、鲁棒性,它在全局寻优上的能力可以防止神经网络在寻优过程中陷人局部最小点。一个经济活动或现象往往是多种因素合力的结果,各个因素之间往往存在耦合,在实际中往往难以对各个因素进行合理的量化。同时神经网络的评估精度主要取决于训练样本的数量和质量,而在实际中难以一次性获得足够的理想样本,这要在使用过程中逐步积累,通过不断的学习使网络趋于完善。1.5 神经网络的应用领域神经网络以其独特的结构和处理信息的方法,在许多实际

18、应用领域中取得了显著的成效,主要应用如下:(1)自动控制领域。神经网络方法已经覆盖了控制理论中的绝大多数问题,主要有系统建模与辨识、PID 参数整定、极点配置、内模控制、优化设计、预测控制、最优控制、自适应控制、滤波与预测容错控制、模糊控制和学习控制等。典型的例子是20世纪60年代初,美国“阿波罗”登月计划中,Kilmer和MeClloch 等人根据脊椎动物神经系统中网状结构的工作原理,提出了一个KMB 模型,以使登月车在远距离复杂环境下具有一定的自制能力。(2)处理组合优化问题。最典型的例子是成功地解决了TSP问题,即旅行推销员问题(Travelling Salesman Problem)

19、,另外还有最大匹配问题、装箱问题和作业调度等。(3)模式识别。已成功应用于手写字符、汽车牌照、指纹和声音识别,还可用于目标的自动识别和定位、机器人传感器的图像识别以及地震信号的鉴别等。(4)图像处理。对图像进行边缘监测、图像分割、图像压缩和图像恢复。(5)传感器信号处理。传感器输出非线性特性的矫正、传感器故障检测、滤波与除噪、环境影响因素的补偿、多传感信息融合。(5)机器人控制。对机器人眼手系统位置进行协调控制,用于机械手的故障诊断及排除、智能自适应移动机器人的导航。(6)信号处理。能分别对通讯、语音、心电和脑电信号进行处理分类;可用于海底声纳信号的检测与分类,在反潜、扫雷等方面得到应用。期终

20、论文神经网络设计- 4 -(7)信号处理。能分别对通讯、语音、心电和脑电信号进行处理分类;可用于海底声纳信号的检测与分类,在反潜、扫雷等方面得到应用。(8)卫生保健、医疗。比如通过训练自主组合的多层感知器可以区分正常心跳和非正常心跳、基于BP网络的波形分类和特征提取在计算机临床诊断中的应用M (3)对于每个节点 i 存在一个阈值 iq; (4)对于每个节点 I,定义一个变换函数,()iiijfxwi,ij;对于最一般的情况,此函数取()期终论文神经网络设计- 9 -iijjj,fwxiq- 形式。 3.通过训练进行学习:神经网络是通过所研究系统过去的数据进行训练的。是一个经过适当训练的神经网络

21、,具有归纳全部数据的能力。因此,神经网络能够解决那些由数学模型或描述规则难以处理的控制过程。 4 适应与集成:神经网络能适应在线运行,并能同时进行定量和定性操作。这些特性特别适用于复杂、大规模和多变量的控制。 5.硬件实现:神经网络不仅能够通过软件而且借助软件实现并行处理。由于超大规模集成电路的硬件实现,使得神经网络具有快速和大规模处理能力的实现网络。 6.具有联想存储功能:利用人工神经网络的反馈网络就可以实现这种联想。 7.有高速寻找优化解的能力:利用一个针对某问题而设计的反馈型人工神经网络,发挥计算机的高速运算能力,可能很快找到优化解。 8.具有很强的鲁棒性和容错性。在神经网络中,信息的存

22、储是分布在整个网络中相互连接的权值上的,这就使得它比传统计算机具有较高的抗毁性,少数几个神经元损坏或断几处连接,只会稍许降低系统的性能,而不至于破坏整个网络系统,因而具有强的鲁棒性和容错性。2.2.2 生物神经元神经细胞是构成神经系统的基本单元,称之为生物神经元,简称神经元。神经元主要由三部分构成:(1)细胞体;(2)轴突;(3)树突细胞体:是神经元的中心,它一般又由细胞核、细胞膜等组成。树突:是神经元的主要接受器,它主要用来接受信息。轴突的作用主要:是传导信息,它将信息从轴突起点传到轴突末梢。突触:是轴突的终端,是神经元之间相互连接的接口部分,即一个神经元的神经末梢与另一个神经元的树突相接触

23、的交界面,位于神经元的神经末梢尾端。(1)生物神经元结构示意图:图 2-7期终论文神经网络设计- 10 -图 2-7 生物神经元结构示意图(2)生物神经元的工作状态:神经元具有两种常规工作状态:兴奋与抑制,当传入的神经冲动使细胞膜电位升高超过阈值时,细胞进入兴奋状态,产生神经冲动并由轴突输出;当传入的神经冲动使膜电位下降低于阈值时,细胞进入抑制状态,没有神经冲动输出。2.3 BP 神经网络原理BP 网络是一种多层前馈神经网络,由输入层、隐层和输出层组成。图 2-8 为一个典型的三层 BP 网络的拓扑结构,层与层之间采用全互连方式,同一层之间不存在相互连接,隐层可以有一层或多层。层与层之间有两种

24、信号在流通:一种是工作信号(用实线表示),它是施加输入信号后向前传播直到在输出端产生实际输出的信号,是输入和权值的函数。另一种是误差信号(用虚线表示),网络实际输出与期望输出间的差值即为误差,它由输出端开始逐层向后传播。BP 网络的学习过程程由前向计算过程和误差反向传播过程组成。在前向计算过程中,输入量从输入层经隐层逐层计算,并传向输出层,每层神经元的状态只影响下一层神经元的状态。如输出层不能得到期望的输出,则转入误差反向传播过程,误差信号沿原来的连接通路返回,逐次调整网络各层的权值和阈值,直至到达输入层,再重复向计算。这两个过程一次反复进行,不断调整各层的权值和阈值,使得网络误差最小或达到人

25、们所期望的要求时,学习过程结束。图2-8 典型Bp网络模型期终论文神经网络设计- 11 -生物神经元信号的传递是通过突触进行的一个复杂的电化学等过程, 在人工神经网络中是将其简化模拟成一组数字信号通过一定的学习规则而不断变动更新的过程,这组数字储存在神经元之间的连接权重。网络的输入层模拟的是神经系统中的感觉神经元,它接收输入样本信号。输入信号经输入层输入, 通过隐含层的复杂计算由输出层输出,输出信号与期望输出相比较,若有误差,再将误差信号反向由输出层通过隐含层处理后向输入层传播。在这个过程中,误差通过梯度下降算法,分摊给各层的所有单元,从而获得各单元的误差信号,以此误差信号为依据修正各单元权值

26、,网络权值因此被重新分布。此过程完成后, 输入信号再次由输入层输入网络,重复上述过程。这种信号正向传播与误差反向传播的各层权值调整过程周而复始地进行着,直到网络输出的误差减少到可以接受的程度,或进行到预先设定的学习次数为止。权值不断调整的过程就是网络的学习训练过程。BP 神经网络的信息处理方式具有如下特点: 1)信息分布存储。人脑存储信息的特点是利用突触效能的变化来调整存储内容,即信息存储在神经元之间的连接强度的分布上, BP 神经网络模拟人脑的这一特点,使信息以连接权值的形式分布于整个网络。2) 信息并行处理。人脑神经元之间传递脉冲信号的速度远低于冯诺依曼计算机的工作速度,但是在很多问题上却

27、可以做出快速的判断、决策和处理,这是由于人脑是一个大规模并行与串行组合的处理系统。BP 神经网络的基本结构模仿人脑,具有并行处理的特征,大大提高了网络功能。3)具有容错性。生物神经系统部分不严重损伤并不影响整体功能,BP 神经网络也具有这种特性,网络的高度连接意味着少量的误差可能不会产生严重的后果,部分神经元的损伤不破坏整体,它可以自动修正误差。这与现代计算机的脆弱性形成鲜明对比。4)具有自学习、自组织、自适应的能力。BP 神经网络具有初步的自适应与自组织能力,在学习或训练中改变突触权值以适应环境,可以在使用过程中不断学习完善自己的功能,并且同一网络因学习方式的不同可以具有不同的功能,它甚至具

28、有创新能力,可以发展知识,以至超过设计者原有的知识水平。BP 神经网络隐含层节点的选择:基于 BP 算法的神经元网络中各层节点数目的选择对于网络性能的影响很大,隐含层的神经元数目选择往往需要根据经验和多次试验来确定,若隐含层单元数目选择太多会致使学期终论文神经网络设计- 12 -习时间过长、误差不一定最佳,也会导致容错性差、不能识别以前没有看到的样本,节点的数目要选择恰当。常用的解决办法就是使隐含层数目可变。一种是开始放入足够的隐含单元,然后把学习后的那些不起作用的隐含层单元逐步去掉,一直减少到不可收缩为止。另一种是开始放入比较少的隐含层单元,学习一些次数后,还不成功就要增加隐含单元个数,一直

29、达到比较合理的隐含单元数目为止。可以根据以下公式选择最佳隐含层神经元的数目。(1) ,其中,m 为输出神经元数目;n 为输入神经元数目;a 为1,10之间的常数;(2) ,其中,n 为输入单元数。(3) ,其中,m 为输出节点数。隐含层结点数可根据公式(1)、(2)或(3)得出一个初始值,然后利用逐步增长或逐步修剪法所谓逐步增长是先从一个较简单的网络开始,若不符合要求则逐步增加隐含层单元数到合适为止;逐步修剪则从一个较复杂的网络开始逐步删除隐含层单元,具体实现已有不少文献讨论。BP 神经网络学习率的选择:学习速率决定每一次循环训练所产生的权值的变化量。过大的学习速率可能导致系统的不稳定,但是过

30、小的学习速率将导致训练时间较长,收敛速度很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小的误差值。一般要求是:当训练到误差曲面得平坦区时,为加快收敛应使 增大;当训练到误差曲面的变化剧烈区时,为防止过学习(使误差增加),应使上述值减小。为加快收敛,应使 合理化,比如采用变步长算法。所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性,学习速率的选取范围一般在0.010.1 之间。再根据训练过程中梯度变化和均方差变化值来确定。2.4 BP 神经网络的主要功能目前,在人工神经网络的实际应用中。绝大部分的神经网络模型都采用 BP 神经网络及其变化形式。它也是前向网络的核心部分,

31、体现了人工神经网络的精华。BP 网络主要用于以下四方面。(1)函数逼近:用输入向量和相应的输出向量训练一个网络以逼近一个函数。(2)模式识别:用一个待定的输出向量将它与输入向量联系起来。(3)分类:把输入向量所定义的合适方式进行分类。(4)数据压缩:减少输出向量维数以便传输或存储。期终论文神经网络设计- 13 -2.5 BP 神经网络的优点和缺点优点:1) 非线性映射能力:BP 神经网络实质上实现了一个从输入到输出的映射功能,数学理论证明三层的神经网络就能够以任意精度逼近任何非线性连续函数。这使得其特别适合于求解内部机制复杂的问题,即 BP 神经网络具有较强的非线性映射能力。 2) 自学习和自

32、适应能力:BP 神经网络在训练时,能够通过学习自动提取输出、输出数据间的“合理规则” ,并自适应的将学习内容记忆于网络的权值中。即 BP 神经网络具有高度自学习和自适应的能力。 3) 泛化能力:所谓泛化能力是指在设计模式分类器时,即要考虑网络在保证对所需分类对象进行正确分类,还要关心网络在经过训练后,能否对未见过的模式或有噪声污染的模式,进行正确的分类。也即 BP 神经网络具有将学习成果应用于新知识的能力。 4) 容错能力:BP 神经网络在其局部的或者部分的神经元受到破坏后对全局的训练结果不会造成很大的影响,也就是说即使系统在受到局部损伤时还是可以正常工作的。即 BP 神经网络具有一定的容错能

33、力。BP 神经网络的优缺点介绍 人工神经网络(Artificial Neural Network)又称连接机模型,是在现代神经学、生物学、心理学等学科研究的基础上产生的,它反映了生物神经系统处理外界事物的基本过程,是在模拟人脑神经组织的基础上发展起来的计算系统,是由大量处理单元通过广泛互联而构成的网络体系,它具有生物神经系统的基本特征,在一定程度上反映了人脑功能的若干反映,是对生物系统的某种模拟,具有大规模并行、分布式处理、自组织、自学习等优点,被广泛应用于语音分析、图像识别、数字水印、计算机视觉等很多领域,取得了许多突出的成果。最近由于人工神经网络的快速发展,它已经成为模式识别的强有力的工具

34、。神经网络的运用展开了新的领域,解决其它模式识别不能解决的问题,其分类功能特别适合于模式识别与分类的应用。多层前向 BP 网络是目前应用最多的一种神经网络形式, 它具备神经网络的普遍优点,但它也不是非常完美的, 为了更好的理解应用神经网络进行问题求解, 这里对它的优缺点展开一些讨论。 首先 BP 神经网络具有以下优点: (1) 非线性映射能力:BP 神经网络实质上实现了一个从输入到输出的映射功能,数学理论证明三层的神经网络就能够以任意精度逼近任何非线性连续函数。这使得其特别适合于期终论文神经网络设计- 14 -求解内部机制复杂的问题,即 BP 神经网络具有较强的非线性映射能力。 (2)自学习和

35、自适应能力:BP 神经网络在训练时,能够通过学习自动提取输出、输出数据间的“合理规则” ,并自适应的将学习内容记忆于网络的权值中。即 BP 神经网络具有高度自学习和自适应的能力。 (3) 泛化能力:所谓泛化能力是指在设计模式分类器时,即要考虑网络在保证对所需分类对象进行正确分类,还要关心网络在经过训练后,能否对未见过的模式或有噪声污染的模式,进行正确的分类。也即 BP 神经网络具有将学习成果应用于新知识的能力。 (4)容错能力:BP 神经网络在其局部的或者部分的神经元受到破坏后对全局的训练结果不会造成很大的影响,也就是说即使系统在受到局部损伤时还是可以正常工作的。即 BP神经网络具有一定的容错

36、能力。 缺点:鉴于 BP 神经网络的这些优点,国内外不少研究学者都对其进行了研究,并运用网络解决了不少应用问题。但是随着应用范围的逐步扩大,BP 神经网络也暴露出了越来越多的缺点和不足,比如: (1)局部极小化问题:从数学角度看,传统的 BP 神经网络为一种局部搜索的优化方法,它要解决的是一个复杂非线性化问题,网络的权值是通过沿局部改善的方向逐渐进行调整的,这样会使算法陷入局部极值,权值收敛到局部极小点,从而导致网络训练失败。加上 BP 神经网络对初始网络权重非常敏感,以不同的权重初始化网络,其往往会收敛于不同的局部极小,这也是很多学者每次训练得到不同结果的根本原因。 (2)BP 神经网络算法

37、的收敛速度慢:由于 BP 神经网络算法本质上为梯度下降法,它所要优化的目标函数是非常复杂的,因此,必然会出现“锯齿形现象” ,这使得 BP 算法低效;又由于优化的目标函数很复杂,它必然会在神经元输出接近 0 或 1 的情况下,出现一些平坦区,在这些区域内,权值误差改变很小,使训练过程几乎停顿;BP 神经网络模型中,为了使网络执行 BP 算法,不能使用传统的一维搜索法求每次迭代的步长,而必须把步长的更新规则预先赋予网络,这种方法也会引起算法低效。以上种种,导致了 BP 神经网络算法收敛速度慢的现象。 (3)BP 神经网络结构选择不一:BP 神经网络结构的选择至今尚无一种统一而完整的理论指导,一般

38、只能由经验选定。网络结构选择过大,训练中效率不高,可能出现过拟合现象,造成网络性能低,容错性下降,若选择过小,则又会造成网络可能不收敛。而网络的结构直期终论文神经网络设计- 15 -接影响网络的逼近能力及推广性质。因此,应用中如何选择合适的网络结构是一个重要的问题。(4)应用实例与网络规模的矛盾问题:BP 神经网络难以解决应用问题的实例规模和网络规模间的矛盾问题,其涉及到网络容量的可能性与可行性的关系问题,即学习复杂性问题。(5)BP 神经网络预测能力和训练能力的矛盾问题:预测能力也称泛化能力或者推广能力,而训练能力也称逼近能力或者学习能力。一般情况下,训练能力差时,预测能力也差,并且一定程度

39、上,随着训练能力地提高,预测能力会得到提高。但这种趋势不是固定的,其有一个极限,当达到此极限时,随着训练能力的提高,预测能力反而会下降,也即出现所谓“过拟合”现象。出现该现象的原因是网络学习了过多的样本细节导致,学习出的模型已不能反映样本内含的规律,所以如何把握好学习的度,解决网络预测能力和训练能力间矛盾问题也是 BP 神经网络的重要研究内容。 (6) BP 神经网络样本依赖性问题:网络模型的逼近和推广能力与学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。 期终论文神经网络设计- 16 -第三章 BP 神经网络的应用快速发展的 Matlab 软件为神经网络理论

40、的实现提供了一种便利的仿真手段。Matlab 神经网络工具箱的出现,更加拓宽了神经网络的应用空间。神经网络工具箱将很多原本需要手动计算的工作交给计算机,一方面提高了工作效率,另一方面,还提高了计算的准确度和精度,减轻了工程人员的负担。神经网络工具箱是在 MATLAB 环境下开发出来的许多工具箱之一。它以人工神经网络理论为基础,利用 MATLAB 编程语言构造出许多典型神经网络的框架和相关的函数。这些工具箱函数主要为两大部分。一部分函数特别针对某一种类型的神经网络的,如感知器的创建函数、BP 网络的训练函数等。而另外一部分函数则是通用的,几乎可以用于所有类型的神经网络,如神经网络仿真函数、初始化

41、函数和训练函数等。这些函数的 MATLAB 实现,使得设计者对所选定网络进行计算过程,转变为对函数的调用和参数的选择,这样一来,网络设计人员可以根据自己的的需要去调用工具箱中有关的设计和训练程序,从烦琐的编程中解脱出来,集中精力解决其他问题,从而提高工作效率。3.1 基于 MATLAB 的 BP 神经网络工具箱函数3.1.1 MATLAB 工具箱介绍MATLAB 产品家族是美国 MathWorks 公司开发的用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境。由于其完整的专业体系和先进的设计开发思路,使得 MATLAB 在多种领域都有广阔的应用空间,特别是在 MATLAB 的主要应用方

42、向 科学计算、建模仿真以及信息工程系统的设计开发上已经成为行业内的首选设计工具,全球现有超过五十万的企业用户和上千万的个人用户,广泛的分布在航空航天,金融财务,机械化工,电信,教育等各个行业。 在 MATLAB 产品家族中,MATLAB 工具箱是整个体系的基座,它是一个语言编程型(M 语言)开发平台,提供了体系中其他工具所需要的集成环境(比如 M 语言的解释器) 。同时由于 MATLAB 对矩阵和线性代数的支持使得工具箱本身也具有强大的数学计算能力。 MATLAB 产品体系的演化历程中最重要的一个体系变更是引入了 Simulink,用来对动态系统建模仿真。其框图化的设计方式和良好的交互性,对工

43、程人员本身计算机操作与编程的熟练程度的要求期终论文神经网络设计- 17 -降到了最低,工程人员可以把更多的精力放到理论和技术的创新上去。 针对控制逻辑的开发,协议栈的仿真等要求,MathWorks 公司在 Simulink 平台上还提供了用于描述复杂事件驱动系统的逻辑行为的建模仿真工具 Stateflow,通过 Stateflow,用户可以用图形化的方式描述事件驱动系统的逻辑行为,并无缝的结合到 Simulink 的动态系统仿真中。3.1.2 BP 网络创建函数1) newff该函数用于创建一个 BP 网络。调用格式为:net=newffnet=newff(PR,S1 S2SN1,TF1 TF

44、2TFN1,BTF,BLF,PF)net=newff;用于在对话框中创建一个 BP 网络。net 为创建的新 BP 神经网络;PR 为网络输入向量取值范围的矩阵;S1 S2SNl表示网络隐含层和输出层神经元的个数;TFl TF2TFN1表示网络隐含层和输出层的传输函数,默认为tansig;BTF 表示网络的训练函数,默认为trainlm;BLF 表示网络的权值学习函数,默认为learngdm;PF 表示性能数,默认为mse。 2)newcf 函数用于创建级联前向 BP 网络,newfftd 函数用于创建一个存在输入延迟的前向网络。3.1.3 神经元上的传递函数传递函数是 BP 网络的重要组成部

45、分。传递函数又称为激活函数,必须是连续可微的。BP 网络经常采用 S 型的对数或正切函数和线性函数。1) logsig该传递函数为 S 型的对数函数。调用格式为:A=logsig(N)info=logsig(code)其中,N:Q 个 S 维的输入列向量;期终论文神经网络设计- 18 -A:函数返回值,位于区间(0,1)中;2)tansig该函数为双曲正切 S 型传递函数。调用格式为:A=tansig(N)info=tansig(code)其中,N:Q 个 S 维的输入列向量;A:函数返回值,位于区间(-1,1)之间。3)purelin该函数为线性传递函数。调用格式为:A=purelin(N)

46、info=purelin(code)其中,N:Q 个 S 维的输入列向量;A:函数返回值,A=N。3.1.4 BP 网络学习函数1)learngd该函数为梯度下降权值/阈值学习函数,它通过神经元的输入和误差,以及权值和阈值的学习效率,来计算权值或阈值的变化率。调用格式为:dW,ls=learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)db,ls=learngd(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)info=learngd(code)2) learngdm 函数为梯度下降动量学习函数,它利用神经元的输入和误差、权值或阈值的学习速率和动量常数

47、,来计算权值或阈值的变化率。3.1.5 BP 网络训练函数1)train神经网络训练函数,调用其他训练函数,对网络进行训练。该函数的调用格式为:net,tr,Y,E,Pf,Af=train(NET,P,T,Pi,Ai)net,tr,Y,E,Pf,Af=train(NET,P,T,Pi,Ai,VV,TV)期终论文神经网络设计- 19 -2) traingd 函数为梯度下降 BP 算法函数。traingdm 函数为梯度下降动量 BP 算法函数。3.2 BP 网络在函数逼近中的应用3.2.1 问题的提出BP 网络由很强的映射能力,主要用于模式识别分类、函数逼近、函数压缩等。下面将通过实例来说明 BP

48、 网络在函数逼近方面的应用。要求设计一个 BP 网络,逼近函数:g(x)=1+cos(k*pi/4*x),实现对该非线性函数的逼近。其中,分别令 k=8,10,12 进行仿真,通过调节参数(如隐藏层节点个数等)得出信号的频率与隐层节点之间,隐层节点与函数逼近能力之间的关系。 3.2.2 基于 BP 神经网络逼近函数步骤 1:假设频率参数 k=8,绘制要逼近的非线性函数的曲线。函数的曲线如图 3-1 所示%样本选取k=8;x=0:0.01:1;y=1+sin(k*pi/4*x);%要逼近的函数plot(x,y);xlabel(x);ylabel(y);title(要逼近的非线性函数);期终论文神

49、经网络设计- 20 -图 3-1 逼近的非线性函数曲线步骤 2:网络的建立应用 newff()函数建立 BP 网络结构。隐层神经元数目 n 可以改变,暂设为 n=8,输出层有一个神经元。选择隐层和输出层神经元传递函数分别为 tansig 函数和 purelin 函数,网络训练的算法采用 Levenberg Marquardt 算法 trainlm。%网络仿真n=8;net=newff(minmax(x),1,n,1,tansig,tansig,purelin,traingdx);%创建神经网络y1=sim(net,x);figure;plot(x,y,b,x,y1,r);title(仿真结果与非线性函数);xlabel(x);ylabel(y);同时绘制网络输出曲线,并与原函数相比较,结果如图 3-2期终论文神经网络设计- 21 -“-” 代表要逼近的非线性函数曲线“” 代表未经训练的函数曲线图 3-2 网络输出曲线图

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报