式中:E为网络输出误差,P代表第P个样本,j为输出单元数,tjp为单元期望输出,Ojp为单元的实际输出,(tjp-Ojp)2输出层第j个神经元在模式P作用下的实际输出和期望输出之差的平方。
1.2 BP算法存在的问题 BP算法的基本形式为[3]:
式中:W(k)为时刻的权值;α为学习率;
(k)为k时刻的负梯度。
用三层BP网络可以任意逼近任何连续函数,但是它主要存在如下缺点:(1) 从数学上看,它可归结为一非线性的梯度优化问题,因此不可避免地存在局部极小问题;(2) 学习算法的收敛速度慢,通常需要上千次或更多;(3) 络结构为前向结构,没有反馈连接,因此它是一非线性映射系统。
1.3 BP算法的改进(ABPM算法)由于BP算法存在以上的缺陷,因而用BP网络训练网络时常常会出现收敛慢、振荡和陷入局部极小等问题。因此,采用引入动量项的自适应变步长来调整学习率的改进算法(即ABPM算法)。
自适应变步长算法和常规BP算法的主要区别在于学习步长λ随误差曲面的变化而进行调整。由于BP网络的逼近误差曲面的梯度变化是不均匀的,即
(k)在不同的位置大小不同。如果采用固定的步长λ,当λ较小时,在误差曲面较平坦的区域,收敛较慢;当步长λ较大时,又会在峡谷区域引起振荡。自适应变步长算法正是针对步长的缺陷提出来的。这种算法是以进化论中的进退法为理论基础的,即连续两次观测训练的误差值,如果误差下降则增大学习率,误差的反弹在一定的范围内,则保持步长,误差的反弹超过一定限度则减小学习率。
学习率的调整可用如下公式进行描述。
|
W(k+1)=W(k)+α(k)[1-ηD(k)+ηD(k-1)] |
(3) |
其中:α(k)=2λα(k-1);λ=sign[D(k)D(k-1)]。式中:(k)为k时刻的 学习率,它是(k-1)时刻学习率的函数。η是动量因子,用来抑制振荡。
确定好网络结构和训练算法后,就可以利用输入输山样本对网络进行训练,即按照式(3)对网络权值进行调整,当达到期望的输出时训练即告完成,否则继续调整权值。
2 水质评价的ABPM模型
对于水质综合评价的ABPM神经网络来说,其训练样本即为水质分级标准,网络训练完成后,将网络对分级标准学习的知识和有关信息保存下来,然后输入待评价样本资料得到有关评价结论的信息,从而根据一定的规则作出有关评价结论的判断。
2.1 输入层神经元数和输入模式向量 设有需分级评价的水质样本n个,对每个样本,本文取如下7项污染指标监测 值:溶解氧(DO)、五日生化需氧量(BOD5)、挥发酚、氰化物(CN-)、汞(Hg)、砷(As)、六价镉(Cr+6)等,国家行业规范规定,根据相应于这7项污染指标下的水质标准浓度将水质划分为5个等级。
由于取7项污染指标数,即取每一份水样有7项污染指标监测值,因而输入层神经元的节点数为7。若某一流域需监测断面m个(现每一断面取一份水样),则网络的输 入模式向量为:
|
Xk=(x1,x2,…,x7), k=1,2,…,m |
(4) |
式中:m为学习样本个数。
2.2 隐层和隐层神经元数的确定 水质评价是一个非线性关系较为复杂的问题,考虑到既满足精度要求,又要尽可能减少学习费用,一个隐含层足够了。下面主要确定隐单元个数。
采用“试错法”确定隐层单元数。首先给定较小初始隐单元数,构成一个结构较小的BP网络进行训练。如果训练次数很多或者在规定的训练次数内没有满足收敛条件,停止训练,逐渐增加隐单元数形成新的网络重新训练。作为算例,对文献[4]的数据,分别采用BP、ABPM网络训练方法,经过50次试验获得训练最大次数和最小次数与隐单元的关系如表1。其中初始权值和阈值是用Matlab中rand()函数产生均匀分布随机数矩阵,控制误差(一般根据实际情况而定)暂定为0.0001
表1 网络的训练次数与隐单元数的关系 (表中INF代表无穷多次)
|
| 隐单元数 |
4 |
6 |
8 |
10 |
12 |
15 |
|
|
|
|
|
|
| 最小 |
最大 |
最小 |
最大 |
最小 |
最大 |
最小 |
最大 |
最小 |
最大 |
最小 |
最大 |
| 次数 |
次数 |
次数 |
次数 |
次数 |
次数 |
次数 |
次数 |
次数 |
次数 |
次数 |
次数 |
|
| BP网络 |
8700 |
INF |
6860 |
INF |
3600 |
26500 |
2680 |
21000 |
2200 |
16200 |
1580 |
8180 |
| ABPM网络 |
103 |
INF |
138 |
5589 |
93 |
3982 |
85 |
3120 |
218 |
2114 |
140 |
2368 |
|

由表1可以看出,当隐含单元数小于8时,网络易陷入局部极小,难以达到所要求的精度(表1中表示为TNF);当隐含单元数为8~12时,训练次数明显减少,再增加隐含单元数对训练次数影响不大。由此可以看出,选取隐单元数的最佳值为8~12。
2.3 水质评价的神经网络模型 针对水质综合评价是个非线性关系较为复杂的问题,笔者建立了一个含有7个输入神经元节点、10个隐含神经元节点和5个输出神经元节点的人工神经网络,如图1所示。
2.4 学习样本和期望输出 对于水质综合评价的RBF神经网络来说,其训练样本即为地面水质分级标准。表1为国家地面水环境质量标准(GHZB1—1999),因而也为RBF网络的训练样本。对每一类水质,期望输出值见表1所示。
表1 地表水环境质量标准浓度值和网络希望输出值
|
| 污染指标 |
溶解氧 |
生化需氧量 |
挥发酚 |
氰化物 |
汞(Hg) |
砷(As) |
六价铬 |
希望输出值 |
|
| Ⅰ类 |
9.0 |
2.0 |
0.001 |
0.005 |
0.00005 |
0.05 |
0.01 |
1 0 0 0 0 |
| Ⅱ类 |
6.0 |
3.0 |
0.002 |
0.05 |
0.00005 |
0.05 |
0.05 |
0 1 0 0 0 |
| Ⅲ类 |
5.0 |
4.0 |
0.005 |
0.2 |
0.0001 |
0.05 |
0.05 |
0 0 1 0 0 |
| Ⅳ类 |
3.0 |
6.0 |
0.01 |
0.2 |
0.001 |
0.1 |
0.05 |
0 0 0 1 0 |
| Ⅴ类 |
2.0 |
10.0 |
0.1 |
0.2 |
0.001 |
0.1 |
0.1 |
0 0 0 0 1 |
|
2.5 样本的规范化处理 通过实践,选用下述规范化方法,效果更好。即:
(5)
(6)
式(5)和(6)中:
,
分别为原始资料的第P1个实际样本的第i个输入值和第j个期望输出值:
,
分别为规范化后第P1个样本的第i个输入值和第j个期望输出值;xi,max,xi,min分别为样本中第i个输入的最大和最小值;tj,max,tj,min分别为样本中第j个期望输出的最大和最小值。由式(5)和(6)规范化的教师值域仍在[0,1]之间但不包括0和1。
3 应用实例
对黄河流域的大汶河水系进行评价。黄河流域的大汶河水系设立了东周、雪野等9个水质监测站,对1991~1993年间每年分别在丰、平、枯水期取样监测,各断面指标实测浓度的平均值列于表2。
表2 1991~1993年黄河流域的大汶河水系9个监测站水质浓度平均值和水质3种评价方法结果
|
| 断面 |
溶解氧 |
生化需氧 |
挥发酚 |
氰化物 |
汞(Hg) |
砷(As) |
六价铭 |
ABPM网络训练结果 |
ABPM |
BP网络 |
单因子 |
| 网络评 |
评价 |
评价 |
| |
/(mg/l) |
量/(mg/l) |
/(mg/l) |
/(mg/l) |
/(mg/l) |
/(mg/l) |
(mg/l) |
| 价结果 |
结果 |
结果 |
|
| 东周 |
13.1 |
1.0 |
0.0 |
0.0 |
0.0 |
0.001 |
0.002 |
1.088 |
-0.099 |
0.004 |
0.000 |
-0.004 |
Ⅰ类 |
Ⅰ类 |
Ⅰ类 |
| 雪野 |
12.7 |
1.5 |
0.0 |
0.0 |
0.0 |
0.0 |
0.001 |
1.087 |
-0.097 |
0.003 |
0.000 |
-0.005 |
Ⅰ类 |
Ⅰ类 |
Ⅰ类 |
| 莱芜 |
8.0 |
29.4 |
0.008 |
0.0 |
0.0 |
0.01 |
0.0008 |
0.002 |
-0.002 |
0.001 |
-0.002 |
0.998 |
Ⅴ类 |
Ⅴ类 |
Ⅴ类 |
| 羊流 |
12.4 |
1.5 |
0.0 |
0.0 |
0.0 |
0.0 |
0.0 |
1.087 |
-0.097 |
0.004 |
0.000 |
-0.005 |
Ⅰ类 |
Ⅰ类 |
Ⅰ类 |
| 临汶 |
8.4 |
9.0 |
0.016 |
0.0 |
0.0009 |
0.012 |
0.0 |
0.002 |
-0.036 |
0.226 |
0.805 |
0.077 |
Ⅳ类 |
Ⅳ类 |
Ⅳ类 |
| 北望 |
6.0 |
37.5 |
0.059 |
0.018 |
0.0009 |
0.016 |
0.001 |
-0.002 |
0.002 |
0.001 |
0.002 |
0.998 |
Ⅴ类 |
Ⅴ类 |
Ⅴ类 |
| 戴村 |
9.2 |
7.8 |
0.063 |
0.012 |
0.00044 |
0.076 |
0.0 |
0.018 |
-0.131 |
1.102 |
0.007 |
0.001 |
Ⅲ类 |
Ⅲ类 |
Ⅲ类 |
| 白楼 |
8.0 |
11.4 |
0.039 |
0.048 |
0.00038 |
0.092 |
0.003 |
0.004 |
0.000 |
0.001 |
1.053 |
0.048 |
Ⅳ类 |
Ⅳ类 |
Ⅴ类 |
| 石汶 |
12.5 |
0.8 |
0.0 |
0.0 |
0.0 |
0.001 |
0.0 |
1.088 |
-0.099 |
0.004 |
0.000 |
-0.005 |
Ⅰ类 |
Ⅰ类 |
Ⅰ类 |
|

图2 ABPM网络训练次数与网络输出误差关系
3.1 ABPM网络训练结果 取动量因子η=0.3,初始学习率α(1)=0.01,随机赋予ABPM网络的初始权值和阈值,控制误差取为0.0001。利用上述ABPM神经网络和标准BP神经网络进行网络训练,并将其评价结果与单因子评价结果比较,如表2所示。
图2为地表水水质评价的ABPM网络训练次数与网络输出误差E变化规律;图3为ABPM网络训练次数与学习率(k)变化规律。图4为地表水水质评价的标准BP神经网络训练次数与网络输出误差E变化规律。


|
图3 ABPM网络训练次数与学习率α(k)变化规律 |
图4 标准BP网络训练次数与网络输出误差关系 |
3.2 结果分析 表3中的评价结果表明ABPM网络方法与BP网络方法对水质评价结果是一致,但同单因子评价结果相比,在戴村断面和白楼断面的水质评价结果有一些偏差。其原因为戴村断面水质7项中单项因子有2项达Ⅰ类,1项达Ⅱ类,2项达Ⅲ类,2项达Ⅳ类,因而综合考虑定为Ⅲ类较为合理;白楼断面水质7项中单项因子有1项达Ⅰ类,5项达Ⅱ类,l项达Ⅴ类,因而综合考虑定为Ⅳ类较为合理。
自适应变步长BP神经网络方法有以下特点:
(1) ABPM算法是以进化论中的进退法为理论基础,通过自适应变步长避免了BP网络收敛慢,易引起局部振荡等缺点。从图2和图4对比可以看出,用APBM算法训练本文的综合评价,其学习速度是常用的BP算法无法比拟的。
(2) ABPM网络用于地表水水质评价只需以各评价参数的分级标准为基础来生成训练样本,用训练后得到的网络模型的参数值就可以对需评价的地表水水质样本进行评价。所以,一旦训练好了一个网络模型,就可以推广应用于该类环境问题的评价,因此它具有很好的通用性,其评价结果也具有客观性。
4 结束语
以上介绍了如何利用ABPM神经网络对地表水水质综合评价,从具体的应用实际中可以看出,其评价方法操作简便易行,评价结果切合实际。ABPM网络以其特有的灵活性和适应性为解决标准BP网络中难题提供了独特的方法。当然神经网络技术正处在不断发展之中,如何在现行的神经网络中进一步吸取模糊和灰色理论的某些优点,如何建立更适合水质评价的神经网络模型,使该模型既具有方法的先进性又具有现实的可行性,仍将是一个值得深人研究的问题。
参 考 文 献:
[1] 方子云.水资源保护工作手册[M].南京:河海大学出版社:1988.
[2] 阎平凡,等.人工神经网络与模拟进化计算[M].北京:清华大学出版社,2000.
[3] 刘曙光,郑宗勋,等.前馈神经网络的反向传播算法及其改进:进展与展望[J].计算机科学,1996,1(23):76-79.
[4] 纪桂霞,李培红.水环境质量评价的人工神经网络模型及应用[J].华北水利水电学院学报,1999,1:60-62.
[5] 闻新,周露,等.MATLAB神经网络应用设计[M].北京:科学出版社,2000.