第39卷第16期 20 0 8年8月 文章编号:1001—4179{2008)16—0011—03 人 民 长 江 Yangtze River Vo1.39,No.;1 6 AI .,2008 人工神经网络优化模型在洪水预报中的应用 杨志刚 ,2 汪春文 魏博文 (1.南昌大学建筑工程学院,江西南昌33(}029;2.河海大学水电工程学院,江苏南京210098; 3.长沙市政 工程公司,湖南长沙410007) 摘要:应用人工神经网络技术,采用动量法和学习率自适应的改进算法,并对组成网络结构的各影响因素进行 分析,通过试算法得到网络模型的优化参数,该优化模型能够有效提高训练速度和学习效率。结合鄱阳湖洪水 历史资料,构建了鄱阳湖洪水预报模型,分析结果表明该模型操作过程相对简便易行,精度较高。对BP网络模 型结构及其算法,鄱阳湖洪水预测优化网络模型的建立及其实际适用情况作了简要介绍。 关键词:人工神经网络;动量法;洪水预报;鄱阳湖 文献标识码:A 中图分类号:P338 1概述 近些年来,作为一门新兴的交叉学科,对人工神经网络( . tiifcial Neural Net—work—ANN)…的研究取得了显著的进展。 因子对应于BP网络输入层的一个节点,将分类和识别问题的 结果作为BP网络的输出,输入层和输出层节点数目依问题的 性质而定。当BP网络的结构确定以后,用该网络对样本系列进 行监督学习,从而识别出模式与影响因子之间的复杂非线性映 射关系。 采用反向传播学习算法,Bpt 将训练模式输入至输出层,并 ANN是一个非线性数学结构,能够描述任意复杂的非线性过 程,其中应用最广泛的是BP网络,尽管神经网络方法_2 在建模 中不存在具有物理意义的模型结构和模型参数,但它只需输入 传至后面的隐含层,通过连接权向后传递,直至得到整个网络的 输出。网络中每个神经元通过求输入权值和与经非线性兴奋传 递的函数结果来工作,其数学描述如下: out;=,(netf)=f( W Outf+0;) 奋阚值;W 为连接权值。 得到输出值后,将其与相应训练模式的目标值进行比较,按 预先定义的网络误差函数求出误差值。如果该误差值小于容许 值,则训练完成,否则误差按梯度下降法调整网络连接权值: Aw = On (2) 和输出数据而不需模型结构假设,而且网络经过训练和学习,其 各节点上权重系数实际上已经隐含着我们尚不能明了的参数和 模型结果。BP网络以其良好的非线性函数或泛函能力以及其 自组织、自适应性能和容错性等特点为非线性系统的建模、识别 (1) 和预测提供了一条有效的新途径。BP网络也具有较强的局限 性,如网络的训练存在局部极小问题,影响网络的泛化性能,同 时隐层数及隐层节点个数的难以确定、收敛速度较慢;BP网络 式中net 和0 分别为隐含层或输出层神经元的刺激输入值和兴 还存在对初值的依赖性,对洪水预报由于训练样本的局限,导 致对洪水的预报精度往往较低  ̄6_。本文采用基于动量法和学 习率自适应的改进算法,同时通过试算得到网络训练优化参数, 能够有效克服经典BP模型收敛速度慢、运行效率低的缺陷,并 式中叩为学习速率; 为第£层神经元 的误差信号;0 为第£ 一将优化BP网络模型应用到鄱阳湖洪水预测中。 1层神经元,的输出。将Aw 作用于网络的连接权反复迭代, 2 BP网络模型结构及其算法 人工神经网络以历史资料为样本,采用网络学习算法,利用 直至网络误差小于容许值。训练完成。 3鄱阳湖洪水预测优化网络模型的建立 鄱阳湖_8 是长江流域最大的通江湖泊,与长江在洪水关系 网络的自学习和联想记忆能力对历史资料进行学习,达到识别 未知量及其影响因子之间复杂的非线性关系。 BP网络结构由一个输入层、一个或多个隐层、一个输出层 上十分密切,处于复杂的江湖系统中。不仅长江干流洪水对鄱 阳湖的出流有顶托影响,有时还会有倒灌,鄱阳湖水位很大程度 上受长江水位的影响。同时鄱阳湖承纳江西省境内的赣江、抚 河、修河、饶河、信江5大河流的来水,其水位显然也受5大河流 组成。其基本方法是:首先分析出影响分类和识别问题的“影响 因子”或“特征值”,并将其作为BP网络的输入样本,每一个影响 收稿日期:2008一o5一o5 基金项目:国家自然科学基金资助项目(10702019) 作者简介:杨志刚,男,南昌大学建筑工程学院水利工程系,讲师;河海大学水电工程学院,博士研究生。 维普资讯 http://www.cqvip.com 12 人 民 长 江 2008钲 的水位的影响 5条河流和长江的水位是决定鄱阳湖水位演变 方向的关键因素,全年汛期主要集中在6~8月,是洪水形成的 关键期,容易造成上、中、下游洪水遭遇,5条河流和长江的水位 升高必然导致鄱阳湖的水位抬高,从而造成鄱阳湖地区洪水灾 情加剧。因此,可以采样五河和长江的6—8月份这段时期的平 均水位作为输入样本,对应鄱阳湖的该年6~8月份的平均水位 作为输出样本。同时把当年鄱阳湖全年平均水位(湖口站)超过 17.20 m看成洪水年,将鄱阳湖洪水历年序列作为训练样本,利 用神经网络模型对鄱阳湖未来洪水年进行预测。 3.1输入与输出样本的确定 网络训练首先是输入和输出样本的选取,样本因子是模型 的关键环节,包括以下3个方面: 3.1.1样本特征 样本特征应该能够很好地反映模型的基本特征,不仅在训 练区具有代表性,而且在预测区内具有普适性。既要考虑演变 预测普遍性,义要考虑特殊情况的影响。宜选择输入与输出值 相关性大的变量。 鄱阳湖洪水大小可以用6—8月份的平均水位来表达,因此 在鄱阳湖洪水预报的BP网络模型中,可以采取长江(九江站)、 五河(赣江外洲站、抚河李家渡站、信江梅港站、饶河的渡峰坑站 及修河的万家埠站)的全年平均水位共6个样本因子作为输入 样本,同时选定鄱阳湖(湖F1站)全年平均水位1个样本因子作 为输出层的样本。 3.1.2样本数目 样本过少可能使网络表达不充分,过多可能出现样本冗余, 同时也增加网络训练负担,导致可能因包含信息过剩而使网络 出现过拟合现象。 训练样本采用的数据是鄱阳湖历年全年平均数据(1953 1999年),共抽取47组样本进行训练。验证采用的数据是具有 代表性的鄱阳湖典型洪水年(1954、1955、1962、1969、1973、1983、 1996、1998、1999年)的6—8月份的平均水位,共抽取10组样本 进行检验。 3.1.3样本归一化 样本因子的获取及其规范化处理:由于各影响因子的指标 互不相同,样本数据各影响因子数量级相差很大,为了便于计 算,防止部分神经元达到过饱和状态,进行归一化处理,使之介 于Eo,1]区间,实质就是自变量的无量纲化,绝对误差小,精度 高。 训练前,首先需对原始数据进行规范化处理,以获得样本因 子。样本输入归一化公式为: ; :上 ‘ Y×d +di…一Yimi ‘ : (3) 式中d1=0.9;d2=(1一d )/2;Y 为样本初始值。 3.2隐含层结构的确定 3.2.1 隐含层的数量确定 由于BP神经网络对非线性映射的逼近较为稳定,其中3层 前馈神经网络能以任意精度逼近任何连续的输入输出映射。因 此,运用人工神经网络建立洪水预报模型。以五河和长江的全 年平均水位作为输入变量,鄱阳湖的全年平均水位作为输出变 量,建立3层BP网络。 3.2.2隐层单元数的确定 网络存在一个最佳隐层的单元数问题,隐层单元数太少, 难以满足收敛条件;隐层单元数过多,网络失去概括能力。最 佳隐层的单元数随问题的复杂性增加而增加,或随训练样本的 线性相关系数减小而增加。本文采用试算法,首先给定较小初 始隐层单元数,构成一个结构较小的BP网络进行训练。如果 训练次数很多或者在规定的训练次数内没有满足收敛条件,则 停止训练,逐渐增加隐层单元数,以形成新的网络,重新训练。 最后确定隐藏层,取6个节点(单元数)。 3.2.3激活函数 对应输入层,由于序列重构后的嵌入维6,有6个输入样本 对应隐藏层的6个节点,对于非线性明显的响应,取激活函数为 tansig型函数,能够得到较好的模拟 。同样,针对输出层样本 数为1,对应的隐藏层的1个节点,其激活函数可以取线性函数 purelin。 3.3优化模型参数的确定 对于一般BP网络trainbp,由于其收敛速度慢,可采用启发 式学习方法或更有效的优化方法。而改进快速算法trainbpx,采 用动量法和学习率自适应调整策略,提高学习速度并增加算法 的可靠性。 同时对网络模型参数的设定,本文主要通过试算法来确定 模型的优化参数。首先假定初始值进行训练,如果训练速度缓 慢、次数很多或者在规定的训练次数内没有满足收敛条件,则 停止训练,采用改变训练参数的方法,根据参数对网络模型的 影响规律逐步增减参数数值,形成新的网络,重新训练,最终确 定BP网络最佳拓扑结构和模型参数。 3.3.1动量因子 动量法可以降低网络对于误差曲线局部细节的敏感性,有 效地抑制网络陷于局部极小,即在一种简单的快速下降静态寻 优算法的基础上进行修正,考虑以前积累的经验而加入的动量 项: W(k+1)=W(k)+。[(1一 )D(k)+ (k一1)](4) j 式中W(k)为单个权值;D(k)= 为k的负梯度,实质上 n, 相当于增加了阻尼项,可以减小学习过程的振荡趋势,从而改善 收敛性。通过试算,本模型的动量因子取值为:77=0.8。 3.3.2学习率 学习率过小,收敛太慢,学习率过大,可能修正过头,导致振 荡甚至发散。自适应学习速率是先给一个初值,然后利用乘法 使之增加或减小,考虑误差在梯度上的影响及在误差曲面卜变 化趋势的作用来修正网络权值以保持学习效率快而稳定。通过 试算,本模型的学习率取值为:。=0.03。 3.3.3训练次数 BP网络的训练判据为训练次数,即网络训练次数达到时就 结束训练。训练时所用的优化算法,采用的是共扼梯度反向传 播算法。该算法是利用误差函数梯度来构造共扼梯度方向,以 使误差下降最快,它具有结构简单,计算量小,储存量小且构造 方便等优点。这样,改进BP算法可以找到更优解,同时可以缩 短训练时间。一般而言,训练次数越大,网络均方差越小,但随 着训练次数增大效果越不明显。通过试算,本模型训练次数取 18 000次 维普资讯 http://www.cqvip.com 第16期 杨志刚等:人工神经网络优化模型在洪水预报中的应用 13 4鄱阳湖洪水预报 根据鄱阳湖历年全年洪水资料,通过神经网络优化模型,定 量地分析各种来水情况下鄱阳湖水位和流量变化情况,掌握其 自然规律,同时可以在任何来水情况下,预测湖区将至水位,以 做好洪水预报工作,并以此来指导圩区水土资源利用和生态环 模型预测同时受样本性质影响,只要样本选择得当,由优化网络 结构参数模型预测精度得以提高。与其他评价方法比较,能够 减少评价过程中的主观人为因素,并且具有联想推理的能力,可 比性强,便于进行定量的数学分析。同时,也使整个鄱阳湖洪水 预报模型的训练速度和计算效率较高,操作方便,快捷可行。 表2鄱阳湖大洪水灾年预报结果 境保护的设计。通过来水流量对湖区水位在涨洪、落洪情况下 的作用影响,可以分析比较湖泊与河流水位流量关系的区别,研 究鄱阳湖、长江及其他水位关系,可以直观地了解鄱阳湖在各种 来水情况下的水情,做好洪水预报,在洪水来时,更好地进行防 洪救灾工作,使人民的生命财产损失降到最低。 根据原始资料,先对其进行规范化处理,再作为学习样本模 式,分别对历年(1953~1999年)全年长江、五河的水位以及鄱阳 湖水位关系BP网络进行训练。网络反向检验误差分析结果见 表1,训练结果见图1。 表1鄱阳湖主要洪水年水位训练结果 23 22 2I {20 —19 ・一实测值 +预测值 18 l 7 16 1 5 序列 图1水位预报结果 为了对下一次洪水灾害年份及灾情进行预测,抽取了鄱阳 湖近80 a洪水发生间隔时间(以年为单位)作为样本,用人工神 经网模型进行训练,预测出下一个相邻灾年年份以及对应的洪 峰水位。预测下一个相邻灾年年份序号为69.946,四舍五入取 整70,从1931年算起第70年,即2010年为下一次洪水年份,模 型预测对应的水位为20.79 m。预报结果及网络反向检验误差 分析结果见表2。 5结果与分析 从以上结果可以看出,本文建立的鄱阳湖洪水预报优化神 经网络模型误差均被控制在10%以内,整体拟合精度和收敛性 较好。分析表明,作为一种高度输人输出的非线性映射,通过动 量法和学习自适应,实现了鄱阳湖水文水资源预测模型,不需建 立演变模型的数学方程,具有稳定自适应性和学习功能。整个 参考文献: [1]张立明.人工神经网络的模型及其应用.上海:复旦大学出版社, 1993. [2]搂顺天.施阳,基于MATLAB的系统分析与设计.西安:西安电子科 技大学出版社,1999. [3 J Raman H and Sunilkumar N.Multivariate moaelins of water H 0Ilrces time series using artiifcial neural networks.Hydrological Sciences Journal,1995, 4o(2):145—163. [4]Yu Paoshan,Cehn Chiajung,Chen Shiannjong,IAn Shuchen.Application of greymodeltoward runoffforecasting.Journal ofTheAmericanWaterRe- sourc ̄Association,2001,37(1):151—166. [5]MaierHR,DandyGC. e Use 0f artiifcila neural networksforthe predi- cation of water quality parameters.Water Resources,1996,32(4). [6] 葛守西.现代洪水预报技术.北京:中国水利水电出版社,1999. [7] 李宗坤等.误差反向传播神经网络模型的改进及其应用.水利学 报,2003,(7). [8]朱宏富,金峰,李荣.鄱阳湖调蓄功能与防灾综合治理研究.北京: 气象出版社,2OO2. [9] 闵骞.鄱阳湖洪水位频率变化的计算与分析.水文,2OO4,24(4). (编辑:赵秋云)
因篇幅问题不能全部显示,请点此查看更多更全内容