BP神经网络讲座2016年数模_第1页
BP神经网络讲座2016年数模_第2页
BP神经网络讲座2016年数模_第3页
BP神经网络讲座2016年数模_第4页
BP神经网络讲座2016年数模_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、人工神经网络人工神经网络 (Artificial Neural Netwroks -ANN) 数理学院:唐志刚数理学院:唐志刚一.什么是人工神经网络v人工神经网络(ANN)具有自学习、自组织、较好的容错性和优良的非线性逼近能力。v在实际应用中,80%90%的人工神经网络模型是采用误差反传算法或其变化形式的网络模型。二.ANN能干什么?拟合 预测分类 (函数逼近)数学近似映射三.神经网络模型和网络结构v神经元模型v连接方式v学习方式v网络结构四、建立和应用神经网络的步骤 (1)网络结构的确定包含网络的拓扑结构和每个神经元相应函数的选取;(2)权值和阈值的确定通过学习得到,为有指导的学习,也就是利

2、用已知的一组正确的输入、输出数据,调整权和阈值使得网络输出与理想输出偏差尽量小;(3)工作阶段用带有确定权重和阈值的神经网络解决实际问题的过程,也叫模拟(simulate)。一、神经元模型一、神经元模型v大脑可视作为1000多亿神经元组成的神经网络 图1 神经元的解剖图v神经元的信息传递和处理是一种电化学活动树突由于电化学作用接受外界的刺激;通过胞体内的活动体现为轴突电位,当轴突电位达到一定的值则形成神经脉冲或动作电位;再通过轴突末梢传递给其它的神经元从控制论的观点来看;这一过程可以看作一个多输入单输出非线性系统的动态过程神经网络基本模型神经网络基本模型细胞体突触轴突树突图12.2 生物神经元

3、功能模型输入输出信息处理电脉冲形成传输9 神经元模型 从神经元的特性和功能可以知道,神经元相当于一个多输入单输出的信息处理单元,而且,它对信息的处理是非线性的,人工神经元的模型如图所示:神经元的n个输入对应的连接权值net=iiwx阈值输出激活函数10 上面的神经元模型可以用一个数学表达式进行抽象与概括,从而得到神经元的数学模型:1njjjofw x神经元的网络输入记为net,即 net= 1njjjw x11 有时为了方便起见,常把-也看成是恒等于1的输入X0 的权值,这时上面的数学模型可以写成:0njjjofw x其中, W0=- ; x0=1 12神经元的模型具有以下特点:神经元是一个多

4、输入、单输出单元。它具有非线性的输入、输出特性。它具有可塑性,反应在新突触的产生和现有的神经突触的调整上,其塑性变化的部分主要是权值w的变化,这相当于生物神经元的突出部分的变化,对于激发状态,w取正直,对于抑制状态,w取负值。神经元的输出和响应是个输入值的综合作用的结果。兴奋和抑制状态,当细胞膜电位升高超过阈值时,细胞进入兴奋状态,产生神经冲动;当膜电位低于阈值时,细胞进入抑制状态。激活函数激活函数13 神经元的描述有多种,其区别在于采用了不同的激活函数,不同的激活函数决定神经元的不同输出特性,常用的激活函数有如下几种类型:1.1.阈值型阈值型2.S2.S型型3.3.分段线性分段线性4.4.概

5、率型概率型141.阈值型激活函数 阈值型激活函数是最简单的,前面提到的M-P模型就属于这一类。其输出状态取二值(1、0或+1、-1),分别代表神经元的兴奋和抑制。激活函数激活函数当f(x)取0或1时,0001)(xxxf,若,若15当f(x)取1或-1时,f(x)为下图所示的sgn(符号)函数sgn(x)=10( )0 xf xx, 若-1,若激活函数激活函数16激活函数激活函数2.S型激活函数 神经元的状态与输入级之间的关系是在(0,1)内连续取值的单调可微函数,称为S型函数。双极性S型函数:x21 e( )1=11xxf xee1( )1xf xe单极性S型函数:173.分段线性激活函数分

6、段线性激活函数的定义为:激活函数激活函数10( )1110 xf xxxx ,若,若,若184.概率型激活函数 概率型激活函数的神经元模型输入和输出的关系是不确定的,需要一种随机函数来描述输出状态为1或为0的概率,设神经元输出(状态)为1的概率为:激活函数激活函数x/T1P=1e(1)(其中,T为温度函数)19学习机理学习机理 人工神经网络信息处理可以用数学过程来说明,这个过程可以分为两个阶段:执行阶段和学习阶段。 学习是智能的基本特征之一,人工神经网络最具有吸引力的特点是它能从环境中学习的能力,并通过改变权值达到预期的目的。神经网络通过施加于它的权值和阈值调节的交互过程来学习它的环境,人工神

7、经网络具有近似于与人类的学习能力,是其关键的方面之一。 20学习方法学习方法 按照广泛采用的分类方法,可以将神经网络的学习方法归为三类: 无导师学习灌输式学习有导师学习21学习方法有导师学习 有导师学习又称为有监督学习,在学习时需要给出导师信号或称为期望输出。神经网络对外部环境是未知的,但可以将导师看做对外部环境的了解,由输入-输出样本集合来表示。导师信号或期望响应代表了神经网络执行情况的最佳效果,即对于网络输入调整权值,使得网络输出逼近导师信号或期望输出。 22学习方法无导师学习 无导师学习也称无监督学习。在学习过程中,需要不断地给网络提供动态输入信息(学习样本),而不提供理想的输出,网络根

8、据特有的学习规则,在输入信息流中发现任何可能存在的模式和规律,同时能根据网络的功能和输入调整权值。 灌输式学习 灌输式学习是指将网络设计成记忆特别的例子,以后当给定有关该例子的输入信息时,例子便被回忆起来。灌输式学习中网络的权值不是通过训练逐渐形成的,而是通过某种设计方法得到的。权值一旦设计好,即一次性“灌输给神经网络不再变动,因此网络对权值的”“学习”是“死记硬背”式的,而不是训练式的。学习规则学习规则 在神经网络的学习中,各神经元的连接权值需按一定的规则调整,这种权值调整规则称为学习规则。下面介绍几种常见的学习规则。 1.Hebb1.Hebb学习规则学习规则2.Delta2.Delta(

9、)学习规则)学习规则3.LMS3.LMS学习规则学习规则4.4.胜者为王学习规则胜者为王学习规则5.Kohonen5.Kohonen学习规则学习规则6.6.概率式学习规则概率式学习规则242.3学习规则1.Hebb学习规则 当神经元i与神经元j同时处于兴奋状态时,在神经网络中表现为连接权增加 。根据该假设定义权值调整的方法,称为Hebb学习规则。Hebb学习规则的数学描述: 假设oi(n)和oj(n)是神经元i和j在时刻n的状态反应,Wij(n)表示时刻n时,连接神经元i和神经元j的权值,Wij(n)表示从时刻n到时刻n+1时连接神经元i和神经元j权值的改变量,则 ijijo n on=wnw

10、n+1w=wnnijijij() ( )+( )( ) ( )( ) 其中,是正常数,它决定了在学习过程中从一个步骤到另一个步骤的学习速率,称为学习效率252.3学习规则2.Delta()学习规则 Delta学习规则是最常用的学习规则,其要点是通过改变神经元之间的连接权来减小系统实际输出与理想输出的误差。假设n时刻输出误差准则函数如下: 2Kkkk = 11E =yon2(- () ) 其中, Ok=f(netk)为实际输出;yk代表理想输出;W是网络的所有权值组成权矩阵W=(wij);K为输出个数。 使用梯度下降法调整权值W,使误差准则函数最小,得到W的修正Delta规则为:ijijjiwn

11、+1 =wno注:Delta学习规则只适用于线性可分函数,无法用于多层网络262.3学习规则3.LMS学习规则 LMS学习规则又称为最小均方差规则,其学习规则为: ijijiw=yoo注:LMS学习规则可以看成是Delta学习规则的一个特殊情况。 该学习规则具有学习速度快和精度高的特点,权值可以初始化为任何值。272.3学习规则4.胜者为王学习规则 胜者为王(Winner-Take-All)学习规则是一种竞争学习规则,用于无导师学习。一般将网络的某一层确定为竞争层,对于一个特定的输入X,竞争层的K个神经元均有输出响应,其中响应值最大的神经元j*为竞争中获胜的神经元,即 Tji 1,2,.,WX

12、= maxTiKW X 只有获胜的神经元才有权调整其权向量Wj,调整量为:jjW =WX其中,为学习参数(01)282.3学习规则5.概率式学习 从统计学、分子热力学和概率论中关于系统稳态能量的标准出发,进行神经网络学习的方式称为概率是学习。神经网络处于某一状态的概率主要取决于在此状态下的能量,能量越低,概率越大。概率式学习的典型代表是玻尔兹曼(Boltzmann)机学习规则。这是基于模拟退火的统计优化算法。 29 BP BP神经网络算法神经网络算法BP神经网络 BP神经网络(Back Propagation Neural Network),即误差后向传播神经网络,是一种按误差逆向传播算法训练

13、的多层前馈网络,是目前应用最广泛的网络模型之一。 BP网络能学习和储存大量输入-输出模式的映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过后向传播来不断调整网络权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构中出了有输入层、输出层外,还至少有一层隐藏层,每一层的神经元输出均传送到下一层,而每层内神经元之间无连接。30 BP BP神经网络算法神经网络算法 BP神经元的结构模型,如下图:注:BP网络的激活函数f()要求是可微的,所以不能用二值函数,常用S型的对数、正切函数或线性函数。31 BP BP神经网络算法神经网络算法BP算法 BP算法由数据流

14、的正向传播和误差信号的反向传播两个过程构成。1)正向传播 设BP网络的输入层有n个节点,隐藏层有q个节点,输出层有m个节点,输入层与隐藏层之间的权值为vki ,隐藏层与输出层的权值为wjk,隐藏层的激活函数为f1(),输出层的激活函数为 f2(),则隐藏层节点的输出为nk1kiii=0z =fv xk=1,2.q , BP BP神经网络算法神经网络算法输出层节点的输出为:qj2jkkk=0o =fw zj=1,2.m , 至此,BP网络完成了n维空间向量对m维空间的近似映射。33BPBP神经网络算法神经网络算法2)反向传播 BP算法的实质是求取误差函数的最小值问题,这种算法采用的是非线性规划中

15、的最速下降法,按误差函数的负梯度方向修改权值。设训练样本总数为P,用X1,X2,.,Xp来表示。第P个样本输入所得到实际输出和理想输出分别记为采用理想输出和实际输出值差的平方和为误差函数,于是得到第P个样本的误差:ppjjoyj=1, 2 .m和,m2pppjjj=11E =yo234BPBP神经网络算法神经网络算法则P个样本的总误差为:ppm2ppjjpp=1 j=1p=11E=yo=E2网络误差是各层权值的函数,按照最速下降法,可得输出层各神经元的权值和第n次输出层权值的迭代公式分别为:jkjkw =z jkjkjkjkjkwn =wn-1wn =wn-1n z35 BP BP神经网络算法

16、神经网络算法隐藏层各神经元的权值和第n次隐藏层权值的迭代公式分别为:kikiv =x kikikikikivn =vn-1vn =vn-1n xppipjpi pjijEaiaiw 因而11ppijpi pjpi pjijEwaiiw pipiik pkpjkijijijoNetaaw iaiwww 则,piij pipipijNetw ioaNetb令111PPpijpi pjppijEwiw:pppiijpiijEEowow复合求导21,()()2ppkpkpipipikpjpiEtotooo 其中1:ppijijEww 按梯度法公式求解的过程36 BP BP神经网络算法神经网络算法BP网

17、络学习算法的具体步骤如下:Step1 从训练样本集中取某一样本,把它的输入信息输入到网络中。Step2 由网络正向计算出各层节点的输出。Step3 计算网络的实际输出和期望输出的误差。Step4 从输出层开始反向计算到第一个隐藏层,按一定的原则向减少误差方向调整整个网络的各个连接权值。Step5 对训练样本集中的每一个样本重复上述步骤,直到对整个网络训练样本集的误差达到要求为止。 1、BP网络建模方法和步骤网络建模方法和步骤vBP网络建模特点:网络建模特点:v非线性映照能力v并行分布处理方式v自学习和自适应能力v数据融合的能力v多变量系统1)原始数据的输入;)原始数据的输入;2)数据归一化;数

18、据归一化;3)网络建立以及训练;)网络建立以及训练;4)对原始数据进行仿真;)对原始数据进行仿真;5)将原始数据仿真的结果与已知样本进行对)将原始数据仿真的结果与已知样本进行对比;比;6)对新数据进行仿真。)对新数据进行仿真。v1.样本数据处理样本数据处理(1)样本分类:训练样本、检验样本、测试样本)样本分类:训练样本、检验样本、测试样本(2)预处理)预处理归一化归一化方法:标准化、极差变换等方法:标准化、极差变换等原则:有效避开原则:有效避开Sigmoid函数的饱和区,一般要求输入数据的函数的饱和区,一般要求输入数据的值在值在01之间(之间(0.20.8最好)最好)注意:预处理的数据训练完成

19、后,网络输出的结果要进行反变注意:预处理的数据训练完成后,网络输出的结果要进行反变换才能得到实际值。换才能得到实际值。v2.建立建立BP网络网络(1)确定输入和输出)确定输入和输出(2)确定网络结构(几个隐层?隐层神经元个数)确定网络结构(几个隐层?隐层神经元个数多少?)多少?)为尽可能避免训练时出现“过拟合”现象,保证足够高的网络性能和泛化能力,确定隐层节点数的最基本原则是:在满足精度要求的前提下取尽可能紧凑的结构,即取尽可能少的隐层节点数。 在确定隐层节点数时必须满足下列条件:(1)隐层节点数必须小于N-1(其中N为训练样本数),否则,网络模型的系统误差与训练样本的特性无关而趋于零,即建立

20、的网络模型没有泛化能力,也没有任何实用价值。同理可推得:输入层的节点数(变量数)必须小于N-1。(2) 训练样本数必须多于网络模型的连接权数,一般为210倍,否则,样本必须分成几部分并采用“轮流训练”的方法才可能得到可靠的神经网络模型。 两种确定隐含层节点数的方法v1. ,其中 为隐含层节点数, 为输入层节点数, 为输出层节点数, 为 1, 10之间的常数;v2. ,其中 为隐含层节点数, 为输入层节点数;1nnma1nnma12lognn1nnv3.设置网络参数设置网络参数v1)设置设置初始连接权值初始连接权值 BP算法决定了误差函数一般存在多个局部极小点,算法决定了误差函数一般存在多个局部

21、极小点,不同的网络初始权值直接决定了不同的网络初始权值直接决定了BP算法收敛于哪算法收敛于哪个局部极小点或是全局极小点。因此,要求计算个局部极小点或是全局极小点。因此,要求计算程序必须能够自由改变网络初始连接权值程序必须能够自由改变网络初始连接权值.v由于由于Sigmoid转换函数的特性,一般要求初始权转换函数的特性,一般要求初始权值分布在值分布在-0.50.5之间比较有效之间比较有效.v2)设置设置BP(改进)算法的参数(改进)算法的参数应用最广的带动量的梯度下降法或是LM算法为避免陷入局部极小值,学习率和动量系数的选择一般要求:学习率通常在0.010.8之间;动量系数通常在01之间,而且一

22、般比学习率要大。4.网络训练网络训练v目的是什么?怎么实现的?目的是什么?怎么实现的?vBP网络的训练就是通过应用误差反传原理不断调整网络权值使网络模型输出值与已知的训练样本输出值之间的误差平方和达到最小或小于某一期望值。vBP算法是局部优化算法,容易陷入局部极小点,找不到最优值。(梯度下降法等)v在给定有限个(训练)样本的情况下,如何设计一个合理的BP网络模型并通过向所给的有限个样本的学习(训练)来满意地逼近样本所蕴含的规律(函数关系)的问题,经验很重要“艺术创造的过程”v5.仿真并分析网络模型的泛化能力仿真并分析网络模型的泛化能力v 训练神经网络的首要和根本任务是确保训练好的网络模型对非训

23、练样本具有好的泛化能力(推广性),即有效逼近样本蕴含的内在规律,而不是看网络模型对训练样本的拟合能力。v 因此,仅给出训练样本误差大小而不给出非训练样本(检验样本、测试样本)误差大小是没有任何意义的。2、程序实现、程序实现MATLAB神经网络工具箱的应用神经网络工具箱的应用(Neural Networks Toolbox for Matlab)BP网络函数网络函数数据归一化mapminmax; mapstd使用格式:Y,PS = mapminmax(X);Y,PS = mapminmax(X,FP);Y = mapminmax(apply,X,PS);X = mapminmax(reverse

24、,Y,PS) ;用实例来讲解,测试数据 x1 = 1 2 4; y,ps = mapminmax(x1);y = -1.0000 -0.3333 1.0000;ps = name: mapminmax xrows: 1 xmax: 4 xmin: 1 xrange: 3 yrows: 1 ymax: 1 ymin: -1 yrange: 2创建BP网络newffnet=newff(P,T,S1 S2 S(N-1),TF1 TF2TFN,BTF,BLF,PF,IPF,OPF,DDF)其中,P,T为由每组输入元素的最大值和最小值组成的R2维的矩阵; 为第i层的长度,共计N-1层; 为第i层的传递函

25、数,默认为“transig”;BTF为BP网络的训练函数,默认为“trainlm”;BLF为权值和阈值的BP学习算法,默认为“learngdm”;PF为网络的性能函数,默认为“mse”;IPF为行输入的处理单元矩阵,默认为“fixunknows”,“removeconstantrows”,“mapminmax”;OPF为行输出的处理单元矩阵,默认为“removeconstantrows”或“mapminmax”;DDF为函数的定义,其默认为“dividerand”。iSiTF初始化init仿真 sim;训练算法trainlm(速度快,需存储空间大)学习规则learngdm网络训练trainv例

26、:例:BP算法实现的简单例子(采用算法实现的简单例子(采用LM算法训练)算法训练)v% 定义训练样本定义训练样本 P=-1, -2, 3, 1; -1, 1, 5, -3; % P 为输入矢量为输入矢量 T=-1, -1, 1, 1; % T 为输出(目标)矢量为输出(目标)矢量 v% 定义检验样本定义检验样本Pn=1 2;4 3;%输入输入Tn=-1 1;%输出输出v% 创建一个新的前向神经网络创建一个新的前向神经网络 net=newff(minmax(P),3,1,tansig,purelin,trainlm);v% 设置训练参数设置训练参数 net.trainParam.show = 5

27、0; %两次显示之间的训练步数两次显示之间的训练步数net.trainParam.lr = 0.05; %训练速率或者学习率训练速率或者学习率net.trainParam.mc = 0.9; %动量因子动量因子net.trainParam.epochs = 100; %训练次数,最大值为训练次数,最大值为100net.trainParam.goal = 0.1;%训练目标,默认为训练目标,默认为0v% 调用调用 TRAINLM 算法训练算法训练 BP 网络网络 net,tr=train(net,P,T); v% 仿真仿真,分析网络的性能(逼近能力)分析网络的性能(逼近能力)A = sim(ne

28、t,P); % 计算仿真误差计算仿真误差 (训练样本的训练样本的)E = T - A ;MSE = mse(E); %训练样本的误差训练样本的误差 An=sim(net,Pn); %对检验样本仿真对检验样本仿真En = Tn - An;MSEn = mse(En); %检验样本的误差检验样本的误差err=MSE MSEn%对比训练样本的误差和检验样对比训练样本的误差和检验样本的误差本的误差v% 显示网络的权值和阈值显示网络的权值和阈值 inputWeights=net.IW1,1 ; % 当前输入层权值当前输入层权值inputbias=net.b1 ; % 当前输入层阈值当前输入层阈值 lay

29、erWeights=net.LW2,1; % 当前隐含层权值当前隐含层权值 layerbias=net.b2 % 当前隐含层阈值当前隐含层阈值v% 图形可视化显示结果图形可视化显示结果X=1 2 3 4 5 6;T=T Tn;A=A Tn-En;plot(X,T,r-,X,A,b-o); 结果(1) err=MSE MSEn= 0.0002 0.0576inputWeights = -0.1900 -1.2924 -1.7664 0.5561 0.8433 -1.0786inputbias = 2.9940 0.3951 2.6200layerWeights = 0.0188 -1.0473

30、-0.0728layerbias =0.0112结果(2) err=MSE MSEn= 0.0304 2.0068inputWeights = -0.5619 1.5524 -0.4331 -1.1875 -0.4367 -0.0635inputbias = 1.6300 1.0987 -2.7565layerWeights =-0.9905 -1.1043 -0.8624layerbias = 0.0296利用利用BP网络预测公路运量问题网络预测公路运量问题1.问题的描述问题的描述 公路运量主要包括公路的公路运量主要包括公路的客运量客运量和公路和公路货运货运量量两个方面。据研究,某地区的公路

31、运量主两个方面。据研究,某地区的公路运量主要与要与该地区的人数该地区的人数、机动车数量和公路面积机动车数量和公路面积有关,表有关,表1给出了给出了20年得公路运量相关数据,年得公路运量相关数据,表中单位分别为万人表中单位分别为万人/万辆万辆/万平方千米万平方千米/万吨万吨/万人。万人。v根据有关部门数据,该地区根据有关部门数据,该地区2010年和年和2011年的人年的人数分别为数分别为73.39和和75.55万人,机动车数量分别为万人,机动车数量分别为3.9635和和4.0975万辆,公路面积将分别为万辆,公路面积将分别为0.9880和和1.0268万平方米。万平方米。v请利用请利用BP神经网

32、络预测该地区神经网络预测该地区2010年年2011年得年得公路客运量和公路货运量。公路客运量和公路货运量。 某地区20年公路运量数据 年份 人口数量 机动车数量 公路面积 公路客运量 公路货运量1990 20.55 0.6 0.09 5126 12371991 22.44 0.75 0.11 6217 13791992 25.37 0.85 0.11 7730 13851993 27.13 0.90 0.14 9145 13991994 29.45 1.05 0.20 10460 16631995 30.1 1.35 0.23 11387 17141996 30.96 1.45 0.23 12

33、353 1834 1997 34.06 1.60 0.32 15750 43221998 36.42 1.70 0.32 18304 81321999 38.09 1.85 0.34 19836 89362000 39.13 2.15 0.36 21024 11099年份 人口数量 机动车数量 公路面积 公路客运量 公路货运量2001 39.99 2.20 0.36 19490 112032002 41.93 2.25 0.38 20433 105242003 44.59 2.35 0.49 22598 111152004 47.30 2.50 0.56 25107 133202005 52.

34、89 2.60 0.59 33442 167622006 55.73 2.70 0.59 36836 186732007 56.76 2.85 0.67 40548 207242008 59.17 2.95 0.69 42927 208032009 60.63 3.10 0.79 43462 21804v2.BP网络求解过程网络求解过程v为了了解利用为了了解利用BP网络求解问题的过程,可把网络求解问题的过程,可把问题分为成以下步骤:问题分为成以下步骤:1)原始数据的输入;)原始数据的输入;2)数据归一化;数据归一化;3)网络建立以及训练;)网络建立以及训练;4)对原始数据进行仿真;对原始数据进

35、行仿真;5)将原始数据仿真的)将原始数据仿真的结果与已知样本进行对比;结果与已知样本进行对比;6)对新数据进行)对新数据进行仿真。仿真。v在进行归一化处理时和把仿真的到的数据还在进行归一化处理时和把仿真的到的数据还原为原始数据的数量级时,在下面的程序中,原为原始数据的数量级时,在下面的程序中,都是利用系统函数进行的。都是利用系统函数进行的。v下面是每个程序块的具体程序,并在程序中下面是每个程序块的具体程序,并在程序中添加注释添加注释(1)原始数据的输入,具体程序为:sqrts=20.55 22.44 25.37 27.13 29.45 30.10 30.96 34.06 36.42 38.09

36、 39.13 39.99 41.93 44.59 47.30 52.89 55.73 56.76 59.17 60.63;%人数(单位:万人)sqjdcs=0.6 0.75 0.85 0.91 1.05 1.35 1.45 1.6 1.7 1.85 2.15 2.2 2.25 2.35 2.5 2.6 2.7 2.85 2.95 3.1;%机动车数(单位:万辆)sqglmj=0.09 0.11 0.11 0.14 0.20 0.23 0.23 0.32 0.32 0.34 0.36 0.36 0.38 0.49 0.56 0.59 0.59 0.67 0.69 0.79;%公路面积glkyl=

37、5126 6217 7730 9145 10460 11387 12353 15750 18304 19836 21024 19490 20433 22598 25107 33442 36836 40548 42927 43462%公路客运量glhyl=1237 1379 1385 1399 1663 1714 1834 4322 8132 8936 11099 11203 10524 11115 13320 16762 18673 20724 20803 21804;%公路货运量p=sqrts;sqjdcs;sqglmj;%输入数据矩阵t=glkyl;glhyl;%目标数据矩阵(2)对输入数

38、据矩阵和目标矩阵的数据进行归一化处理,具体程序如下为%利用函数premnmx对数据进行归一化处理pn,minp,maxp,tn,mint,maxt=premnmx(p,t);%对输入矩阵p和t进行归一化处理dx=-1 1;-1 1;-1 1;%归一化处理后最小值为-1 ,最大值为1(3)利用处理好的数据对网络进行训练,具体程序%BP网络训练net=newff(dx,3,7 2,tansig,tansig,purelin,traindx);net.trainParam.show=1000;net.trainParam.lr=0.05;net.trainParam.goal=0.65*103;ne

39、t.trainParam.epochs=50000;net,tr=train(net,pn,tn);(4)利用训练好的BP网络对原始数据进行仿真,具体程序如下:an=sim(net,pn);a=postmnmax(an,mint,maxt)%把仿真得到的数据还原为原始的数量级(5)用原始数据仿真的结果与已知数据进行对比x=1990:2009;newk=a(1,:);newh=a(2,:);figure(2);subplot(2,1,1);plot(x,neewk,r-o,xglkyl,b-+);legendxlabeltitlesubplot(2,1,2);plot(x,newh,r-o,x,glhyl,b-+);(6)利用训练好的BP网络对新数据进行仿真,具体程序如下:pnew=7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论