论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
摘要:应用visual basic 6.0编程技术,实现了人工神经网络bp算法的程序化,并建立了岳城水库洪水过程预报的反向传播神经网络模型,经检验,洪水预测精度较好,结果令人满意,为岳城水库的入库洪水预报及调度工作提供新的思路和依据。
关键词:人工神经网络 bp算法 vb程序 洪水预报
1.前言
人工神经网络(ann)又称连接机制模型(connection model)或并行分布处理模型(parallal distributed model)。作为人工智能的研究方法,目前已广泛应用于自然科学的各个领域,应用计算机程序来模拟这种特殊的数学模型并应用于实际流域的洪水预报研究中,无疑是一种新的尝试和有益探索。岳城水库是海河流域南运河水系漳河上的一座大型控制性工程,入库洪水突发性强,水猛多沙,为确保下游河北、河南、山东、天津广大平原地区和京广铁路的安全,对水库入库洪水进行精确预报,及时采取预泄和分洪措施显得极其重要,因此,用人工神经网络模型模拟预报水库的入库洪水过程,有重要参考和借鉴意义。
2.bp网络的构建
人工神经网络是一个高度复杂的非线性动力学系统,它有大量的简单处理单元(神经元)广泛连接而成,他对人脑的功能作了某种简化、抽象和模拟,具有很强的非线性映射能力,其中对多层前向神经网络bp模型的研究相对成熟,应用最为广泛,其模型结果如图:
结构中,输入层、隐层和输出层神经元的个数根据具体情况设定,其中隐层层数不一,不失一般性对输出层中只含有一个神经元的三层前向神经网络分析如下:假设输入层中有个神经元,隐层中有个神经元,输出层神经元的输出,即整个网络的输出为y,网络中输入层的输入分别为,,…,则隐层神经元的输入分别是:
(i=1,2,…m) (2.1)
在上式中,为隐层神经元i与输入层神经元j的连接权,为隐层神经元的阈值,选择函数作为隐层神经元的激发函数,则隐层神经元的输出为:
(i=1,2,…m) (2.2)
输出神经元的激发函数取为线性函数,输出层神经元的输出及整个网络的输出为:
(2.3)
其中,vi为输出层神经元与隐层神经元i的连接权。定义由、、组成的向量为网络的连接权向量(ij, i,i)。设有学习样本(,,…;)( =1,2…,p;p为样本数)。对某样本(,,…;)在给出网络向量后,可以通过公式(1.1)~(1.3)计算出网络的输出值,对于样本
定义网络的输出误差为: (2.4)
定义误差函数为: (2.5)
(ij, i,i)随机给出,计算式(2.5)定义的误差值较大,网络计算精度不高,在确定网络结构后,通过调整(ij, i,i)的值,以逐步降低误差,以提高网络的计算精度,下面给出根据误差信息调整(ij, i,i)的具体计算过程。
在反向传播算法中,是沿着误差函数随(ij, i,i)变化的负梯度方向对进行休整。设的修正值为: (2.6)
式中:为第n次迭代计算时连接权的修正值;为前一次迭代计算时计算所得的连接权修正值;为学习率,取0~1间的数;为动量因子,一般取接近1的数。将式(1.4)和(1.5)代入式(1.6)中,有 (2.7)
定义=(,,),则:
(2.8)
(2.9)
(2.10)
采用迭代式对修正计算,得到新的连接权向量。对于所有的学习样本均按照样本排列顺序进行上述计算过程,然后固定的值,对于p个样本分别进行正向计算,从而求出学习样本的能量函数值:
(2.11)
这样结束了一个轮次的迭代过程,当满足某一精度要求时,就停止迭代计算,所得(ij, i,i)即为最终模型参数,否则就要进行新一轮的计算。
3.bp算法的vb程序实现
因程序代码太多,不再给出。网络学习程序界面如下图2:
4.洪水预报网络模型构建
4.1资料收集
岳城水库的入库水文站为观台水文站,该站上游有清漳河匡门口水文站和浊漳河天桥段水文站,距观台分别为66km和64km。上游匡门口、天桥段与下游观台的区间流域面积为1488km2,见流域水系图3。资料采用年鉴1962、1976、1977、1988年四次洪水和相应年份的区间时段降雨量共118组调查数据作为模型的学习训练样本,另取1971年和1982年两次大洪水作为模型的检验数据。
4.2预报模型构建
网络模型采用输出层中有一个神经元的三层前向人工神经网络,洪水预报模型的输出节点为岳城水库的入库站观台水文站的时刻的流量,即网络。考虑河道洪水演进时间和区间流域的产汇流时间,分别取清漳河匡门口站和天桥断以及流域平均降雨量、作为模型的输入节点值;隐层神经元节点数和输入层节点数相同取为4。
模型参数优化:计算中,学习率越大,学习速度会越快,但是过大时会引起振荡效应;动量因子取得过大可能导致发散,过小则收敛速度太慢。据有关文献介绍,取,算法收敛速度较快。本次计算取,;网络中的初始值取(0.1~0.1)之间的随机数(由vb程序产生)。
样本的归一化处理:为了有效利用型函数的特性,以保证网络神经元的非线性作用,对于数值型的学习样本要进行归一化处理。对样本(p=1,2,…p)定义,,归一化处理计算就是按照公式:
(4.1)
将样本转化为0~1之间的数据。对于网络的输出数据还应进行还原计算恢复实际值,公式为:
(4.2)
使用vb程序对网络模型进行训练学习,经102135次学习后,网络输出能量函数值为3.2×10-3,此时得到模型最优参数如表1。
表1 模型参数表
共2页: 1
论文出处(作者):