BP 神经网络在函数估计中的应用DOC.docx

上传人:b****3 文档编号:27358838 上传时间:2023-06-29 格式:DOCX 页数:14 大小:183.60KB
下载 相关 举报
BP 神经网络在函数估计中的应用DOC.docx_第1页
第1页 / 共14页
BP 神经网络在函数估计中的应用DOC.docx_第2页
第2页 / 共14页
BP 神经网络在函数估计中的应用DOC.docx_第3页
第3页 / 共14页
BP 神经网络在函数估计中的应用DOC.docx_第4页
第4页 / 共14页
BP 神经网络在函数估计中的应用DOC.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

BP 神经网络在函数估计中的应用DOC.docx

《BP 神经网络在函数估计中的应用DOC.docx》由会员分享,可在线阅读,更多相关《BP 神经网络在函数估计中的应用DOC.docx(14页珍藏版)》请在冰豆网上搜索。

BP 神经网络在函数估计中的应用DOC.docx

BP神经网络在函数估计中的应用DOC

摘要

在系统建模、辨识和预测中,对于线性系统,在频域,传递函数矩阵可以很好地表达系统的黑箱式输入输出模型;在时域,Box-Jenkins方法、回归分析方法、ARMA模型等,通过各种参数估计方法也可以给出描述。

对于非线性时间序列预测系统,双线性模型、门限自回归模型、ARCH模型都需要在对数据的内在规律知道不多的情况下对序列间关系进行假定。

传统的非线性系统预测,在理论研究和实际应用方面,都存在极大的困难。

相比之下,神经网络可以在不了解输入或输出变量间关系的前提下完成非线性建模。

神经元、神经网络都有非线性、非局域性、非定常性、非凸性和混沌等特性,与各种预测方法有机结合具有很好的发展前景,也给预测系统带来了新的方向与突破。

建模算法和预测系统的稳定性、动态性等研究成为当今热点问题。

目前在系统建模与预测中,应用最多的是静态的多层前向神经网络,这主要是因为这种网络具有通过学习逼近任意非线性映射的能力。

利用静态的多层前向神经网络建立系统的输入/输出模型,本质上就是基于网络逼近能力,通过学习获知系统差分方程中的非线性函数。

关键词:

人工神经网络,函数估计,非线性预测,MATLAB

ABSTRACT

Insystemmodeling,identificationandprediction,forlinearsystems,inthefrequencydomain,thetransferfunctionmatrixcanbeagoodexpressionsystemblack-boxinput-outputmodel;inthetimedomain,Box-Jenkinsmethodofregressionanalysis,ARMAmodelsthroughavarietyofparameterestimationmethodsdescribedcanalsobegiven.Fornonlineartimeseriesforecastingsystems,bilinearmodel,thresholdautoregressivemodel,ARCHmodelsareneededintheinternallawsofthedatatoknowthecaseofsmallassumptionontherelationshipbetweensequences.

Thetraditionalnonlinearsystempredictsthetheoreticalresearchandpracticalapplications,therearegreatdifficulties.Incontrast,theneuralnetworkcannotunderstandtherelationshipbetweentheinputoroutputvariablescompletedunderthepremiseofnonlinearmodeling.Neurons,neuralnetworksarenon-linear,non-locality,unsteady,non-convexityandchaoscharacteristicscombinewithavarietyofforecastingmethodshavegoodprospects,butalsotobringanewpredictionsystemdirectionandbreakthrough.Andpredictivemodelingalgorithmsystemstability,dynamicsandotherresearchbecomehotissue.Currentlyinthesystemmodelingandprediction,themostwidelyusedisstaticmultilayerfeedforwardneuralnetworks,thisismainlybecausethisnetworkhasapproximateanynonlinearmappingthroughlearningability.Usestaticmultilayerfeedforwardneuralnetworksysteminput/outputmodel,inessence,isbasedontheabilityofthenetworkapproach,bylearninglearnaboutthenonlinearfunctionofthedifferentialequation.

1、人工神经网络的研究背景和意义

BP人工神经网络模型是ANN的重要模型之一,应用最为广泛,当前80%~

90%的人工神经网络模型是采用BP网络或它的改进形式,它是前向网络的核心

部分。

BP人工神经网络是一个多层映射网络,采用最小均方误差(MSE)的学习方式,它可以解决大多数人工神经网络所面临的许多问题。

[1,2,3]

当今,科学技术正处于多学科相互交叉和融合的时代,人们对优化技术和智能计算也提出了更高的要求。

在许多实际应用领域不断涌现出来的复杂的组合优化问题,用现有的技术在比较合理的有限时间内采用经典最优方法已很难解决。

[5]

例如牛顿法、共轭梯度法、Polar-Ribiere法、拉格朗日乘子法,Powell法等方法已经无法处理人们需要解决的复杂问题。

因此,研究出高效、有用的算法是科学工作者的急迫任务之一。

对许多NP问题,人们无法获得最优解。

所以人们退而次之,试图采用各种

启发式方法,在合理的时间范围内找到满意的解(次优解)。

这些启发式算法又被称为智能优化算法。

智能优化算法是模拟自然界生物系统,完全依赖生物体自身的本能,具有无意识的寻优行为来优化其生存状态,以适应环境的一类新型的最优化方法。

遗传算法(GA)和蚁群算法(ACO)属于智能优化算法,遗传算法借鉴了自然界优胜劣汰的进化思想,蚁群算法模拟了自然界蚂蚁的寻找最佳路径方式。

2、神经网络的发展与研究现状

人工神经网络是一种按照人脑的组织和活动原理而构造的一种数据驱动型

非线性映射模型,可以实现任何复杂的因果关系映射,能够从大量的历史数据中进行聚类和学习,进而找到某些行为变化的规律。

它可以处理那些难以用数学模型描述的系统,具有很强的并行处理、自适应、自组织、联想记忆、容错鲁棒以及任意逼近非线性等特性,特别适用于处理复杂问题,在预测评估、智能控制、模式识别、信号处理、非线性优化、函数逼近、自适应控制和预测及管理工程等领域具有广泛的应用。

实践证明,人工神经网络在很多方面的应用结果都优于其它现有方法或理论,表现出良好的应用前景和潜力。

BP网络是非线性的前馈式网络,具有很好的非线性映射能力。

理论已证明,只要有足够的隐层和隐层单元数,BP网络可以逼近任意的非线性映射关系,且不需建立数学解析式模型。

因为,它主要是根据所提供的原始数据,通过训练和学习,找出输入和输出之间的内在联系,从而求得问题的解答,而不是依靠对问题的先验知识和规则,所以具有很好的适应性。

BP网络存在自身的限制与不足,如需要较长的训练时间、会收敛于局部极

[4][5]

小值等,使得BP算法在实际应用中不是处处胜任。

因此近十几年来,许多学者对其做了深入的研究,提出了许多改进的算法。

现有的改进包括网络结构和学习算法两个方面。

网络结构的改进主要有:

附加动量法、归一化权值更新法、

[6][7]

[11]

[10]

[9]

[8]

RPROP法和自适应学习率法等;学习算法的改进主要有:

共轭梯度法、拟牛顿法、Levenberg-Marquardt法、快速传播算法、δ-δ方法、扩展卡尔曼滤波法、二阶优化以及最优滤波法等。

 

3、BP神经网络及其原理

(1)BP神经网络定义

BP(BackPropagation)神经网络是一种神经网络学习算法。

其由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。

相邻层之间各神经元进行全连接,而每层各神经元之间无连接,网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight)。

然后按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。

此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。

(2)BP神经网络模型及其基本原理

BP神经网络是误差反向传播神经网络的简称,它由一个输入层,一个或多个隐含层和一个输出层构成,每一次由一定数量的的神经元构成。

这些神经元如同人的神经细胞一样是互相关联的。

其结构如图1所示

 

 

图1BP神经网络模型

生物神经元信号的传递是通过突触进行的一个复杂的电化学等过程,在人工神经网络中是将其简化模拟成一组数字信号通过一定的学习规则而不断变动更新的过程,这组数字储存在神经元之间的连接权重。

网络的输入层模拟的是神经系统中的感觉神经元,它接收输入样本信号。

输入信号经输入层输入,通过隐含层的复杂计算由输出层输出,输出信号与期望输出相比较,若有误差,再将误差信号反向由输出层通过隐含层处理后向输入层传播。

在这个过程中,误差通过梯度下降算法,分摊给各层的所有单元,从而获得各单元的误差信号,以此误差信号为依据修正各单元权值,网络权值因此被重新分布。

此过程完成后,输入信号再次由输入层输入网络,重复上述过程。

这种信号正向传播与误差反向传播的各层权值调整过程周而复始地进行着,直到网络输出的误差减少到可以接受的程度,或进行到预先设定的学习次数为止。

权值不断调整的过程就是网络的学习训练过程。

BP神经网络的信息处理方式具有如下特点:

1)信息分布存储。

人脑存储信息的特点是利用突触效能的变化来调整存储内容,即信息存储在神经元之间的连接强度的分布上,BP神经网络模拟人脑的这一特点,使信息以连接权值的形式分布于整个网络。

2)信息并行处理。

人脑神经元之间传递脉冲信号的速度远低于冯·诺依曼计算机的工作速度,但是在很多问题上却可以做出快速的判断、决策和处理,这是由于人脑是一个大规模并行与串行组合的处理系统。

BP神经网络的基本结构模仿人脑,具有并行处理的特征,大大提高了网络功能。

3)具有容错性。

生物神经系统部分不严重损伤并不影响整体功能,BP神经网络也具有这种特性,网络的高度连接意味着少量的误差可能不会产生严重的后果,部分神经元的损伤不破坏整体,它可以自动修正误差。

这与现代计算机的脆弱性形成鲜明对比。

4)具有自学习、自组织、自适应的能力。

BP神经网络具有初步的自适应与自组织能力,在学习或训练中改变突触权值以适应环境,可以在使用过程中不断学习完善自己的功能,并且同一网络因学习方式的不同可以具有不同的功能,它甚至具有创新能力,可以发展知识,以至超过设计者原有的知识水平。

(3)BP神经网络的主要功能

目前,在人工神经网络的实际应用中。

绝大部分的神经网络模型都采用BP神经网络及其变化形式。

它也是前向网络的核心部分,体现了人工神经网络的精华。

BP网络主要用于以下四方面。

(1)函数逼近:

用输入向量和相应的输出向量训练一个网络以逼近一个函数。

(2)模式识别:

用一个待定的输出向量将它与输入向量联系起来。

(3)分类:

把输入向量所定义的合适方式进行分类。

(4)数据压缩:

减少输出向量维数以便传输或存储。

4、BP神经网络在函数逼近中的应用

(1)问题的提出

BP网络由很强的映射能力,主要用于模式识别分类、函数逼近、函数压缩等。

下面将通过实例来说明BP网络在函数逼近方面的应用。

要求设计一个BP网络,逼近以下函数:

g(x)=1+sin(k*pi/4*x),实现对该非线性函数的逼近。

其中,分别令k=1,2,4进行仿真,通过调节参数(如隐藏层节点个数等)得出信号的频率与隐层节点之间,隐层节点与函数逼近能力之间的关系。

(2)基于BP神经网络逼近函数

步骤1:

假设频率参数k=1,绘制要逼近的非线性函数的曲线。

函数的曲线如图2所示

k=1;

p=[-1:

.05:

8];

t=1+sin(k*pi/4*p);

Plot(p,t,'-');

title('要逼近的非线性函数');

xlabel('时间');

ylabel('非线性函数');

图2要逼近的非线性函数曲线

步骤2:

网络的建立

应用newff()函数建立BP网络结构。

隐层神经元数目n可以改变,暂设为n=3,输出层有一个神经元。

选择隐层和输出层神经元传递函数分别为tansig函数和purelin函数,网络训练的算法采用Levenberg–Marquardt算法trainlm。

n=3;

net=newff(minmax(p),[n,1],{'tansig''purelin'},'trainlm');

对于初始网络,可以应用sim()函数观察网络输出。

y1=sim(net,p);

figure;

plot(p,t,'-',p,y1,':

')

title('未训练网络的输出结果');

xlabel('时间');

ylabel('仿真输出--原函数-');

同时绘制网络输出曲线,并与原函数相比较,结果如图3所示。

图3未训练网络的输出结果

其中“”代表要逼近的非线性函数曲线;

“‥‥‥”代表未经训练的函数曲线;

因为使用newff()函数建立函数网络时,权值和阈值的初始化是随机的,所以网络输出结构很差,根本达不到函数逼近的目的,每次运行的结果也有时不同。

步骤3:

网络训练

应用train()函数对网络进行训练之前,需要预先设置网络训练参数。

将训练时间设置为50,训练精度设置为0.01,其余参数使用缺省值。

训练后得到的误差变化过程如图4所示。

图4训练过程

net.trainParam.epochs=50;(网络训练时间设置为50)

net.trainParam.goal=0.01;(网络训练精度设置为0.01)

net=train(net,p,t);(开始训练网络)

TRAINLM-calcjx,Epoch0/50,MSE9.27774/0.01,Gradient13.3122/1e-010

TRAINLM-calcjx,Epoch3/50,MSE0.00127047/0.01,Gradient0.0337555/1e-010

TRAINLM,Performancegoalmet.

从以上结果可以看出,网络训练速度很快,经过一次循环跌送过程就达到了要求的精度0.01。

步骤4:

网络测试

对于训练好的网络进行仿真:

y2=sim(net,p);

figure;

plot(p,t,'-',p,y1,':

',p,y2,'--')

title('训练后网络的输出结果');

xlabel('时间');

ylabel('仿真输出');

绘制网络输出曲线,并与原始非线性函数曲线以及未训练网络的输出结果曲线相比较,比较出来的结果如图5所示。

图5训练后网络的输出结果

其中“”代表要逼近的非线性函数曲线;

“‥‥‥”代表未经训练的函数曲线;

“―――”代表经过训练的函数曲线;

从图中可以看出,得到的曲线和原始的非线性函数曲线很接近。

这说明经过训练后,BP网络对非线性函数的逼近效果比较好。

(3)不同频率下的逼近效果

改变非线性函数的频率和BP函数隐层神经元的数目,对于函数逼近的效果有一定的影响。

网络非线性程度越高,对于BP网络的要求越高,则相同的网络逼近效果要差一些;隐层神经元的数目对于网络逼近效果也有一定影响,一般来说隐层神经元数目越多,则BP网络逼近非线性函数的能力越强。

下面通过改变频率参数和非线性函数的隐层神经元数目来加以比较证明。

1)频率参数设为k=2,当隐层神经元数目分别取n=3、n=6时,得到了训练后的网络输出结果如图6,7所示。

图6当n=3时训练后网络的输出结果图7当n=6时训练后网络的输出结果

其中“”代表要逼近的非线性函数曲线;

“‥‥‥”代表未经训练的函数曲线;

“―――”代表经过训练的函数曲线;

2)频率参数设为k=4,当隐层神经元数目分别取n=6、n=8时,得到了训练后的网络输出结果如图8,9所示。

图8当n=6时训练后网络的输出结果图9当n=8时训练后网络的输出结果

其中“”代表要逼近的非线性函数曲线;

“‥‥‥”代表未经训练的函数曲线;

“―――”代表经过训练的函数曲线;

3)频率参数设为k=8,当隐层神经元数目分别取n=10、n=15时,得到了训练后的网络输出结果如图10,11所示。

图10当n=10时训练后网络的输出结果图11当n=15时训练后网络的输出结果

其中“”代表要逼近的非线性函数曲线;

“‥‥‥”代表未经训练的函数曲线;

“―――”代表经过训练的函数曲线;

(4)讨论

通过上述仿真结果可知,当k=1,n=3时;k=2,n=6时;k=4,n=8时;k=8,n=15时,BP神经网络分别对函数取得了较好的逼近效果。

由此可见,n取不同的值对函数逼近的效果有很大的影响。

改变BP网络隐层神经元的数目,可以改变BP神经网络对于函数的逼近效果。

隐层神经元数目越多,则BP网络逼近非线性函数的能力越强。

[1]李望晨.BP神经网络改进及其在手写数字识别中的应用:

[硕士学位论文].

哈尔滨:

哈尔滨工业大学,2006

[2」刘光中,李晓峰.人工神经网络BP算法的改进和结构的自调整.运筹学学报,

2001,5

(1):

81~88

[3]WidrowB.NeuralNetworkApplicationinIndustryBusinessandScience,CommunicationoftheACM,2004:

93~105

[4]RUMELHARTDE,HINTONGE,WILLIAMSRJ.Learninginternal

representationsbyerrorpropagation.ParallelDataProcessing.CambridgeMA,TheM.I.T.Press,1986,1:

318~362

[5]张智星,孙春在,水谷英二,等.神经模糊和软计算.西安:

西安交通大学

出版社.2000:

167~170

[6]RIEDMILLERM,HEINRICHB.Adirectadaptivemethodforfasterbackpropagationlearning:

TheRPROPalgorithm.ProceedingsoftheIEEEInternationalConferenceonNeuralNetworks,1993:

1321~1330

[7]CHARALAMBOUSC.Conjugategradientalgorithmforefficienttrainingofartificialneuralnetworks.IEEEProceedings,2002,139(3):

301~310

[8]MOLLERMF.Ascaledconjugategradientalgorithmforfastsupervisedlearning.NeuralNetworks,2003,6:

525-~533

[9]张海燕,冯天瑾.新的组合激活函数BP网络模型研究.青岛海洋大学学

报,2002,32(4):

621~626

[10]C.-F.Juang,L.T.Chen.Movingobjectrecognitionbyashape-basedneuralfuzzynetwork,Neurocomputing2007,10:

926~935

[11]HAGANMT,MENHAJM.TrainingfeedforwardnetworkswiththeMarquardtalgorithm.IEEETransactionsonNeuralNetworks,2004,5(6):

989~993

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

当前位置:首页 > 工程科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1