Matlab基于BP算法的神经网络设计.docx
- 文档编号:5028039
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:42
- 大小:1.45MB
Matlab基于BP算法的神经网络设计.docx
《Matlab基于BP算法的神经网络设计.docx》由会员分享,可在线阅读,更多相关《Matlab基于BP算法的神经网络设计.docx(42页珍藏版)》请在冰豆网上搜索。
Matlab基于BP算法的神经网络设计
研究生课程期终论文
课程名称:
神经网络设计
任课教师:
论文题目:
姓名:
学号:
摘要
本文首先说明课题研究的目的和意义,评述课题的国内外研究现状,引出目前存在的问题。
然后分析了神经网络算法的基本原理,给出经典神经网络算法的具体实现方法,总结神经网络算法的特点,掌握BP网络的形成步骤。
学会使用Matlab中的神经网络工具箱函数,采用Matlab软件编程实现BP神经网络算法。
将神经网络算法应用于函数逼近,样本分类和样本含量估计问题中,并分析相关参数或算法对运行结果的影响。
最后对BP神经网络算法进行了展望。
关键字:
神经网络;BP神经网络;函数逼近;仿真实验
ABSTRACT
Thispaperfirstexplainsthepurposeandsignificanceofthetopicresearch.Commentarystudiescurrentsituationattheproblemhomeandabroad.Leadstotheexistingproblems.andthenhaveanalyzedalgorithmicbasalprincipleofneuralnetworks,Givealgorithmicconcertofclassicsneuralnetworksouttherealizationmethod.Summingupthecharacteristicsofneuralnetworkalgorithm.MastertheformingstepofBPnetwork.ThearithmeticofBPneuralnetworkisrealizedinMatlabsoftware.ThealgorithmappliesofBPneuralnetworkstothefunctionapproximationproblem,Sampleclassificationandcomputestheswatch content.Andanalysisofrelevantparametersontheresultsofalgorithm.Finally,TheBPneuralnetworkalgorithmisOutlook.
Keywords:
Neuralnetwork;BPneuralnetwork;Functionapproximation;Simulationexperiment
第一章引言
1.1神经网络的概述
人工神经网络(ArtificialNeuralNetworks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(ConnectionModel),它是一种模范动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。
这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
神经元网络是机器学习学科中的一个重要部分,用来classification或者regression。
思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。
逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机执行。
然而,直观性的思维是将分布式存储的信息综合起来,结果是忽然间产生想法或解决问题的办法。
这种思维方式的根本之点在于以下两点:
1.信息是通过神经元上的兴奋模式分布存储在网络上;2.信息处理是通过神经元之间同时相互作用的动态过程来完成的。
人工神经网络就是模拟人思维的第二种方式。
这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。
虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。
1.2人工神经网络的研究目的和意义
人工神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。
人工神经网络就是模拟人思维的一种方式,是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。
虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。
近年来通过对人工神经网络的研究,可以看出神经网络的研究目的和意义有以下三点:
(1)通过揭示物理平面与认知平面之间的映射,了解它们相互联系和相互作用的机理,从而揭示思维的本质,探索智能的本源。
(2)争取构造出尽可能与人脑具有相似功能的计算机,即神经网络计算机。
(3)研究仿照脑神经系统的人工神经网络,将在模式识别、组合优化和决策判断等方面取得传统计算机所难以达到的效果。
人工神经网络特有的非线性适应性信息处理能力,克服了传统人工智能方法对于直觉,如模式、语音识别、非结构化信息处理方面的缺陷,使之在神经专家系统、模式识别、智能控制、组合优化、预测等领域得到成功应用。
人工神经网络与其它传统方法相结合,将推动人工智能和信息处理技术不断发展。
近年来,人工神经网络正向模拟人类认知的道路上更加深入发展,与模糊系统、遗传算法、进化机制等结合,形成计算智能,成为人工智能的一个重要方向,将在实际应用中得到发展。
将信息几何应用于人工神经网络的研究,为人工神经网络的理论研究开辟了新的途径。
神经计算机的研究发展很快,已有产品进入市场。
光电结合的神经计算机为人工神经网络的发展提供了良好条件。
1.3神经网络的发展与研究现状
1.3.1神经网络的发展
神经网络诞生半个世纪以来,经历了五个阶段:
(1)奠基阶段:
早在40年代初,神经解剖学、神经生理学、心理学以及人脑神经元的电生理的研究等都富有成果。
其中,神经生物学家McCulloch提倡数字化具有特别意义。
他与青年数学家Pitts合作,从人脑信息处理观点出发,采用数理逻辑模型的方法研究了脑细胞的动作和结构及其生物神经元的一些基本生理特性,他们提出了第 一个神经计算模型,即神经元的阈值元件模型,简称MP模型,他们认识到了模拟大脑可用于逻辑运行的网络,有一些结点及结点与结点之间相互联系,构成一个简单神经网络模型。
其主要贡献在于结点的并行计算能力很强,为计算神经行为的某此方面提供了可能,从而开创了神经网络的研究。
这一革命性的思想,产生了很大影响。
(2)第一次高潮阶段:
1958年计算机科学家Rosenblatt基于MP模型,增加了学习机制,推广了MP模型。
他证明了两层感知器能够将输入分为两类,假如这两种类型是线性并可分,也就是一个超平面能将输入空间分割,其感知器收敛定理:
输入和输出层之间的权重的调节
正比于计算输出值与期望输出之差。
他提出的感知器模型,首次把神经网络理论付诸工程实现。
(3)坚持阶段:
神经网络理论那遥远但并非遥不可及的目标着实吸引了很多人的目光,美国军方认为神经网络工程应当比“原子弹工程”更重要,并对它的投资兴趣非常大,而对其实践的效果也比较满意。
(4)第二次高潮阶段:
Kohonen提出了自组织映射网络模型,映射具有拓扑性质,对一维、二维是正确的,并在计算机上进行了模拟,通过实例所展示的自适应学习效果显著。
他认为有可能推广到更高维的情况。
(5)新发展阶段:
从神经网络理论的发展史看,它的高潮阶段是很容易度过的。
IJCNN91大会主席Rumelhart意识到这一点,在他的开幕词中有一个观点,神经网络的发展已到了一个转折的时期,它的范围正在不断扩大,其应用领域几乎包括各个方面。
半个世纪以来,这门学科的理论和技术基础已达到了一定规模,笔者认为,神经网络到了新发展阶段,需要不断完善和突破,使其技术和应用得到有力的支持。
1.3.2神经网络的研究现状
进入20世纪90年代以来,神经网络由于应用面还不够宽,结果不够精确,存在可信度问题,从而进入了认识与应用研究期。
1)开发现有模型的应用,并在应用中根据实际运行情况对模型、算法加以改造,以提高网络的训练速度和运行的准确度。
2)充分发挥两种技术各自的优势是一个有效方法。
3)希望在理论上寻找新的突破,建立新的专用/通用模型和算法。
4)进一步对生物神经系统进行研究,不断地丰富对人脑的认识。
1.4神经网络研究目前存在的问题
人工神经网络理论本身也在完善和发展中。
如神经的稳定性和收敛性问题有待进一步研究。
神经网络结构和神经元数量的确定还没有成熟的理论等。
如广泛使用的BP网络就存在:
(1)收敛速度慢,且收敛速度与初始权值选取有关
(2)网络结构设计,即隐层及接点数的选择尚无理论指导
(3)新加人的样本会影响已训练好的样本
(4)存在局部最小问题
人工神经网络自身的问题直接影响其应用。
包括在经济领域的应用。
随着人工神经网络研究和应用的不断深入。
一些改进算法和技术,如模拟退火算法、遗传算法(GA)、模糊技术、小波分析等和神经网络逐步融合,提高了神经网络模型的工作性能。
例如运用模糊技术克服一般神经网络学习过程复杂、收敛速度慢的弱点,并提高了模型的精度。
将小波分析良好的局域化性质与神经网络的自适应学习和非线性映射能力相结合,使神经网络具有极佳的函数逼近能力,这为非线性长期预报提供了新的思路和方法。
遗传算法是近来发展起来的一种随机多点搜索算法。
具有很强的自适应性、鲁棒性,它在全局寻优上的能力可以防止神经网络在寻优过程中陷人局部最小点。
一个经济活动或现象往往是多种因素合力的结果,各个因素之间往往存在耦合,在实际中往往难以对各个因素进行合理的量化。
同时神经网络的评估精度主要取决于训练样本的数量和质量,而在实际中难以一次性获得足够的理想样本,这要在使用过程中逐步积累,通过不断的学习使网络趋于完善。
1.5神经网络的应用领域
神经网络以其独特的结构和处理信息的方法,在许多实际应用领域中取得了显著的成效,主要应用如下:
(1)自动控制领域。
神经网络方法已经覆盖了控制理论中的绝大多数问题,主要有系统建模与辨识、PID参数整定、极点配置、内模控制、优化设计、预测控制、最优控制、自适应控制、滤波与预测容错控制、模糊控制和学习控制等。
典型的例子是20世纪60年代初,美国“阿波罗”登月计划中,Kilmer和MeClloch等人根据脊椎动物神经系统中网状结构的工作原理,提出了一个KMB模型,以使登月车在远距离复杂环境下具有一定的自制能力。
(2)处理组合优化问题。
最典型的例子是成功地解决了TSP问题,即旅行推销员问题(TravellingSalesmanProblem),另外还有最大匹配问题、装箱问题和作业调度等。
(3)模式识别。
已成功应用于手写字符、汽车牌照、指纹和声音识别,还可用于目标的自动识别和定位、机器人传感器的图像识别以及地震信号的鉴别等。
(4)图像处理。
对图像进行边缘监测、图像分割、图像压缩和图像恢复。
(5)传感器信号处理。
传感器输出非线性特性的矫正、传感器故障检测、滤波与除噪、环境影响因素的补偿、多传感信息融合。
(5)机器人控制。
对机器人眼手系统位置进行协调控制,用于机械手的故障诊断及排除、智能自适应移动机器人的导航。
(6)信号处理。
能分别对通讯、语音、心电和脑电信号进行处理分类;可用于海底声纳信号的检测与分类,在反潜、扫雷等方面得到应用。
(7)信号处理。
能分别对通讯、语音、心电和脑电信号进行处理分类;可用于海底声纳信号的检测与分类,在反潜、扫雷等方面得到应用。
(8)卫生保健、医疗。
比如通过训练自主组合的多层感知器可以区分正常心跳和非正常心跳、基于BP网络的波形分类和特征提取在计算机临床诊断中的应用M&N。
(9)经济。
能对商品价格、股票价格MDN和企业的可信度等进行短期预测。
(10)化工领域。
能对制药、生物化学和化学工程等进行分析。
如:
进行蛋白质结构分析、谱分析和化学反应分析等。
(11)焊接领域。
国内外在参数选择、质量检验、质量预测和实时控制方面都有研究,部分成果已得到应用。
(12)地理领域。
在遥感图像分类中有广泛的应用,在GIS方面应用人工神经网络理论,提高系统对数据进行复杂的综合分析的功能。
(13)另外,在数据挖掘、电力系统、交通、军事、矿业、农业和气象等方面亦有应用。
第二章BP神经网络概述
2.1BP神经网络介绍
BP(BackPropagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。
BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。
它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。
BP神经网络模型拓扑结构包括输入层(input)、隐层(hidelayer)和输出层(outputlayer)。
如图2-1。
图2-1BP网络模型结构图
2.2神经元
2.2.1人工神经元
归纳一下生物神经元传递信息的过程:
生物神经元是一个多输入、单输出单元。
常用的人工神经元模型可用图2-2模拟。
图2-2人工神经元(感知器)示意图
当神经元j有多个输入xi(i=1,2,…,m)和单个输出yj时,输入和输出的关系可表示为:
其中j为阈值,wij为从神经元i到神经元j的连接权重因子,f()为传递函数,或称激励函数。
神经网络连接的几种基本形式:
1)前向网络
前向网络结构如图2-3所示,网络中的神经元是分层排列的,每个神经元只与前一层的神经元相连接。
神经元分层排列,分别组成输入层、中间层(也称为隐含层,可以由若干层组成)和输出层。
每一层的神经元只接受来自前一层神经元的输入,后面的层对前面的层没有信号反馈。
输入模式经过各层次的顺序传播,最后在输出层上得到输出。
感知器网络和BP网络均属于前向网络。
图2-3前向网络结构
2)从输出到输入有反馈的前向网络
其结构如图2-4所示,输出层对输入层有信息反馈,这种网络可用于存储某种模式序列,如神经认知机和回归BP网络都属于这种类型。
图2-4有反馈的前向网络结构
3)层内互连前向网络
其结构如图2-5所示,通过层内神经元的相互结合,可以实现同一层神经元之间的横向抑制或兴奋机制。
这样可以限制每层内可以同时动作的神经元素,或者把每层内的神经元分为若干组,让每一组作为一个整体进行运作。
例如,可利用横向抑制机理把某层内的具有最大输出的神经元挑选出来,从而抑制其他神经元,使之处于无输出状态。
图2-5有相互结合的前向网络结构
4)相互结合型网络
相互结合型网络结构如图2-6所示,这种网络在任意两个神经元之间都可能有连接。
Hopfield网络和Boltzmann机均属于这种类型。
在无反馈的前向网络中,信号一旦通过某神经元,该神经元的处理就结束了。
而在相互结合网络中,信号要在神经元之间反复传递,网络处于一种不断变化状态的动态之中。
信号从某初始状态开始,经过若干次变化,才会达到某种平衡状态。
根据网络的结构和神经元的特性,网络的运行还有可能进入周期振荡或其他如混沌平衡状态。
图2-6结合型网络结构
综上,可知神经网络有分层网络、层内连接的分层网络、反馈连接的分层网络、互连网络等四种结构,其神经网络模型有感知器网络,线性神经网络,BP神经网络,径向基函数网络,反馈神经网络等,本文主要学习研究了BP神经网络,以及BP神经网络在函数逼近和样本含量估计两个实例中的应用分析。
人工神经网络主要具备以下几方面的基本特征:
1.并行分布能力:
神经网络具有高度的并行结构和并行处理能力。
这特别适用于实时控制和动态控制。
2.人工神经网络是一个非线性的有向图,图中含有可以通过改变权大小来存放模式的加权边,并且可以从不完整的或未知的输入找到模式。
人工神经网络是一种具有下列特征的有向图:
(1)对于每个节点i存在一个状态变量ix;
(2)从节点j至节点i存在一个连接权系统数ijw;
(3)对于每个节点i存在一个阈值iq;
(4)对于每个节点I,定义一个变换函数,,()iiijfxwi,ij;对于最一般的情况,此函数取()iijjj,fwxiq-å形式。
3.通过训练进行学习:
神经网络是通过所研究系统过去的数据进行训练的。
是一个经过适当训练的神经网络,具有归纳全部数据的能力。
因此,神经网络能够解决那些由数学模型或描述规则难以处理的控制过程。
4适应与集成:
神经网络能适应在线运行,并能同时进行定量和定性操作。
这些特性特别适用于复杂、大规模和多变量的控制。
5.硬件实现:
神经网络不仅能够通过软件而且借助软件实现并行处理。
由于超大规模集成电路的硬件实现,使得神经网络具有快速和大规模处理能力的实现网络。
6.具有联想存储功能:
利用人工神经网络的反馈网络就可以实现这种联想。
7.有高速寻找优化解的能力:
利用一个针对某问题而设计的反馈型人工神经网络,发挥计算机的高速运算能力,可能很快找到优化解。
8.具有很强的鲁棒性和容错性。
在神经网络中,信息的存储是分布在整个网络中相互连接的权值上的,这就使得它比传统计算机具有较高的抗毁性,少数几个神经元损坏或断几处连接,只会稍许降低系统的性能,而不至于破坏整个网络系统,因而具有强的鲁棒性和容错性。
2.2.2生物神经元
神经细胞是构成神经系统的基本单元,称之为生物神经元,简称神经元。
神经元主要由三部分构成:
(1)细胞体;
(2)轴突;(3)树突
细胞体:
是神经元的中心,它一般又由细胞核、细胞膜等组成。
树突:
是神经元的主要接受器,它主要用来接受信息。
轴突的作用主要:
是传导信息,它将信息从轴突起点传到轴突末梢。
突触:
是轴突的终端,是神经元之间相互连接的接口部分,即一个神经元的神经末梢与另一个神经元的树突相接触的交界面,位于神经元的神经末梢尾端。
(1)生物神经元结构示意图:
图2-7
图2-7生物神经元结构示意图
(2)生物神经元的工作状态:
神经元具有两种常规工作状态:
兴奋与抑制,当传入的神经冲动使细胞膜电位升高超过阈值时,细胞进入兴奋状态,产生神经冲动并由轴突输出;当传入的神经冲动使膜电位下降低于阈值时,细胞进入抑制状态,没有神经冲动输出。
2.3BP神经网络原理
BP网络是一种多层前馈神经网络,由输入层、隐层和输出层组成。
图2-8为一个典型的三层BP网络的拓扑结构,层与层之间采用全互连方式,同一层之间不存在相互连接,隐层可以有一层或多层。
层与层之间有两种信号在流通:
一种是工作信号(用实线表示),它是施加输入信号后向前传播直到在输出端产生实际输出的信号,是输入和权值的函数。
另一种是误差信号(用虚线表示),网络实际输出与期望输出间的差值即为误差,它由输出端开始逐层向后传播。
BP网络的学习过程程由前向计算过程和误差反向传播过程组成。
在前向计算过程中,输入量从输入层经隐层逐层计算,并传向输出层,每层神经元的状态只影响下一层神经元的状态。
如输出层不能得到期望的输出,则转入误差反向传播过程,误差信号沿原来的连接通路返回,逐次调整网络各层的权值和阈值,直至到达输入层,再重复向计算。
这两个过程一次反复进行,不断调整各层的权值和阈值,使得网络误差最小或达到人们所期望的要求时,学习过程结束。
图2-8 典型Bp网络模型
生物神经元信号的传递是通过突触进行的一个复杂的电化学等过程,在人工神经网络中是将其简化模拟成一组数字信号通过一定的学习规则而不断变动更新的过程,这组数字储存在神经元之间的连接权重。
网络的输入层模拟的是神经系统中的感觉神经元,它接收输入样本信号。
输入信号经输入层输入,通过隐含层的复杂计算由输出层输出,输出信号与期望输出相比较,若有误差,再将误差信号反向由输出层通过隐含层处理后向输入层传播。
在这个过程中,误差通过梯度下降算法,分摊给各层的所有单元,从而获得各单元的误差信号,以此误差信号为依据修正各单元权值,网络权值因此被重新分布。
此过程完成后,输入信号再次由输入层输入网络,重复上述过程。
这种信号正向传播与误差反向传播的各层权值调整过程周而复始地进行着,直到网络输出的误差减少到可以接受的程度,或进行到预先设定的学习次数为止。
权值不断调整的过程就是网络的学习训练过程。
BP神经网络的信息处理方式具有如下特点:
1)信息分布存储。
人脑存储信息的特点是利用突触效能的变化来调整存储内容,即信息存储在神经元之间的连接强度的分布上,BP神经网络模拟人脑的这一特点,使信息以连接权值的形式分布于整个网络。
2)信息并行处理。
人脑神经元之间传递脉冲信号的速度远低于冯·诺依曼计算机的工作速度,但是在很多问题上却可以做出快速的判断、决策和处理,这是由于人脑是一个大规模并行与串行组合的处理系统。
BP神经网络的基本结构模仿人脑,具有并行处理的特征,大大提高了网络功能。
3)具有容错性。
生物神经系统部分不严重损伤并不影响整体功能,BP神经网络也具有这种特性,网络的高度连接意味着少量的误差可能不会产生严重的后果,部分神经元的损伤不破坏整体,它可以自动修正误差。
这与现代计算机的脆弱性形成鲜明对比。
4)具有自学习、自组织、自适应的能力。
BP神经网络具有初步的自适应与自组织能力,在学习或训练中改变突触权值以适应环境,可以在使用过程中不断学习完善自己的功能,并且同一网络因学习方式的不同可以具有不同的功能,它甚至具有创新能力,可以发展知识,以至超过设计者原有的知识水平。
BP神经网络隐含层节点的选择:
基于BP算法的神经元网络中各层节点数目的选择对于网络性能的影响很大,隐含层的神经元数目选择往往需要根据经验和多次试验来确定,若隐含层单元数目选择太多会致使学习时间过长、误差不一定最佳,也会导致容错性差、不能识别以前没有看到的样本,节点的数目要选择恰当。
常用的解决办法就是使隐含层数目可变。
一种是开始放入足够的隐含单元,然后把学习后的那些不起作用的隐含层单元逐步去掉,一直减少到不可收缩为止。
另一种是开始放入比较少的隐含层单元,学习一些次数后,还不成功就要增加隐含单元个数,一直达到比较合理的隐含单元数目为止。
可以根据以下公式选择最佳隐含层神经元的数目。
(1),其中,m为输出神经元数目;n为输入神经元数目;a为[1,10]之间的常数;
(2),其中,n为输入单元数。
(3),其中,m为输出节点数。
隐含层结点数可根据公式
(1)、
(2)或(3)得出一个初始值,然后利用逐步增长或逐步修剪法.所谓逐步增长是先从一个较简单的网络开始,若不符合要求则逐步增加隐含层单元数到合适为止;逐步修剪则从一个较复杂的网络开始逐步删除隐含层单元,具体实现已有不少文献讨论。
BP神经网络学习率的选择:
学习速率决定每一次循环训练所产生的权值的变化量。
过大的学习速率可能导致系统的不稳定,但是过小的学习速率将导致训练时间较长,收敛速度很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小的误差值。
一般要求是:
当训练到误差曲面得平坦区时,为加快收敛应使增大;当训练到误差曲面的变化剧烈区时,为防止过学习(使误差增加),应使上述值减小。
为加快收敛,应使合理化,比如采用变步长算法。
所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性,学习速率的选取范围一般在0.01~0.1之间。
再根据训练过程中梯度变化和均方差变化值来确定。
2.4BP神经网络的主要功能
目前,在人工神经网络的实际应用中。
绝大部分的神经网络模型都采用BP神经网络
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 基于 BP 算法 神经网络 设计