自适应BP算法及其在河道洪水预报上的应用

自适应BP算法及其在河道洪水预报上的应用
自适应BP算法及其在河道洪水预报上的应用

自适应BP 算法及其在河道洪水预报上的应用

Ξ

覃光华,丁 晶,刘国东

(四川大学水电学院,四川成都 610065)摘要:提出一种改进的BP 算法,即自适应BP 算法。该方法采用两种策略:一是在权重修改公

式中加动量项;二是学习率随总误差的变化作自适应调整,亦即总误差增加时,学习率将减小,

反之学习率增大。以上两种策略能有效的抑制网络陷于局部极小并缩短了学习时间。实例研究

表明,该算法用于河道洪水的预报,能取得令人满意的结果。

关 键 词:神经网络;自适应BP 算法;洪水预报

中图分类号:P 33;T V 21314 文献标识码:A 文章编号:100126791(2002)0120037205

洪水预报的基本依据是大量的水文、气象、地质等实测资料,由于受众多因素的影响,其变化极其复杂。因此研究该类问题不宜采用单一的数学或物理模型,而应将其视为一个开放的复杂巨系统,采用综合集成的方法。

人工神经网络(ANN )技术模仿人类大脑的结构和功能,具有联想和对模糊或随机信息的识别与处理能力。它的运用对象主要有以下特点:不确定性、高度的非线性、信息类型的复杂图1 多层BP 网络结构图 Fig 11S tructure of multilayer BP netw ork

性。基于以上原因,人工神经网络在水文预报上的应用已发展成

一门新兴的技术。国内外的专家学者在这方面做了大量的工作。

实践证明,人工神经网络强大的非线性特点和容错能力,使一些

用其他方法难以获得理想效果的预报问题成为可能。人工神经网

络的形式很多,其中以BP 算法为基础的前馈型神经网络是应用

最广泛的一种网络。以下介绍BP 网络的基本结构以及自适应BP

网络的算法。

1 BP 网络模型

111 基本BP 网络结构BP 网络是一个单向传播的多层前馈网络,其结构如图1所示。

BP 网络包含输入层、隐含层、输出层。同层节点之间不连接,每层节点的输出只影响下一层节点的输入。BP 算法的基本思想是:整个网络的学习由输入信号的正向传播和误差的逆

第13卷第1期

2002年1月 水科学进展ADVANCES I N W ATER SCIE NCE V ol 113,N o 11 Jan 1,2002 Ξ收稿日期:2001206211;修订日期:2001208206

基金项目:国家自然科学基金重大项目(50099620)资助

作者简介:覃光华(1975-),女,重庆市梁平人,四川大学在读博士生,主要从事水文预报研究。

向传播两个过程组成。正向传播过程是指样本信号由输入层输入,经网络的权重、阈值和神经元的转移函数作用后,从输出层输出。如果输出值与期望值之间的误差大于规定量,则进行修正,转入误差反传播阶段,即误差通过隐层向输入层逐层返回,并将误差按“梯度下降”原则“分摊”给各层神经元,从而获得各层神经元的误差信号,作为修改权重的依据。以上两过程是反复多次进行的。权重不断修改的过程,也就是网络的训练过程。此循环一直进行到网络的输出误差减小到允许值或到达设定的训练次数为止。其具体计算不再累述[6]。以下仅给出权重的修改式:

w ″kl (n 0+1)=w ″kl (n 0)+η

6p p 1=1δp 1kl x ″p 1k w ′jk (n 0+1)=w ′jk (n 0)+η

6p p 1=1δp 1jk x ′

p 1j w ij (n 0+1)=w ij (n 0)+η

6p p 1=1δp 1ij x p 1

j (1)式中 δp 1sq (sq 为ij 、jk 、kl )为各层的误差;p 1为第p 1个样本;η为步长,又叫学习率;n 0是指第n 0次训练。标准的BP 算法其学习步长η是不变的。由于BP 网络的逼近误差曲面的梯度变化是不均匀的,如果采用固定步长,当η较小时,在误差曲面较平坦的区域,收敛较慢;当η较大时,又容易在误差曲面的峡谷区域引起振荡。自适应BP 算法就是针对以上缺陷提出来的一种改进算法。

112 自适应BP 算法

BP 算法的改进方案很多,其中有两种方法是变步长算法和加动量项法。本文提出的自适应算法是基于以上两种改进方法的综合。在加动量项的同时,让学习率作自适应调整。具体做法如下:

对式(1)分别加上一个动量项,如下:

w ″kl (n 0+1)=w ″kl (n 0)+η(n 0)

6p p 1=1δp 1kl x ″p 1k +αΔw ″kl (n 0)w ′jk (n 0+1)=w ′jk (n 0)+η(n 0)

6p p 1=1δp 1jk x ′p 1j +αΔw ′jk

(n 0)w ij (n 0+1)=w ij (n 0)+η(n 0)

6p p 1=1δp 1ij x p 1j +αΔw ij (n 0

)

(2)式中 

α是动量因子,增加的Δw sq (n 0)是记忆上一时刻权的修改方向。步长η的初值对以后的迭代计算影响很小,本文取η(0)为1,其它的值根据迭代误差的改变量按以下方法计算:

η(n 0)=φη(n 0-1) φ>1 当ΔE <0(3)

η(n 0)=βη(n 0-1) β<1 当ΔE >0

(4)式中 

φ、β为常数,其中:ΔE =E 总(n 0)-E 总(n 0-1)

(5)E 总=126p p 1=16m l =1(t p 1l -y p 1l )

2(6)式中 p 为样本总数;m 为输出层神经元个数。作了以上改进后,当总误差减小时,即Δ<0,

83水科学进展第13卷

迭代进入误差曲面平坦区,给学习率乘上一个大于1的数,增加了步长,有利于减少迭代次数;而当总误差增大时,即ΔE >0,迭代进入误差曲面变化急剧的地方,此时给学习率乘以一个小于1的数,有利于缩短步长,使误差减小。这样学习率总是随着总误差的增减而改变。2 自适应BP 算法的应用实例

211 洪水预报自适应BP 模型的构造

图2 三层BP 网络结构图 Fig 12S tructure of three 2layer BP netw ork 传统的洪水预报方法根据天然河道洪水波的运动原

理,分析洪水波在运动过程中,波的任一相位由上游站

传播到下游站的相应值以及传播时间的变化规律,寻求

其经验关系,以此进行洪水预报。人工神径网络对信息

的分布式存储、并行处理以及自学习的特点,决定了它

具有对模糊或随机信息的识别与处理的能力。网络的训

练学习过程,就是网络认知事物内在规律的过程。

以长江宜昌站1980-1985年6年的日平均流量资料

构造训练样本。用宜昌站1986年的日平均流量资料作为检验样本。模型采用三层BP 网络,模型结构经试算为3-4-1,即输入层神经元个数为3个,分别是x t -1,

x t -2,x t -3;隐含层神经元的个数为4个;输出层神经元为1个,即x t 。x t 是宜昌站日平均流量,显然该模型的预见期为1日。传统的洪水预报方法大都寻求的是输入、输出变量之间的线性关系,即使处理非线性问题,也常采用分段线性化的方法。而人工神经网络通过转换函数

(也叫传递函数),直接寻求输入、输出变量之间的非线性关系,后者在理论上而言更适合洪水的运动特性。

212 自适应BP 算法计算结果

经计算本文提出的自适应BP 算法训练结果和原BP 算法的对比如下。表中合格率是指相对误差小于10%的输出点的个数占总输出点个数的百分比。由表1各比较项分析可知,自适应BP 算法不仅在训练精度上优于原BP 算法,而且缩短了训练时间。

表1 两种BP 算法训练误差评定指标

T able 1T est rating of training errors betw een tw o kinds BP algorithms

比较项目

自适应BP 算法原BP 算法洪峰相对误差/%

516812平均相对误差/%

41685118最大相对误差/%

4413648152平均绝对误差/(m 3?s -1)

730855最大绝对误差/(m 3?s -1)

1151012118合格率/%

91108814误差为0112的训练次数1540033200

采用以上自适应BP 网络训练的权值,用宜昌站1986年的日平均流量资料进行检验,其检验效果见图3,误差比较见表2。检验结果表明,自适应BP 算法较原BP 算法具有更高的预报精度。尤其对洪峰的预报有较大的提高。这一点对实际的作业预报有很大的意义。

93 第1期覃光华等:自适应BP 算法及其在河道洪水预报上的应用

图3 自适应BP 算法预报效果图

Fig 13F orecasting chart of the self 2adaptive BP alg orithm

表2 两种BP 算法预报误差检验指标

T able 2T est rating of forecasting errors betw een tw o kinds BP algorithms

比较项目

自适应BP 算法原BP 算法洪峰相对误差/%

21983130平均相对误差/%

51435174最大相对误差/%

3310636128平均绝对误差/(m 3?s -1)

917970最大绝对误差/(m 3?s -1)85109848

3 小 结

通过本文研究,可得出以下几点结论:

(1)针对原BP 算法易振荡、收敛速度慢的缺点,本文提出的自适应BP 算法采用动量法和学习率自适应调整两种策略,有效地降低了网络对误差曲面局部细节的敏感性,抑制了网络陷于局部极小,而且提高了网络的学习速度。

(2)计算结果表明:自适应BP 算法的预报精度优于原BP 算法。

(3)研究表明:人工神经网络方法用于洪水预报是可行的。为了增长预见期和提高预报精度,将该方法与一些实时校正法,如卡尔曼滤波方法相结合,是下一步研究的重点。参考文献:

[1]杨荣富,丁 晶,刘国东1神经网络模拟降雨径流过程[J ]1水利学报,1998,(10):69-73.

[2]杨荣富,丁 晶,刘国东1具有水文基础的人工神经网络初探[J ]1水利学报,1998,(8):23-271

[3]张 翔,丁 晶1神经网络多变量洪水分类预报模型[A]1神经网络理论与应用研究’96[C]1成都:西南交

通大学出版,19951717-7201

[4]袁曾任1人工神经元网络及其应用[M]1北京:清华大学出版社,19991101

[5]冯国章,李佩成1人工神经网络结构对径流预报精度的影响分析[J ]1自然资源学报,1998113(2):169-

1741

[6]张立明1人工神经网络的模型及其应用[M]1上海:复旦大学出版社,1992191

[7]Smith J ,E li R N 1Neural 2netw ork m odels of rain fall 2runoff process[J ]1Journal of Water Res ources Planning and Manage 2

04水科学进展第13卷

ment ,1995,121(6):499-5081

[8]Raman H ,Sunilkuma N 1Multivariate m odeling of water res ources time series using artificial neural netw orks[J ]1Hydro 2

logical Sciences Journal ,1995,40(2):145-163.

River flow prediction using artificial neural netw orks :

self 2adaptive error back 2propagation algorithm

ΞQI N G uang 2hua ,DI NGJing ,LI U G uo 2dong

(Dept 1o f Hydraulic Eng 1,Sichuan Univ 1,Chengdu 610065,China )

Abstract :This paper presents a im proved error back 2propagation (BP )alg orithm ,which is named as self 2adaptive error BP alg orithm 1The method includes tw o strategies :one is adding m omentum term at the itera 2tive expressions of the weights ,the other is self 2adaptive adjustment of the learning rate according to the vari 2ety of the sum error 1Namely ,if the sum error increases ,the learning rate will decrease ,conversely ,the sum error decreases ,the learning rate will increases 1The learning rate is changed until the sum error has reached a satis factory level 1The im proved alg orithm can prevent the netw orks from getting in the part least and can shorten the study time 1The self 2adaptive error BP alg orithm was utilized for predicting river flow of Y angtse River at Y ichang station ,and satis factory results were acquired 1

K ey w ords :neural netw orks ;self 2adaptive error BP alg orithm ;flood forecasting

1

4 第1期覃光华等:自适应BP 算法及其在河道洪水预报上的应用ΞThe project is supported by National Natural Science Fund of China (N o.50099620).

BP神经网络预测的matlab代码

BP神经网络预测的matlab代码附录5: BP神经网络预测的matlab代码: P=[ 0 0.1386 0.2197 0.2773 0.3219 0.3584 0.3892 0.4159 0.4394 0.4605 0.4796 0.4970 0.5278 0.5545 0.5991 0.6089 0.6182 0.6271 0.6356 0.6438 0.6516

0.6592 0.6664 0.6735 0.7222 0.7275 0.7327 0.7378 0.7427 0.7475 0.7522 0.7568 0.7613 0.7657 0.7700] T=[0.4455 0.323 0.4116 0.3255 0.4486 0.2999 0.4926 0.2249 0.4893 0.2357 0.4866 0.2249 0.4819 0.2217 0.4997 0.2269 0.5027 0.217 0.5155 0.1918 0.5058 0.2395 0.4541 0.2408 0.4054 0.2701 0.3942 0.3316 0.2197 0.2963 0.5576 0.1061 0.4956 0.267 0.5126 0.2238 0.5314 0.2083 0.5191 0.208 0.5133 0.1848 0.5089 0.242 0.4812 0.2129 0.4927 0.287 0.4832 0.2742 0.5969 0.2403 0.5056 0.2173 0.5364 0.1994 0.5278 0.2015 0.5164 0.2239 0.4489 0.2404 0.4869 0.2963 0.4898 0.1987 0.5075 0.2917 0.4943 0.2902 ] threshold=[0 1] net=newff(threshold,[11,2],{'tansig','logsig'},'trainlm');

基于BP神经网络预测模型指南

基于BP神经网络的国际黄金价格预测模型 公文易文秘资源网顾孟钧张志和陈友2009-1-2 13:35:26我要投稿添加到百度搜藏 [摘要] 为了寻找国际黄金价格与道琼斯工业指数、美国消费者指数,国际黄金储备等因素之间的内在关系,本文对1972年~2006年间的各项数据首先进行归一化处理,利用MATLAB神经网络工具箱进行模拟训练,建立了基于BP神经网络的国际黄金价格预测模型 [摘要] 为了寻找国际黄金价格与道琼斯工业指数、美国消费者指数,国际黄金储备等因素之间的内在关系,本文对1972年~2006年间的各项数据首先进行归一化处理,利用MATLAB神经网络工具箱进行模拟训练,建立了基于BP神经网络的国际黄金价格预测模型。 [关键词] MATLAB BP神经网络预测模型数据归一化 一、引言 自20世纪70年代初以来的30多年里,世界黄金价格出现了令人瞠目的剧烈变动。20 世纪70年代初,每盎司黄金价格仅为30多美元。80年代初,黄金暴涨到每盎司近700美元。本世纪初,黄金价格处于每盎司270美元左右,此后逐年攀升,到2006年5月12日达到了26年高点,每盎司730美元,此后又暴跌,仅一个月时间内就下跌了约160美元,跌幅高达21.9%。最近两年,黄金价格一度冲高到每盎司900多美元。黄金价格起伏如此之大,本文根据国际黄金价格的影响因素,通过BP神经网络预测模型来预测长期黄金价格。 二、影响因素 刘曙光和胡再勇证实将观察期延长为1972年~2006年时,则影响黄金价格的主要因素扩展至包含道琼斯指数、美国消费者价格指数、美元名义有效汇率、美国联邦基金利率和世界黄金储备5个因素。本文利用此观点,根据1972年~2006年各因素的值来建立神经网络预测模型。 三、模型构建

BP神经网络实验 Matlab

计算智能实验报告 实验名称:BP神经网络算法实验 班级名称: 2010级软工三班 专业:软件工程 姓名:李XX 学号: XXXXXX2010090

一、实验目的 1)编程实现BP神经网络算法; 2)探究BP算法中学习因子算法收敛趋势、收敛速度之间的关系; 3)修改训练后BP神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果,理解神经网络分布存储等特点。 二、实验要求 按照下面的要求操作,然后分析不同操作后网络输出结果。 1)可修改学习因子 2)可任意指定隐单元层数 3)可任意指定输入层、隐含层、输出层的单元数 4)可指定最大允许误差ε 5)可输入学习样本(增加样本) 6)可存储训练后的网络各神经元之间的连接权值矩阵; 7)修改训练后的BP神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果。 三、实验原理 1 明确BP神经网络算法的基本思想如下: 在BPNN中,后向传播是一种学习算法,体现为BPNN的训练过程,该过程是需要教师指导的;前馈型网络是一种结构,体现为BPNN的网络构架 反向传播算法通过迭代处理的方式,不断地调整连接神经元的网络权重,使得最终输出结果和预期结果的误差最小 BPNN是一种典型的神经网络,广泛应用于各种分类系统,它也包括了训练和使用两个阶段。由于训练阶段是BPNN能够投入使用的基础和前提,而使用阶段本身是一个非常简单的过程,也就是给出输入,BPNN会根据已经训练好的参数进行运算,得到输出结果 2 明确BP神经网络算法步骤和流程如下: 1初始化网络权值 2由给定的输入输出模式对计算隐层、输出层各单元输出 3计算新的连接权及阀值, 4选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。

BP算法的改进

BP算法的改进 附加动量法 附加动量法使网络在修正其权值时,不仅考虑误差在梯度上的作用,而且考虑在误差曲面上变化趋势的影响。在没有附加动量的作用下,网络可能陷入浅的局部极小值,利用附加动量的作用有可能滑过这些极小值。 该方法是在反向传播法的基础上在每一个权值(或阈值)的变化上加上一项正比于前次权值(或阈值)变化量的值,并根据反向传播法来产生新的权值(或阈值)变化。 带有附加动量因子的权值和阈值调节公式为: 其中k为训练次数,mc为动量因子,一般取0.95左右。 附加动量法的实质是将最后一次权值(或阈值)变化的影响,通过一个动量因子来传递。当动量因子取值为零时,权值(或阈值)的变化仅是根据梯度下降法产生;当动量因子取值为1时,新的权值(或阈值)变化则是设置为最后一次权值(或阈值)的变化,而依梯度法产生的变化部分则被忽略掉了。以此方式,当增加了动量项后,促使权值的调节向着误差曲面 i将变得很小,于是,从而防止了的出现,有助于使网络从误差曲面的局部极小值中跳出。 根据附加动量法的设计原则,当修正的权值在误差中导致太大的增长结果时,新的权值应被取消而不被采用,并使动量作用停止下来,以使网络不进入较大误差曲面;当新的误差变化率对其旧值超过一个事先设定的最大误差变化率时,也得取消所计算的权值变化。其最大误差变化率可以是任何大于或等于1的值。典型的取值取1.04。所以,在进行附加动量法的训练程序设计时,必须加进条件判断以正确使用其权值修正公式。 训练程序设计中采用动量法的判断条件为: E(k)为第k步误差平方和。 V = net.iw{1,1}%输入层到中间层权值 theta1 = net.b{1}%中间层各神经元阈值 W = net.lw{2,1}%中间层到输出层权值 theta2 = net.b{2}%输出层各神经元阈值

用matlab编BP神经网络预测程序加一个优秀程序

求用matlab编BP神经网络预测程序 求一用matlab编的程序 P=[。。。];输入T=[。。。];输出 % 创建一个新的前向神经网络 net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm') % 当前输入层权值和阈值 inputWeights=net_1.IW{1,1} inputbias=net_1.b{1} % 当前网络层权值和阈值 layerWeights=net_1.LW{2,1} layerbias=net_1.b{2} % 设置训练参数 net_1.trainParam.show = 50; net_1.trainParam.lr = 0.05; net_1.trainParam.mc = 0.9; net_1.trainParam.epochs = 10000; net_1.trainParam.goal = 1e-3; % 调用TRAINGDM 算法训练BP 网络 [net_1,tr]=train(net_1,P,T); % 对BP 网络进行仿真 A = sim(net_1,P); % 计算仿真误差 E = T - A; MSE=mse(E) x=[。。。]';%测试 sim(net_1,x) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 不可能啊我2009 28对初学神经网络者的小提示

第二步:掌握如下算法: 2.最小均方误差,这个原理是下面提到的神经网络学习算法的理论核心,入门者要先看《高等数学》(高等教育出版社,同济大学版)第8章的第十节:“最小二乘法”。 3.在第2步的基础上看Hebb学习算法、SOM和K-近邻算法,上述算法都是在最小均方误差基础上的改进算法,参考书籍是《神经网络原理》(机械工业出版社,Simon Haykin著,中英文都有)、《人工神经网络与模拟进化计算》(清华大学出版社,阎平凡,张长水著)、《模式分类》(机械工业出版社,Richard O. Duda等著,中英文都有)、《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)。 4.ART(自适应谐振理论),该算法的最通俗易懂的读物就是《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)的第15和16章。若看理论分析较费劲可直接编程实现一下16.2.7节的ART1算法小节中的算法. 4.BP算法,初学者若对误差反传的分析过程理解吃力可先跳过理论分析和证明的内容,直接利用最后的学习规则编个小程序并测试,建议看《机器学习》(机械工业出版社,Tom M. Mitchell著,中英文都有)的第4章和《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)的第11章。 BP神经网络Matlab实例(1) 分类:Matlab实例 采用Matlab工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考Matlab帮助文档。 % 例1 采用动量梯度下降算法训练BP 网络。 % 训练样本定义如下: % 输入矢量为 % p =[-1 -2 3 1 % -1 1 5 -3] % 目标矢量为t = [-1 -1 1 1] close all clear clc % --------------------------------------------------------------- % NEWFF——生成一个新的前向神经网络,函数格式: % net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF) takes, % PR -- R x 2 matrix of min and max values for R input elements % (对于R维输入,PR是一个R x 2 的矩阵,每一行是相应输入的

BP神经网络matlab源程序代码

close all clear echo on clc % NEWFF——生成一个新的前向神经网络 % TRAIN——对 BP 神经网络进行训练 % SIM——对 BP 神经网络进行仿真 % 定义训练样本 % P为输入矢量 P=[0.7317 0.6790 0.5710 0.5673 0.5948;0.6790 0.5710 0.5673 0.5948 0.6292; ... 0.5710 0.5673 0.5948 0.6292 0.6488;0.5673 0.5948 0.6292 0.6488 0.6130; ... 0.5948 0.6292 0.6488 0.6130 0.5654; 0.6292 0.6488 0.6130 0.5654 0.5567; ... 0.6488 0.6130 0.5654 0.5567 0.5673;0.6130 0.5654 0.5567 0.5673 0.5976; ... 0.5654 0.5567 0.5673 0.5976 0.6269;0.5567 0.5673 0.5976 0.6269 0.6274; ... 0.5673 0.5976 0.6269 0.6274 0.6301;0.5976 0.6269 0.6274 0.6301 0.5803; ... 0.6269 0.6274 0.6301 0.5803 0.6668;0.6274 0.6301 0.5803 0.6668 0.6896; ... 0.6301 0.5803 0.6668 0.6896 0.7497]; % T为目标矢量 T=[0.6292 0.6488 0.6130 0.5654 0.5567 0.5673 0.5976 ... 0.6269 0.6274 0.6301 0.5803 0.6668 0.6896 0.7497 0.8094]; % Ptest为测试输入矢量 Ptest=[0.5803 0.6668 0.6896 0.7497 0.8094;0.6668 0.6896 0.7497 0.8094 0.8722; ... 0.6896 0.7497 0.8094 0.8722 0.9096]; % Ttest为测试目标矢量 Ttest=[0.8722 0.9096 1.0000]; % 创建一个新的前向神经网络 net=newff(minmax(P'),[12,1],{'logsig','purelin'},'traingdm'); % 设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 5000; net.trainParam.goal = 0.001; % 调用TRAINGDM算法训练 BP 网络 [net,tr]=train(net,P',T); % 对BP网络进行仿真 A=sim(net,P'); figure; plot((1993:2007),T,'-*',(1993:2007),A,'-o'); title('网络的实际输出和仿真输出结果,*为真实值,o为预测值'); xlabel('年份'); ylabel('客运量'); % 对BP网络进行测试 A1=sim(net,Ptest');

基于模糊自适应算法的航天器姿态控制

第23卷 第2期 2019年2月 电 机 与 控 制 学 报Electri c Machines and Control Vol .23No .2Feb .2019 基于模糊自适应算法的航天器姿态控制 周湛杰1, 王新生2, 王岩1 (1.哈尔滨工业大学航天学院,哈尔滨150001;2.哈尔滨工业大学(威海)信息与电气工程学院,山东威海264209)摘 要:在研究航天器飞行姿态控制问题上,为避免大范围跟踪时出现奇点情况,采用欧拉参数四元数来对刚体航天器的姿态进行描述。基于自适应控制算法设计航天器姿态稳定控制的控制器,将扰动力矩考虑到自适应控制率的设计过程中,并结合模糊算法进行参数的在线优化处理。利用李雅普诺夫稳定性理论证明控制系统的稳定性及在有限时间内的收敛性,该控制器的参数易于调节和实现,且由于没有对航天器的动力学方程进行线性化处理,故极大程度上保证了该控制系统的控制精确度。仿真结果表明,当存在外部干扰力矩和参数抖动情况时,所设计的姿态控制器具有良好的稳定性。 关键词:姿态控制;模糊;自适应;李雅普诺夫稳定性DOI :10.15938/j .emc .2019.02.016 中图分类号:TP 13文献标志码:A 文章编号:1007-449X (2019)02-0123-06 收稿日期:2017-09-30 基金项目:山东省自然科学基金(ZR 2017MEE 053) 作者简介:周湛杰(1990—),男,博士研究生,研究方向为航天器姿态控制;王新生(1970—),女,博士,副教授,研究方向为控制系统设计、电力电子系统建模与控制; 王 岩(1972—),男,博士,教授,研究方向为先进运动控制技术。 通信作者:王新生Spacecraft attitude control based on fuzzy adaptive algorithm ZHOU Zhan -jie 1, WANG Xin -sheng 2, WANG Yan 1(1.School of Astronautics ,Harbin Institute of Technology ,Harbin 150001,China ; 2.School of Information and Electrical Engineering ,Harbin Institute of Technology at Weihai ,Weihai 264209,China )Abstract :In order to avoid the singularity of the spacecraft during the large -scale tracking ,the attitude of the rigid body spacecraft is described by the Euler parameter and the quaternion ,and the spacecraft is designed based on the adaptive control algorithm .External interference torque was considered in the algo -rithm .Then controller parameter was optimized by fuzzy rules .The stability of the control system and the convergence in the finite time were proved by the Lyapunov stability theory .The controller parameter was easy to adjust and achieve ,and control accuracy of the control system was ensured to a large extent be -cause there was no linearization on the dynamic equations .The simulation results show that the designed attitude controller is stable and robust for external interference torque and parameter jitter .Keywords :attitude control ;fuzzy ;adaptive ;Lyapunov stability 0 引 言 卫星在轨飞行时会出现卫星姿态偏离稳定位置 或受到干扰力矩时发生姿态位置偏离状态,需要卫 星姿态控制系统进行调控。姿态控制系统是航天器分系统中一个非常重要的组成部分,也是实现航天器平台标准化的关键技术之一。随着航天任务的复杂化,对卫星的姿态稳定控制能力以及卫星的快速 万方数据

基于Bp神经网络的股票预测

基于神经网络的股票预测 【摘要】: 股票分析和预测是一个复杂的研究领域,本论文将股票技术分析理论与人工神经网络相结合,针对股票市场这一非线性系统,运用BP神经网络,研究基于历史数据分析的股票预测模型,同时,对单只股票短期收盘价格的预测进行深入的理论分析和实证研究。本文探讨了BP神经网络的模型与结构、BP算法的学习规则、权值和阈值等,构建了基于BP神经网络的股票短期预测模型,研究了神经网络的模式、泛化能力等问题。并且,利用搭建起的BP神经网络预测模型,采用多输入单输出、单隐含层的系统,用前五天的价格来预测第六天的价格。对于网络的训练,选用学习率可变的动量BP算法,同时,对网络结构进行了隐含层节点的优化,多次尝试,确定最为合理、可行的隐含层节点数,从而有效地解决了神经网络隐含层节点的选取问题。 【abstract] Stock analysis and forecasting is a complex field of study. The paper will make research on stock prediction model based on the analysis of historical data, using BP neural network and technical analysis theory. At the same time, making in-depth theoretical analysis and empirical studies on the short-term closing price forecasts of single stock. Secondly, making research on the model and structure of BP neural network, learning rules, weights of BP algorithm and so on, building a stock short-term forecasting model based on the BP neural network, related with the model of neural network and the ability of generalization. Moreover, using system of multiple-input single-output and single hidden layer, to forecast the sixth day price by BP neural network forecasting model structured. The network of training is chosen BP algorithm of traingdx, while making optimization on the node numbers of the hidden layer by several attempts. Thereby resolve effectively the problem of it. 【关键词】BP神经网络股票预测分析 1.引言 股票市场是一个不稳定的非线性动态变化的复杂系统,股价的变动受众多因素的影响。影响股价的因素可简单地分为两类,一类是公司基本面的因素,另一类是股票技术面的因素,虽然股票的价值是公司未来现金流的折现,由公司的基本面所决定,但是由于公司基本面的数据更新时间慢,且很多时候并不能客观反映公司的实际状况,采用适当数学模型就能在一定

基于模糊自适应脉宽调制的双反馈控制算法

第39卷第6期2017年12月 探测与控制学报Journal of Detection &Control Vol .39No .6Dec .2017 一?收稿日期:2017-07-24 作者简介:多丽(1992 ),女,内蒙古赤峰人,硕士研究生,研究方向:控制理论与控制工程三E -mail :1273962964@qq . com 三 基于模糊自适应脉宽调制的双反馈控制算法 多一丽1,刘义艳1,程绍峰2 (1.长安大学电子与控制工程学院, 陕西西安710064;2.哈尔滨建成集团有限公司, 黑龙江哈尔滨150030)摘一要:针对传统的双反馈控制对于系统控制有超调过大,跟随误差较大等问题,提出了一种模糊自适应脉宽 调制(Pulse Width Modulation ,PWM )控制的双反馈控制算法三该算法通过模糊自适应控制器与PWM 变换器相结合,对双反馈系统实现了高精度高鲁棒性的控制三仿真实验表明,模糊自适应PWM 的双反馈控制算法系统可更好地抑制超调以及具有更小的跟随误差三 关键词:双反馈控制;模糊自适应控制器;跟随误差;超调量 中图分类号:TP391.9一一一一文献标志码:A 一一一一文章编号:1008-1194(2017)06-0087-06 The Al g orithm of Double Feedback Control Based on Fuzz y Ada p tive PWM DUO Li 1,LIU Yi y an 1,CHENG Shaofen g 2 (1.Colle g e of Electronics and Control En g ineerin g ,Chan g an universit y ,Xi an 710064,China ; 2.Harbin Jian Chen g Bloc Limited Com p an y ,Harbin 150030,China ) Abstract :In order to solve the p roblem that the s y stem control overshoot and the follow error are too lar g e in traditional double feedback control al g orithm ,a double feedback control al g orithm of fuzz y ada p tive PWM con - trol was p ro p osed.Accordin g to the al g orithm ,the fuzz y ada p tive controller combined with PWM converter , the double feedback s y stem realized the hi g h p recision control of hi g h robustness.Simulation test showed that the fuzz y ada p tive PWM double feedback control s y stem could su pp ress overshoot and has small followin g error. Ke y words :double feedback control ;fuzz y ada p tive controller ;follow error ;overshoot amount 0一引言 进入新世纪,电力工业逐渐进入高速发展的新时代,对系统的控制在工业中扮演着重要的角色,稳定的系统控制在各种需要精确调节的工业部门中都有着极其重要的意义,比如航天二高精度生产线等三故可以看出,一种性能良好的控制系统对于工业发展等各个方面都有极大的作用三 控制系统的发展经历了若干发展阶段,其区分是依据控制原理不同,学术界一般认为开环控制系统是第一代控制系统三文献[1]将开环控制系统利用在尿素计量脉谱实验当中,阐述了根据开环控制系统来建模并验证其脉谱精度方法三由于开环系统不具有反馈环节,这就产生了明显的劣势,由于反馈的缺失,使得系统的性能如抑制干扰能力比较差,而且机械可调性也比较差三随后在吸收了开环的缺点后第二代采用单反馈控制系统,这种控制方式与开环系统相比具有较好的提升效果,在响应速度以及抑制干扰能力上都有着明显的提升三正如文献[2]二文献[3]所阐述的,该方法将反馈控制系统用在电机上,利用转速信号进行反馈,控制反馈电压与转速三 这种控制方法虽然很好地解决了开环控制的一些显著缺点,但由于在单反馈控制下,系统仍然存在系统不易稳定等问题三因此在后来的发展中,学术界更加倾向于使用第三代控制,在第三代控制中提倡的是利用双反馈控制系统来提高稳定性能三文献[4]阐述了利用双反馈系统来提高单反馈控制系统的控制性能三采用这种改进的方法,可以解决第二代中的一些缺点,使其动态性能优于前者,但其超调过大万方数据

升级版智能车快速转弯的模糊自适应PID控制算法[

升级版智能车快速转弯的模糊自适应PID控制算法[ 摘要: 针对智能小车在转向尤其是急弯时陀螺仪传感器输出的瞬态信号变化很快,因自身结构和工艺限制而带来的信号测不全、抓不好的问题,设计了一种以STM32转弯控制芯片和FPGA为一次仪表特性改善单元控制核心的验证方法。测试结果表明,该系统在对转弯信号采集、放大后通过级联特性改善模块可以有效地改善传统转弯下的动态特性,提高急弯下对实时信号处理的精度。 0 引言 谷歌旗下波士顿动力公司最新发布的名为Handle的轮式机器人能力拔高到新的高度,事实上这种智慧型机器人搭载了多种诸如传感采集模块、环境探测以及人机交互模块等。路况不一样造成不同弯道的曲率不同,如何在急转弯的情况下保持精准的感知与采存处理一直是研究的焦点所在[1]。 智能小车的转弯控制是一个复杂的控制过程,要建立相应的数学模型,单单选用经典的PID算法不够精准,很难做到精确测量和估计。因此,本文提出在传递函数后面串联一个动态测试修正模块[2-4]。 1 智能车弯道设计背景 智能车要想在急转弯路况下继续保持稳定、快速、安全的行驶,主要体现小车在运动控制上是否可以即时地进行监测和反馈。由于被测小车所处周边的环境复杂多变,采光条件、路面温度、自身结构产生的相对运动差以及摩擦系数都会引起智能车所带来的参数变动和毛刺现象甚至是检测盲区[5-6]。考虑到小车单方面在转弯控制下定制控制策略会使整体运行过程的稳定性、及时性出现偏差以至于冲出跑道,针对复杂多变的环境,综合得出一个合理控制策略补偿模块,使小车在弯道环境下既能保持采集的信号可靠、稳定,又能快速、高效、准确地在弯道上进行调姿与控制[7]。 2 系统硬件

模糊自适应PID控制器

模糊自适应PID控制器 的设计

模糊自适应PID 控制器的设计 一、 模糊自适应原理 模糊控制是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机控制方法,作为智能控制的一个重要分支,在控制领域获得了广泛应用,模糊控制与传统控制方式相比具有以下突出优点: ·不需要精确的被控对象的数学模型; ·使用自然语言方法,控制方法易于掌握; ·鲁棒性好,能够较大范围的适应参数变化; ·与常规PID 控制相比,动态响应品质优良。 常规模糊控制器的原理如图1所示: 图1 模糊控制系统框图 PID 控制规律: 1 01()[()()()] p D I d u t k e t e t dt T e t T dt =++? 式中:p k ---比例系数; I T ---积分时间常数; D T ---微分时间常数。 在工业生产中过程中,许多被控对象随着负荷变化或干扰因素影响,其对象特性参数或结构发生改变。自适应控制运用现代控制理论在线辨识对象特征参 数,实时改变其控制策略,使控制系统品质指标保持在最佳范围内,但其控制效果的好坏取决于辨识模型的精确度,这对于复杂系统是非常困难的。因此,在工业生产中过程中,大量采用的仍然是PID 算法,PID 参数的整定方法很多,但大多数都以对象特性为基础。 随着计算机技术的以展,人们利用人工智能的方法将操作人员的调整经验作为知识存入计算机中,根据现场实际情况,计算机能自动调整PID 参数,这样就出现了智能PID.这种控制器把古典的PID 控制与先进的专家系统相结合,实现系统的最佳控制。这种控制必须精确地确定模型,首先将操作人员长期实践积累

自适应模糊控制几个基本问题的研究进展

自适应模糊控制几个基本问题的研究进展 谢振华程江涛耿昌茂 (海军航空工程学院青岛分院航空军械系青岛 266041 ) 周德云 (西北工业大学西安 710072 ) [摘要] 综述了模糊控制系统的稳定性分析、系统设计及系统性能提高三个基本问题的研究 ,简述了应用研究 ,最后对自适应模糊控制的理论和应用进行了展望。 关键词模糊控制自适应控制鲁棒性稳定性 1 引言 自从 L. A. Zadeh提出模糊集合论以来 ,基于该理论形成一门新的模糊系统理论学科 ,在控制、信号处理、模式识别、通信等领域得到了广泛的应用。近年来 ,有关模糊控制理论及应用研究引起了学术界的极大兴趣 ,取得了一系列成功的应用和理论成果 ,与早期的模糊控制理论和应用相比有了很大的发展。模糊控制理论成为智能控制理论的一个重要分支。 一般来讲 ,模糊控制理论研究的核心问题在于如何解决模糊控制中关于稳定性和鲁棒性分析、系统的设计方法 (包括规则的获取和优化、隶属函数的选取等 )、控制系统的性能 (稳态精度、抖动及积分饱和度等 )的提高等问题 ,这己成为模糊控制研究中的几个公认的基本问题。其中 ,稳定性和鲁棒性问题的研究最为热烈 ,从早期基于模糊控制器的“多值继电器”等价模型的描述函数分析法 ,扩展到相平面法、关系矩阵分析法、圆判据、L yapunov稳定性理论、超稳定理论、基于滑模控制器的比较法、模糊穴 -穴映射及数值稳定性分析方法等非线性理论方法。设计方法的研究也倍受关注 ,主要表现在对规则的在线学习和优化、隶属函数参数的优化修正等应用了多种思想 ,如最优控制的二次型性能指标、自适应、神经网络、遗传算法等思想。稳态性能的改善一直是模糊控制学者所关注。 围绕上述几个基本问题 ,出现了多变量模糊控制[1 ,2 ] 、模糊神经网络技术 [3 ] 、神经模糊技术 [4 ] 、自适应模糊控制 [5] 、模糊系统辨识[6 ] 等热点研究领域。在模糊控制理论与应用方面 ,日本学者取得了很大的成就[7] ,我国学者在这方面也付出了不懈的努力 ,并取得了许多重要的成果。所有这些工作促进了模糊控制的理论和应用的快速发展。 本文拟对近几年自适应模糊控制几个基本问题的研究现状作一总结 ,希望能从这一侧面反映其研究情况和发展动向。主要内容包括 :( 1 )稳定性分析问题的研究 ;( 2 )系统设计方法的研究 ;( 3)系统性能提高的研 究 ;( 4 )应用研究情况。 2 稳定性分析 众所周知 ,任何一个自动控制系统 ,首先必须是稳定的 ,否则这个系统就无法工作。因此 ,在控制系统的分析和设计中 ,系统的稳定性研究占有重要的地位 ,模糊控制系统也是如此。由于模糊系统本质上的非线性和缺乏统一的系统描述 ,使得人们难以利用现有的控制理论和分析方法对模糊控制系统进行分析和

BP神经网络matlab实例

神经网络Matlab p=p1';t=t1'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %原始数据归一化net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx');%设置网络,建立相应的BP网络 net.trainParam.show=2000; % 训练网络 net.trainParam.lr=0.01; net.trainParam.epochs=100000; net.trainParam.goal=1e-5; [net,tr]=train(net ,pn,tn); %调用TRAINGDM算法训练BP网络 pnew=pnew1'; pnewn=tramnmx(pnew,minp,maxp); anewn=sim(net,pnewn); %对BP网络进行仿真 anew=postmnmx(anewn,mint,maxt); %还原数据 y=anew'; 1、BP网络构建 (1)生成BP网络 = net newff PR S S SNl TF TF TFNl BTF BLF PF (,[1 2...],{ 1 2...},,,) R?维矩阵。 PR:由R维的输入样本最小最大值构成的2

S S SNl:各层的神经元个数。 [1 2...] TF TF TFNl:各层的神经元传递函数。 { 1 2...} BTF:训练用函数的名称。 (2)网络训练 = [,,,,,] (,,,,,,) net tr Y E Pf Af train net P T Pi Ai VV TV (3)网络仿真 = [,,,,] (,,,,) Y Pf Af E perf sim net P Pi Ai T {'tansig','purelin'},'trainrp' BP网络的训练函数 训练方法训练函数 梯度下降法traingd 有动量的梯度下降法traingdm 自适应lr梯度下降法traingda 自适应lr动量梯度下降法traingdx 弹性梯度下降法trainrp Fletcher-Reeves共轭梯度法traincgf Ploak-Ribiere共轭梯度法traincgp Powell-Beale共轭梯度法traincgb 量化共轭梯度法trainscg 拟牛顿算法trainbfg 一步正割算法trainoss Levenberg-Marquardt trainlm

BP神经网络的预测理论的及程序 学习

12、智能算法 12.1 人工神经网络 1、人工神经网络的原理假如我们只知道一些输入和相应的输出,但是不清楚这些输入和输出之间的具体关系是什么,我们可以把输入和输出之间的未知过程看成是一个“网络”,通过不断的网络输入和相应的输出进行“训练”(学习),网络根据输入和对应输出不断调整连接网络的权值,直到满足我们的目标要求,这样就训练好了一个神经网络,当我们给定一个输入, 网络就会计算出一个相应的输出。 2、网络结构神经网络一般有一个输入层,多个隐层,和一个输出层。隐层并非越多越好。如下图所示: 神经网络工具箱几乎 MATLAB 12.2 Matlab 神经网络工具箱 BP 网络和涵盖了所有的神经网络的基本常用模型,如感知器、nntool nftool,nctool,nprtool,nntraintool 和等。它由RBFNN 函数逼近和数据拟合、信息处理和预测、神经网组成。主要应用于

在实际应用中,针对具体的问题,首先络控制和故障诊断等领域。.需要分析利用神经网络来解决问题的性质,然后依据问题的特点,提取训练和测试数据样本,确定网络模型,最后通过对网络进行训练、仿真等检验网络的性能是否满足要求。具体过程如下: (1)确定信息表达的方式,主要包括数据样本已知;数据样本之间相互关系不明确;输入/输出模式为连续的或离散的;数据样本的预处理;将数据样本分成训练样本和测试样本。 (2)网络模型的确定。确定选择何种神经网络以及网络层数。 (3)网络参数的选择,如输入输出神经元个数的确定,隐层神经元的个数等。 (4)训练模式的确定,包括选择合理的训练算法、确定合适的训练步数、指定适当的训练目标误差等 (5)网络测试,选择合理的样本对网络进行测试。 简单来讲就是三个步骤:建立网络(newXX)—训练网络(trainXX)—仿真网络(sim) 12.3 BP 神经网络的 Matlab 相关函数 BP 算法的基本思想:学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望输出(教师信号)不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号作为修正各单元权

BP算法及BP改进算法

智能算法应用平台设计说明书

目录 1神经网络BP算法 (3) 2 神经网络BP改进算法 (4)

1神经网络BP算法{ TC "12 神经网络BP算法" \f C \l "1" } 神经元网络专家系统由开发环境和运行环境两部分组成(见图12-1)。开发环境由3部分组成:①确定系统框架;②学习样本;③神经元学习,通过样本学习得到知识库。运行环境实质上是一个专家系统,它由5部分组成:①实际问题参数;②输入模式的转换;③推理机;④知识库;⑤输出模式的转换。 输入输出模式转换是指神经元的输入与输出要求以(-∞,+∞)区间的数值形式表示。推理机是基于神经元的信息处理过程,包括神经元的输入和输出。知识库是由BP网络通过对样本的学习而得到的各神经元之间的连接权值,其学习过程如图12-2所示。 确定系统框架包括完成对神经元网络的拓扑结构设计、神经元作用函数和阈值选择。本文的神经元作用函数采用Sigmoid函数,阈值取为0.5。 图12-1 神经元网络专家系统结构图

图12-2 BP 网络学习框图 最好的分类图为PLS ,在此空间研究优化信息。使用PLS-BPN 用训练样本建模,输入元为PLS 计算出来的训练样本的得分, 输出元为熔剂量, 用留N 法交叉检验,确定网络结构为输入元5个、隐节点15个和输出节点1个。 2 神经网络BP 改进算法{ TC "1 3 神经网络BP 改进算法" \f C \l "1" } 本文所建模型采用含输入层、隐含层和输出层的三层网络。其结构如图13-1所示。 设有n 个样本、m 个变量、t 个目标量、r 个隐含层单元数,ij x 、ij x ?、il h 、ik y ? 、ik y (i =1, 2, …, n ;j =1, 2,…, m ; l =1, 2,…, r ; k =1, 2,…, t )为样本的输入变量、输入层输出值、隐含层的输出值、输出层输出值及目标量(或称期望值),pq w (pq =jl 或lk )、e ?(e =j , l ,或k )为网络连接权值。对样本采用进行批处理的方法进行网络训练,训练算法如下: 1)给权值随机赋一较小值;阈值j ?=0,l ?=ml w ,k ?=rk w ; 2)在已知n 个学习样本中,顺序取样本进行预处理后用于训练网络; 3)激励函数取Sigmod 函数,分别计算输入层输出值、隐含层和输出层的输出ij x ?、il h 、ik y ; 4)定义i mn λ(mn =lk 或者jl ,)分别为隐层误差和输出层误差,对已知样本的教师可得: )?1(?)?(ik ik ik ik i lk y y y y -??-=λ (13-1) ∑=-???= t k ij il lk i lk i jl x h w 0 )?1(λλ (13-2)

求用matlab编BP神经网络预测程序

求用编神经网络预测程序 求一用编的程序[。。。];输入[。。。];输出 创建一个新的前向神经网络((),[],{'',''},'') 当前输入层权值和阈值{} {} 当前网络层权值和阈值{} {} 设置训练参数 ; ; ; ; ; 调用算法训练网络[](); 对网络进行仿真 (); 计算仿真误差 ; () [。。。]'测试 () 不可能啊我 对初学神经网络者的小提示

第二步:掌握如下算法: .最小均方误差,这个原理是下面提到的神经网络学习算法的理论核心,入门者要先看《高等数学》(高等教育出版社,同济大学版)第章的第十节:“最小二乘法”。 .在第步的基础上看学习算法、和近邻算法,上述算法都是在最小均方误差基础上的改进算法,参考书籍是《神经网络原理》(机械工业出版社,著,中英文都有)、《人工神经网络与模拟进化计算》(清华大学出版社,阎平凡,张长水著)、《模式分类》(机械工业出版社, . 等著,中英文都有)、《神经网络设计》(机械工业出版社, . 等著,中英文都有)。 (自适应谐振理论),该算法的最通俗易懂的读物就是《神经网络设计》(机械工业出版社, . 等著,中英文都有)的第和章。若看理论分析较费劲可直接编程实现一下节的算法小节中的算法. 算法,初学者若对误差反传的分析过程理解吃力可先跳过理论分析和证明的内容,直接利用最后的学习规则编个小程序并测试,建议看《机器学习》(机械工业出版社, . 著,中英文都有)的第章和《神经网络设计》(机械工业出版社, . 等著,中英文都有)的第章。 神经网络实例() 分类:实例 采用工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考帮助文档。 例采用动量梯度下降算法训练网络。 训练样本定义如下: 输入矢量为 [ ] 目标矢量为[ ] ——生成一个新的前向神经网络,函数格式: (,[ ],{ }) , (对于维输入,是一个的矩阵,每一行是相应输入的边界值) 第层的维数 第层的传递函数, '' 反向传播网络的训练函数, '' 反向传播网络的权值阈值学习函数, ''

相关文档
最新文档