0388.基于遗传算法的水资源系统建模方法.docx

0388.基于遗传算法的水资源系统建模方法.docx
仅供个人学习
反馈
标准编号:
文件类型:docx
资源大小:0.3 M
标准类别:建筑工业标准
资源ID:394856
下载资源

标准规范下载简介

0388.基于遗传算法的水资源系统建模方法.docx

Yi = G(Xi ) ( i=1,2 ,…,k ) (3.11)

BP 神经网络是通过对简单的非线性函数(例如 sigmoid 函数)的复合来实现这一映 射的,只要经过少数几次复合,就可得到极复杂的函数,从而可以模拟现实世界的复杂 现象。在式(3.11)中,X 是 n 维向量,Y 是 m 维向量。由于对 m 和 n 的大小没有什么限制, 使得许多实际问题都可化成用 BP 神经网络来解决,诸如模式识别、预测、控制、图象 处理、函数拟合等问题。BP 神经网络的这种函数拟合功能,就是它在水资源系统工程中 应用的理论依据。

当信号输入到神经网络时,首先传到隐层节点,经过网络作用函数转换后,再把隐 层节点的输出信号传播到输出层节点,经过处理后给出输出结果。节点的作用函数屋面分项工程质量技术交底卡,通 常选用 Sigmoid 型函数,如式(3.9)所示。

图 3.4 给出了反传学习算法原理图。在这种网络中,学习过程由正向传播和反向传 播组成。在正向传播过程中,输入信号从输入层经隐层单元逐层处理,并传向输出层, 每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出, 则转入反向传播,将输出信号的误差沿原来的连接通路返回。通过修改各层神经元的权 值和阈值,使得网络全局误差信号最小。

权值修正 阈值修正

h i

图 3.4 BP 算法原理示意图

下面进一步以图 3.3 所示的三层 BP 神经网络为例,详细单样本点的 BP 算法的

实现过程[174,177]。

设输入神经元为 h,隐层神经元为 i,输出神经元为 j,nh,ni,nj 分别为三层的节 点数目,θ i 、θj 分别为隐层节点 i、输出层节点 j 的阈值,whi 、wij 分别为输入层节点 h 与隐层节点 i 间、稳层节点 i 与输出层节点j 间的接线的权值,各节点的输入为 x ,输出 为y 。BP 算法如下:

步骤 1:初始化。设已归一化的输入、输出样本为

{ xk,h,dk,j | k=1,2,…,nk;h=1,2,…,nh;j=1,2,…,nj;} (3.12)

步骤 2:置 k=1,把样本对(xk,h,dk,j )提供给网络(h=1,2,…,nh;j=1,2,…,nj)。 步骤 3:计算隐层各节点的输入 xi 、输出 yi(i=1,2,…,ni)

xi = whi .xk ,h + θi

yi = 1/(1+ e一xi )

步骤 4:计算输出层各节点的输入 xj 、输出 yj(j=1,2,…,nj)

xj = wij . yi + θj

yj = 1/(1+ e一xj )

步骤 5:计算输出层各节点所收到的总输入变化时单样本点误差 Ek 的变化率

= yj (1 一 yj )(yj 一 dk ,j ) (j=1,2,…,nj)

步骤 6:计算隐层各节点所收到的总输入变化时单样本点误差的变化率

= yi (1 一 yi ) . wij (i=1,2,…,ni)

步骤 7:修正各连接的权值和阈值

wijt +1 = wijt 一 η yi +a(w 一 w一1 )

θj = θ j 一 ηδxj +a(θj 一 θ j )

whit +1 = whit 一η xk ,h + C(wi 一 w1 ) (3.21)

θit +1 = θti 一 η + C(θit 一 θt 一1i ) (3.22)

式中,t 为修正次数,学习速率ηE(0,1) ,动量因子C E(0,1) 。η较大,则算法收敛快, 但不稳定,可能出现振荡, η较小则算法收敛缓慢; C 的作用恰好与η相反。

步骤 8:置 k=k+1,取学习模式对(xk,h ,dk,j )提供给网络,转步骤 3,直至全部 nk 个 模式对训练完毕,转步骤 9。

步骤 9:重复步骤 2 至步骤 8,直至网络全局误差函数

E = Ek = (yj 一 dk ,j )2 / 2

k=1 k=1 j =1

小于预先设定的一个较小值或学习次数大于预先设定的值,结束学习。

在以上学习步骤中,步骤 3~步骤 4 为输入学习模式的“正向传播过程”; 步骤 5~ 步骤 7 为网络误差的“反向传播过程”;步骤 8~步骤 9 则完成训练和收敛过程,参见图 3.5。

图 3.5 BP 算法程序框图

可见 BP 算法把一组样本的输入输出问题归纳为一非线性优化问题,它使用了最优 化方法中最常用的负梯度下降算法。用迭代运算求解网络权重和阈值对应于网络的学习 记忆过程,加入隐层节点使得优化问题的可调参数增加,从而可得到更精确的解。

3.2.3 基于遗传算法的水资源系统人工神经网络建模方法[24,110]

BP 算法为 BP 神经网络提供了切实可行的学习算法,它使 BP 神经网络走向实际应 用成为可能,这是 BP 算法的巨大贡献; 而且 BP 算法理论依据坚实,推导过程严谨,所 得公式形式对称优美,物理概念清晰(误差的反向传播)和通用性好。所有这些优点使 它至今仍是 BP 网络学习的主要算法。然而,BP 算法也存在许多明显的不足之处,主要 有:①它的学习速度慢;②由于网络误差平方和函数可能有局部极小点出现,BP 算法本 质上是一种梯度法,因此不可避免存在局部极小值问题,由此也影响了网络的容错性能。 加速BP 算法的训练速度的典型的方法是用传统优化技术来修正BP 算法或其中的学习参 数,例如用梯度法与共轭梯度法相结合的联合梯度法训练网络。梯度法的前几步收敛速 度快,而接近极小点时收敛速度慢,而一般网络全局误差函数在极小点附近的性态近似 于二次函数,共轭梯度法正是利用了二次正定函数的性质而导出的,其收敛较快。因此, 在网络训练早期用梯度法,当接近极小点时改用共轭梯度法,从而加速训练。显然,这 种方法仍不可避免地存在局部极小问题,另外,何时启用共轭梯度法具有经验性。

张铃等[179]指出 BP 算法的这些缺点是算法本身固有的,并建议从以下几个方面来研 究新的学习算法:①新算法必须从全局观点来考察整个学习过程,必须将网络的某个性 能的优劣作为新算法追求的目标之一进行考虑;②为了避免局部极小点的产生,新算法 需有全局优化能力。这暗示着,作为全局优化的一种通用方法,加速遗传算法(AGA)与 BP 网络的结合具有必然的联系。这里,我们提出在 BP 算法训练网络出现收敛速度缓慢 时启用 AGA 来优化此时的网络参数,把 AGA 的优化结果作为 BP 算法的初始值再用 BP 算法训练网络,如此交替运行 BP 算法和 AGA ,就可望能加快网络的收敛速度,同时在

3.2.3.1 用于优化 BP 网络参数的加速遗传算法[110]

对图 3.3 所示的 BP 网络,它的参数包括 whi,wij,θ i 和θj ,所谓 BP 网络的参数优 化问题是指估计这些参数,使式(3.23)网络全局误差函数极小化。用于优化 BP 网络参数 的加速遗传算法包括如下 9 个步骤。

步骤 1:BP 网络的参数变化区间的构造。设 cj 是在 BP 算法训练网络出现收敛速度 缓慢时 BP 网络的参数值,则它的变化区间可构造为[aj ,bj],其中

式中, d 为一正的常数。

步骤 3:初始父代的生成。从上述(2e)p 个网格点中随机选取 n 个点作为初始父代。

步骤 4:父代个体的适应能力评价。把第 i 个个体代入式(3.23)优化准则函数得相应 的网络全局误差函数值 Ei GB/T 41670-2022标准下载,Ei 越小则该个体的适应能力越强。

步骤 5:父代个体的选择。把父代个体按优化准则函数值 Ei 从小到大排序。称排序 后最前面几个个体为优秀个体。构造与Ei 成反比的函数pi 且满足pi>0 和p1+p2+…+pn=1, 从这些父代个体中以概率pi 选择第 i 个个体,这样共选择两组各 n 个个体。

步骤 6:父代个体的杂交。由步骤 5 得到的两组个体随机两两配对成为 n 对双亲。 将每对双亲的二进制数的任意一段值互换,得到两组子代个体。

步骤 7:子代个体的变异。任取步骤 6 中的一组子代个体,将它们的二进制数的随 机两位值依某概率(即变异率)进行翻转(原值为 0 的变为 1,反之变为 0)。

步骤 8:进化迭代。由步骤 7 得到的 n 个子代个体作为新的父代T/SCJC-P02-2021标准下载,算法转入步骤 4, 进入下一次进化过程。以上 8 个步骤构成优化 BP 网络参数的标准遗传算法 SGA。

步骤 9:加速循环。把第一、第二次进化迭代所产生的优秀个体的参数的变化范围 作为参数新的变化区间,算法转入步骤 2。如此循环往复,优秀个体的参数变化范围将 逐步收缩,与最优点的距离越来越近,直至达到给定加速(循环)次数,结束运行。

以上 9 个步骤构成用于优化 BP 网络参数的加速遗传算法,简称 ANNAGA。 3.2.3.2 应用实例

©版权声明
相关文章