




免费预览已结束,剩余25页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于BP神经网络的函数拟合算法研究摘要 人工神经网络(Artificial Neural Network,ANN)是智能领域的研究热点,目前已经成功地应用到信号处理、模式识别、机器控制、专家系统等领域中。在神经网络技术中,BP神经网络因具有结构、学习算法简单等特点,近年来得到广泛的关注,相关技术已经在预测、分类等领域中实现产业化。本文针对经典的函数拟合问题,以BP神经网络为工具,力求分析BP神经网络隐含层神经元数目对网络性能以及函数拟合效果的影响。通过Matlab的仿真实验结果表明,BP神经网络作为高效的计算智能工具,是实现复杂函数拟合的有效工具。关键字 人工神经网络;BP神经网络;函数拟合 Function Fitting Based on BP Neural NetworkAbstract Artificial neural network is a hot topic in the field of intelligent,it has been successfully applied to the field of signal processing, pattern recognition, machine control, expert systems, etc. In the neural network technology, BP neural network due to having a structure learning algorithm and simple, it is widespread concern in recent years, related technologies have been forecasting, classification and other areas of industrialization. In this paper, a function for fitting the classic problems with BP neural network as a tool to seek to analyze the number of BP neural network hidden layer neuron impact on network performance and function fitting effect. Matlab simulation results show that, BP neural network as an efficient computational intelligence tools, is an effective tool to achieve complex function fittingKeywords Artificial neural networks; BP neural network; Function fitting目录1 引言11.1 研究意义11.2研究现状11.2.1函数拟合的工具及方法21.2.2 神经网络的发展现状31.3 本文研究内容31.4 本文的组织结构42 人工神经网络简介52.1人工神经网络特性52.2 人工神经网络的特点62.3人工神经网络的基本特性和结构62.4 人工神经网络的主要学习算法82.5 BP神经网络结构92.6 BP神经网络训练方法113 基于BP神经网络的函数拟合算法设计与实现143.1面向函数拟合的BP网络结构143.1.1 函数问题的提出143.1.2 建立BP神经网络153.1.3 网络仿真153.1.4 网络测试163.2 实验及其结果分析183.2.1 设置实验参数183.2.2 实验结果分析194 结论245 致谢语25参考文献261 引言1.1 研究意义 函数拟合在数值计算中有着十分广泛的应用。如何近似地表示函数,是函数拟合涉及的基本问题。在进行数学的理论知识研究和实际的应用过程中,经常遇到如下问题:在已知数据中寻找一个函数,使它在一定意义下成为已知数据的近似表示,并求出近似表示所产生的误差,这即是函数的拟合问题。在函数拟合中,可以选择多种函数类用来拟合已知数据。而对的近似程度即误差,也可以有多种计算方法。对于经典的函数拟合原理,理论分析严密,体系十分成熟。但由此衍生的许多算法都有一些共同的缺点:计算量较大,适应性较差,对模型和数据的要求较高,依赖性强,而神经网络应用于函数拟合的优越性可在许多情况下体现出来,如:第一,它提供了一个标准的拟合结构以及随着隐含层神经元个数改变而能达到任意精度的拟合工具;第二,有标准的学习算法用以确定拟合函数的参数,并且这一过程是拟人的,即,很好地模拟了人的学习过程;第三,能处理的数据对象十分广泛:适用于大规模的,高度非线性的,不完备的数据处理。利用神经网络进行函数拟合一般是从样本出发,对未知函数进行非线性拟合。神经网络可以计算复杂的输入和输出结果之间的关系,因此非线性函数的拟合可以由神经网络来实现。运用神经网络进行函数拟合在应用数学方面有十分重要的意义,更重要的是,其在工程学和物理学领域也有着十分重要的作用,这是因为此种拟合方式已经广泛地应用在信号处理、系统辨识及建模,以及模式识别等多个方面。因此,本文将采用神经网络进行函数拟合研究1,并充分分析拟合的效率以及存在的问题。1.2研究现状1.2.1函数拟合的工具及方法近几十年来,用来进行函数拟合的数学工具,已发生了巨大的变化,从19世纪初的傅里叶(Fourier)理论2到20世纪60年代的神经网络理论,再到近10多年来产生的小波理论、多小波理论3及小波神经网络等。(1)Fourier变换的函数拟合傅里叶(Fourier)变换能将满足一定条件的某个函数表示成三角函数(正弦函数或余弦函数)或者它们的积分的线性组合。在不同的研究领域,Fourier变换具有多种不同的变体形式,如连续Fourier变换和离散Fourier变换。Fourier变换的线性性质、频移性质、微分关系、卷积特性等基本性质决定了它是一种很好的函数拟合工具。(2)小波变换的函数拟合4小波变换是当前应用数学和工程学科中一个迅速发展的新领域,经过近10年的探索研究,重要的数学形式化体系已经建立,理论基础更加扎实。传统的信号理论,是建立在Fourier分析基础上的,而Fourier变换作为一种全局性的变化,其有一定的局限性。在实际应用中人们开始对Fourier变换进行各种改进,小波分析由此产生了。小波分析是一种新兴的数学分支,它是泛函数、Fourier分析、调和分析、数值分析的最完美的结晶;在应用领域,特别是在信号处理、图像处理、语音处理以及众多非线性科学领域,它被认为是继Fourier分析之后的又一有效的时频分析方法。小波变换是指以某些特殊函数为基将数据过程或数据系列变换为级数系列以发现它的类似频谱的特征,从而实现数据处理。(3)多小波理论2的函数拟合作为小波理论发展的一个重要方向-多小波,不仅保持了单小波的优点,而且克服了它的缺点。使得小波分析又一次形成研究热潮,成为国际研究热点。多小波具有对称性、拟合性和插值性等特性。函数拟合工具在实际应用中已被广泛运用,可以根据不同类型的函数,选择相应的拟合工具来进行拟合。总的说来,函数拟合工具中函数的特性决定了最适宜拟合的函数类型和拟合的效果。1.2.2 神经网络的发展现状神经网络用于函数拟合提供了一种不同于传统理论的方法,即神经网络函数拟合的研究将前馈网络与函数拟合有机地结合起来。从理论上对神经网络的非线性拟合能力进行研究就是研究以前馈网络为代表的网络结构。神经网络拟合能力的研究离不开人工神经网络长久而又曲折的发展历史。1987年,Hecht等人指出了多层前馈网的非线性拟合能力与多变量连续函数表示定理5之间存在的关系,而这正是Kolmogrov于1957年证明了的。这是第一次真正意义上的将拟合理论与前馈网络的映射能力相结合。虽然后来Poggio指出这两方面实际上是无关的7,但是不久之后许多学者都严格地证明了隐含层函数为S型函数的三层BP网络可以任意精度地拟合任意紧集上的连续函数。BP网络的各种变型及其它用于函数拟合的网络的引出也都是基于此种原则。1991年,Kreinovich得出了一个如下结论:在非常微弱的限制下,对人工神经网络的隐含层引入任意的非线性单元都可使网络具有任意拟合各种连续函数的能力8。这一结论对用于函数拟合的网络的实现具有非常重要的意义。目前用于拟合的神经网络受到了广泛的关注。而在应用最为广泛的BP神经网络上,由于隐含层神经元设置的不同会给函数拟合带来不同问题,本文在总结相关文献资料的基础上,详细分析了BP神经网络隐含层神经元的设置对函数拟合效果的影响,对比两种实验结果,就其问题讨论相关解决策略。1.3 本文研究内容学习人工神经网络的基本结构及原理,并探讨BP神经网络在人工神经网络的地位和重要性,及其算法设计和技巧,利用神经网络的MATLAB编程分析函数逼近效果,之处其再函数逼近方面的良好性能和不足之处。重点解决的问题:1.探讨BP神经网络基本理论,基本方法;2.设计BP神经网络的基本结构和MATLAB编程;3.运用神经网络的MATLAB语言来实现算法设计。1.4 本文的组织结构本文总共分为四章,各个章节内容如下:第一章主要介绍课题研究意义以及当今神经网络的发展现状;第二章介绍了神经网络的主要特性和结构,了解BP神经网络的架构;第三章主要介绍BP神经网络解决函数拟合实验的设计并对结果进行简单的分析;第四章对本文做出总结。2 人工神经网络简介2.1人工神经网络特性人工神经网络(Artificial Neural Network,ANN),亦称为神经网络(Neural Network,NN),是由大量处理单元(神经元Neurons)广泛互连而成的网络,是对人脑的抽象、简化和模拟,它反映人脑的基本特性9。人工神经网络研究的先锋,McCulloch和Pitts曾于1943年提出以一种叫做“似脑及其”(mindlike machine)的思想,这种机器可由基于生物神经元特性的互连模型来制造,这就是神经网络的概念。它具有以下特性:(l)并行分布处理:神经网络具有高度的并行结构和并行实现能力,因而能够有较好的耐故障能力和较快的总体处理能力。这特别适于实时控制和动态控制。(2)非线性映射:神经网络具有固有的非线性特性,这源于其近似任意非线性映射(变换)能力。这一特性给非线性控制问题带来新的希望。(3)通过训练进行学习:神经网络是通过所研究系统过去的数据记录进行训练的。一个经过适当训练的神经网络具有归纳全部数据的能力。因此,神经网络能够解决那些由数学模型或描述规则难以处理的控制过程问题。(4)适应与集成:神经网络能够适应在线运行,并能同时进行定量和定性操作。神经网络的强适应和信息熔合能力使得网络过程可以同时输入大量不同的控制信号,解决输入信息间的互补和冗余问题,并实现信息集成和熔合处理。这些特性特别适于复杂、大规模和多变量系统的控制。(5)硬件实现:神经网络不仅能够通过软件而且可借助软件实现并行处理。近年来,一些超大规模集成电路实现硬件己经问世,而且可从市场上购到。这使得神经网络具有快速和大规模处理能力的实现网络。十分显然,神经网络由于其学习和适应、自组织、函数拟合和大规模并行处理等能力,因而具有用于智能控制系统的潜力。2.2 人工神经网络的特点1、具有大规模并行协同处理能力每一个神经元的功能和结构都很简单,但是由大量神经元构成的整体却具有很强的处理能力。2、具有较强的容错能力和联想能力单个神经元或者连接对网络整体功能的影响都比较微小。在神经网络中,信息的存储与处理是合二为一的。信息的分布存提供容错功能由于信息被分布存放在几乎整个网络中。所以当其中的某一个点或者某几个点被破坏时信息仍然可以被存取。3、具有较强的学习能力神经网络的学习可分为有教师学习与无教师学习两类。由于其运算的不精确性,表现成“去噪音、容残缺”的能力,利用这种不精确性,比较自然地实现模式的自动分类。具有很强的泛化(Generalization)能力。4、是大规模自组织、自适应的非线性动力系统具有一般非线性动力系统的共性,即不可预测性、耗散性、高维性、不可逆性、广泛连接性和自适应性等等。2.3人工神经网络的基本特性和结构人工神经网络由神经元模型构成;这种由许多神经元组成的信息处理网络具有并行分布结构。每个神经元具有单一输出,并且能够与其它神经元连接;存在许多(多重)输出连接方法,每种连接方法对应一个连接权系数。严格地说,人工神经网络是一种具有下列特性的有向图:(1) 对于每个节点i存在一个状态变量;(2) 从节点j至节点i,存在一个连接权系统数;(3) 对于每个节点i,存在一个阈值qi;(4) 对于每个节点i,定义一个激活函数fi;对于最一般的情况,此函数的形式为:人工神经网络由神经元模型构成;这种由许多神经元组成的信息处理网络具有并行分布结构。每个神经元具有单一输出,并且能够与其它神经元连接;存在许多(多重)输出连接方法,每种连接方法对应一个连接权系数。严格地说,人工神经网络是一种具有下列特性的有向图:(1) 对于每个节点i存在一个状态变量;(2) 从节点j至节点i,存在一个连接权系统数;(3) 对于每个节点i,存在一个阈值qi;(4) 对于每个节点i,定义一个激活函数fi;对于最一般的情况,此函数的形式为: (2-1)人工神经网络的互连结构(或称拓扑结构)是指单个神经元之间的连接模式,它是构造神经网络的基础,也是神经网络诱发偏差的主要来源。从互连结构的角度(如图2-1):图2-1 人工神经网络的互联结构(1)单层前馈网络根据图2-2,输入向量为X=(x1,x2,xn);输出向量为Y=(y1,y2,ym);输入层各个输入到相应神经元的连接权值分别是wij,i=1,2,.,n,j=1,2,., m。若假设各神经元的阈值分别是j,j=1,2,m,则各神经元的输出yj, j=1,2,.,m分别为 (2-2)其中,由所有连接权值wji构成的连接权值矩阵W为: (2-3)在实际应用中,该矩阵是通过大量的训练示例学习而形成的。图2-2 单层感知器2.4 人工神经网络的主要学习算法神经网络主要通过两种学习算法进行训练,即指导式(有师)学习算法和非指导式(无师)学习算法。此外,还存在第三种学习算法,即强化学习算法;可把它当做有师学习的一种特例。(l)有师学习。有师学习算法能够根据期望的和实际的网络输出(对应于给定输入)间的差来调整神经元间连接的强度或权。因此,有师学习需要有个老师或导师来提供期望或目标输出信号。有师学习算法的例子包括d规则、广义规则或反向传播算法以及 LvQ算法等。(2)无师学习。无师学习算法不需要知道期望输出。在训练过程中,只要向神经网络提供输入模式,神经网络就能够自动地适应连接权,以便按相似特征把输入模式分组聚集。无师学习算法的例子包括Kohonen算法和呷enter一Grossberg自适应谐振理论(ART)等。(3)强化学习如前所述,强化学习是有师学习的特例。它不需要老师给出目标输出。强化学习算法采用一个“评论员”来评价与给定输入相对应的神经网络输出的优度(质量因数)。2.5 BP神经网络结构BP(Back Propagation)神经网络是一个具有三层或者三层以上的阶层神经网络,上下层之间的各种神经元实行权连接,而各层之间神经元无连接。最基本的BP神经网络是三层前馈网络,即输入层、隐含层和输出层。BP网络的结构如图2-3所示。当一对学习样本提供给网络后,神经元的激活值从输入层经各中间层向输出层传播,在输出层的各神经元获得网络的输入响应。接下来,按减小目标输出与实际输出之间误差的方向,从输出层反向经过各中间层回到输入层,从而逐层修正各连接权值,这种算法称为“误差逆传播算法”,即BP算法。随着这种误差逆向的传播修正不断进行,网络对输入模式响应的正确率也不断上升10。图2-3 BP网络结构BP算法属于算法,是一种监督式(有导师)的学习算法。其基本思想是利用最小二乘法,即LMS算法,采用梯度搜索技术,以起始网络的实际输出值与期望输出值之间的误差平方和为最小。对于q个输入学习样本:,已知与其对应的输出样本:,学习的目的是用网络的实际输出,与目标矢量之间的误差来修改其权值,使与期望尽可能地接近;即:使网络输出层的误差平方和达到最小。它是通过连续不断地在相对于误差函数斜率下降的方向上计算网络权值和偏差的变化而逐渐拟合目标的。每一次权值和偏差的变化都与网络误差的影响成正比,并以反方向传播的方式传递到每一层11。BP网络在结构上类似于多层感知器,是一种多层前馈神经网络。BP神经网络是一种基于BP算法(误差反传算法)的多层前向网络,它的主要特点是信号前向传递,即误差反向传播。BP网络的网络拓扑结构是多层前向网络,该网络由三部分构成:输入层、隐含层和输出层。隐含层大于等于一层,相邻两层的各个神经元彼此相连,且对应地有一个连接权值,形成有向无环图的前向网络拓扑结构,如图2-4所示。在BP网络中,同层节点之间不存在相互连接,层与层之间多采用互联方式,且各层的连接权值可调。BP网络实现了明斯基的多层网络的设想,是当今神经网络模型中使用最为广泛的一种。BP神经网络是一种单向传播的神经网络,输入信号从输入层节点依次传过各隐含层节点,最后传到输出层节点。每层节点的输出只影响下一层节点的输出。所以,可将BP神经网络看作是一个从输入到输出的高度非线性映射,即F: Rn Rm,f(X) = Y。对于样本集合:输入xi(属于Rn)和输出yi(属于Rm),那么我们可以认为存在某一映射g使得g(xi)= yi(i=1,2,n)成立。现在要求出一个映射f,使得在某种意义下,f是g的最佳拟合。BP神经网络通过对简单的非线性函数进行数次复合,可以近似复杂的函数。通过迭代处理的方法,不断调整连接神经元的网络权重,使得最终输出结果和预期结果的误差最小。在图2-4中,给定一个样本集:S=(X1,Y1),(X2,Y2),(Xs,Ys),BP算法是逐一根据样本集中的的样本(Xk,Yk)计算出实际输出Ok及其误差E1,然后对各层神经元的权值W(1),W(2),W(L)各做一次调整,重复这个循环,直到Ep(所有样本的误差之和)。然后用输出层的误差调整输出层权矩阵,并用此误差估计输出层的直接前导层的误差,再用输出层前一层误差估计更前一层的误差。如此获得所有其它各层的误差估计,并用这些估计实现对权矩阵的修改。形成将输出端表现出的误差沿着与输入信号相反的方向逐级向输入端传递的过程。图2-4 BP网络拓扑结构实现BP算法的时候,需要用到MATLAB语言构造出典型神经网络的工具函数,本文所用到的工具函数有:(1)神经元传递函数:tansing()函数,它是一双曲正切S型(sigmoid)传递函数,用于将神经元上范围为(-,+)的输入值映射到区间(-1,+1)上。利用BP算法训练的隐含层神经元中经常用到它;purelin()函数,它是线性传递函数,用于BP算法训练的输出层神经元。(2)网络建立函数:newff()函数,用于建立一个前馈BP神经网络。(3)网络训练函数:train()函数,它用于训练建立的BP神经网络。(4)网络仿真函数:sim()函数,它用于仿真训练前后的BP神经网络。2.6 BP神经网络训练方法(1)输入和输出层的设计 。输入的神经元可以根据需要求解的问题和数据表示方式确定。(2)输出层的维数可根据使用者的要求来确定。如果将BP网络用做分类器,类别模式一共有个,那么输出层神经元的个数为或。(3)隐含层的设计。BP网络有一个重要的定理,即对于任何在闭区间内的一个连续函数都可以用单隐含层的BP网络拟合,因而一个三层BP网络就可以完成任意的维到维的映射。 设BP网络的输入层有m个神经元,输出层有n个神经元,隐含层有p个神经元,为输入层节点,;为隐含层节点,;为输出层节点。为的输入或输出;、分别为的输入、输出;、分别为d(k)的输入、输出;为的期望输出;为与之间的连接权(以下称为隐含层的权值);为与之间的连接权(以下称为输出层的权值)。对于隐含层,有 (2-4) (2-5)对于输出层,有 (2-6) (2-7)当网络实际输出与期望输出之间的全局误差E定义如下: (2-8)将以上误差定义式展开到隐含层,则有: (2-9)进一步展开至输入层,得到 (2-10)从上式可以看出,网络输入误差是各层权值、的函数,因此调整权值可改变误差E。显然,调整权值的原则是使误差不断地减小,因此应使权值的调整量与误差的梯度下降成正比,故而有: (2-11) (2-12)上式中负号表示梯度下降,常数表示比例系数,在训练中反映了学习速率。3 基于BP神经网络的函数拟合算法设计与实现3.1面向函数拟合的BP网络结构下面设计BP神经网络,用于对非线性函数的拟合。通过各个参数的设置,观察BP神经网络对非线性函数拟合的效果。3.1.1 函数问题的提出 对待拟合的函数进行采样,生成训练样本集,画出要拟合的非线性函数图像:置k = 1为非线性函数频数,采样点为p=-1:.05:1 ,即在-1到1之间每隔0.05开始采样,将其作为输入样本。非线性函数为t = 2*cos(k*pi*p),t是p的函数,计算上面采样点相对应的函数值,将其作为目标样本。接下来,画出要拟合的非线性函数图像:plot(p,t,-) %画出要拟合的函数图像title(要拟合的函数图像 ); %图像的标题xlabel(时间); %x轴变量的含义ylabel(非线性函数); %y轴的含义 得到函数图像如图6所示:图3-1 非线性函数图像3.1.2 建立BP神经网络本次实验利用newff建立神经网络,n = 10表示神经元个数: net = newff(minmax(p),n,1,tansig purelin,trainlm);其中newff为构造前向网络的函数;minmax用于求数组的最小值和最大值,在这里可表示输入的上限与下限;trainlm为训练函数梯度下降法,还可选traingdm :带动量梯度下降改进型;tansig为激活函数,它正切S型传递函数。第二层输出激活函数为线性激活purelin;n,1表示第一层有n个神经元,第二层有1个神经元,n是可调节的隐层节点数目。3.1.3 网络仿真利用sim函数进行网络仿真,训练BP网络,画出仿真图形和原函数的图形。根据仿真结果观察BP网络对样本的拟合能力。y1=sim(net,p)%网络仿真,仿真训练BP网络figure;plot(p,t,-,p,y1,-) %画出图像title(未训练网络的输出结果);xlabel(时间);ylabel(仿真输出 原函数);得到的结果如图7所示:图3-2 仿真曲线和原函数曲线从图像上可以看出,使用newff建立BP神经网络的时候,所取的权值和阈值都是随机的,所以输出结果很差,两个函数的图像相差很多,根本达不到函数拟合的目的,并且每次运行的结果也有所不同。 3.1.4 网络测试基于上述实验结果,我们需要训练网络。我们利用train函数进行训练,分别设置训练时间为50个单位时间,设计训练目标的误差小于0.01,开始训练并观察实验结果:net.trainparam.epochs=50; %设计训练时间为50个单位时间net.trainparam.goal=0.01; %设计训练目标的误差小于0.01net=train(net,p,t); 开始训练然后我们得到训练后的结果如图3-3所示。根据图8我们得出的结论是这个网络训练过程十分迅速,而且网络的误差也达到了要求。图3-3 BP网络训练误差变化图下面对训练好后的BP网络再次进行网络仿真。汇出结果图如图3-4。在观察仿真结果图3-4的时候,同时比较网络训练前后的仿真结果。y2=sim(net,p) %仿真训练神经网络figure;plot(p,t,-,p,y1,-,p,y2,-) %画出仿真训练前后的BP神经网络xlabel(时间);ylabel(仿真输出); %对x、y轴进行定义根据图3-4,我们可以看到,训练得到的曲线非常接近原函数曲线,说明在进行网络训练以后,BP神经网络对非线性函数的拟合效果很好。图3-4 训练前后的仿真曲线和原函数曲线3.2 实验及其结果分析3.2.1 设置实验参数(1)改变隐含层神经元数目我们已知隐含层神经元数目的不同会导致BP神经网络对函数拟合效果造成不同的效果。为了与上面的实验结果比较,得出更准确的结论,在下面的实验中,我们依次改变神经元数目n = 5、20、50、100、200、300、500时在原函数及其余变量不变的情况下操作,然后根据实验结果进一步讨论。用MATLAB进行编码,依次对他们进行仿真、训练、测试:k=1;n=5;%依次改变神经元的数目5、20、50、100、200、300、500p=-1:.05:1t=2*cos(k*pi*p);(2)改变非线性函数的频率在上述实验中,我们改变了隐含层神经节点数目,探究其对于函数拟合效果的影响,然而对函数的拟合效果的因素是多样的,接下来我们通过对非线性函数频率的改变,观察其对函数拟合效果有什么不同。为了与之前的实验结果比较,从而得出更准确的结论,我们改变非线性函数频率k = 2、4、5、6、7、10、0.5时在原函数及其余变量不变的情况下操作,然后根据实验结果进一步讨论。用MATLAB进行编码,依次对他们进行仿真、训练、测试:k=2; %依次改变频率n=10;p=-1:.05:1t=2*cos(k*pi*p);3.2.2 实验结果分析(1)隐含层节点数目对实验结果的影响当我们改变隐含层的神经节点数目后,得到的结果如图3-5和图3-6所示。对比误差变化曲线图3-5以及最后的拟合效果如图3-6,我们可以看出,虽然改变了隐含层神经元的数目,但是BP神经网络在进行网络训练之前,对函数的拟合效果依然不明显。而在训练后,仿真曲线和原函数非常接近,所以BP神经网络的拟合效果还十分理想的。对比图3-4和图3-5,我们可以看到,虽然改变神经元数目之后,BP神经网络都可以对非线性函数进行很好的拟合,但是我们看到隐含层神经元的数目对网络拟合效果还是有一定影响的。图3-5 改变节点数目后的误差变化曲线图3-6 改变节点数目后的仿真曲线以及原函数曲线图3-7 未经网络训练输出结果一般来讲,隐含层神经元的数目越多,则BP神经网络拟合非线性函数的能力越强,那么同时网络训练所用的时间相对来说要长一些。综合上述实验结果分析,BP算法的神经元网络中各层节点数目的选择对于网络性能的影响很大。若隐含层节点数目太少,则会影响网络的精度。若隐含层节点数目太多,则网络的概括能力会受到不良影响,影响神经网络对于新输入的适应性。所以,隐含层节点的数目选取恰当至关重要。(2)复杂非线性函数拟合实验结果在实验中,当我们改变非线性函数的频率后,得到需要拟合的非线性函数图像如图3-8所示,在运行代码后,得到仿真曲线和原函数曲线如图13所示。对比仿真曲线和原函数曲线图3-9和最后的拟合效果图3-10,我们不难看出,与改变隐含层神经元数目结果相同,虽然在此次实验过程中我们改变了非线性函数的频率,但是同样在BP神经网络训练之前,对函数拟合的效果依然不明显。而在训练后,仿真曲线非常接近需要拟合的函数曲线,所以,通过实验知道BP神经网络的拟合效果还是很好的。图3-8 改变频率后非线性函数原始图像图3-9 改变频率后的仿真曲线和原函数曲线图3-10 改变频率情况下经网络训练后仿真曲线和原函数曲线通过改变非线性函数的频率,我们可以看到,当频率k不断上升时,函数的拟合效果越差,当改变频率k=10时,其拟合系数R0.8,而当k=0.5时,其拟合系数R=0.99,函数更拟合原函数图像。所以,改变非线性函数的频率,对函数的拟合有一定的影响。网络非线性程度越高,对于BP网络的要求也越高,则相同的网络拟合效果要差一点。4 结论本文首先对人工神经网络做了简要的介绍,同时引出BP神经网络是应用最为广泛的人工神经网络,它最大的应用之一就是对非线性函数进行拟合。本文旨在利用MATLAB的BP神经网络工具箱设计编码BP网络,通过对网络的仿真、训练以及测试,对非线性函数进行拟合。应用BP神经网络进行函数拟合,不仅在数学和应用数学领域有意义,而且还在工程和物理学领域有广泛应用,如它被广泛的应用于系统辨识与建模、信号处理以及模式识别等方面。在实验过程中我们发现,在BP网络中隐含层神经元数目的设置会对BP神经网络的拟合效果产生影响,在实际应用中我们通常没有一个具体的方法来确切得出节点数目。本文重点分析了隐含层节点数目设置前后的不同实验结果,对比之下我们发现一般来说,隐含层神经元的数目越多,则BP神经网络拟合非线性函数的能力越强,那么同时网络训练所用的时间相对来说要长一些。同样的,我们在实验过程中也改变了非线性函数的频率,通过频率变化曲线,我们可以了解到,当频率改变时,对函数的拟合效果产生了影响,通常情况下,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东省惠州市惠城区中考数学二模试卷(含答案)
- 财务会计入门实操指南
- 高等土力学:本构模型
- 2025年android自学视频!一起看看这些大厂面试真题查漏补缺吧分享一点面试小经验
- 2023-2024学年山西省长治市部分学校高二下学期期末考试数学试题(解析版)
- 2025届河南省许昌、平顶山、汝州名校高三二模语文试题(解析版)
- 2025届福建省高三模拟练习联合检测语文试题(解析版)
- 2024届湖南省益阳市七校高三下学期第二次模拟考试语文试题(解析版)
- 2024-2025学年浙江省湖州市高二上学期期末考试语文试题(解析版)
- 2024-2025学年山西省晋城市部分学校高二下学期开学检测语文试题(解析版)
- 2025年入党积极分子培训结业测试题及答案
- 人教版(2024)七年级下册生物期末复习重点知识点提纲
- 2025年中考语文二轮复习:标点符号 专题练习题(含答案解析)
- 跌倒坠床防范试题及答案
- 2024-2025学年人教版(2024)初中英语七年级下册(全册)知识点归纳
- XXX社区居委会、业主委员会和物业管理机构三方联席会议制度
- 三伏贴不良反应应急预案
- 简阳市2024-2025学年五年级数学第二学期期末统考模拟试题含答案
- 2025年广东省佛山市中考英语一模试卷
- 防尘网施工方案
- 垃圾发电行业安全培训
评论
0/150
提交评论