自适应变步长BP神经网络在水质评价中的应用

2007年11月 来源: 中国水工业自动化网

由于影响水质的因素较多,目前用物理方法进行水质评价存在一些困难。70年代我国使用的是综合污染指标法的“硬性分级划分”,目前使用的是灰色和模糊系统,如灰色集类法、模糊综合评判法[1]等。30多年来在评价原理的科学性和实际评价结论的合理性等方面都有了长足的发展。然而,灰色和模糊系统两大类方法都仍然存在一些缺陷,如都需要设计若干不同的效用函数(灰色系统的白化函数、模糊数学的隶属函数等)以及人为地给定各评价指标的权重(或权函数)等。这些效用函数和指标权重的给定往往因人而异,造成评价模式难以通用,而且增加了应用的困难和人为臆断因素对结论的影响。事实上,在评价指标确定后,水质评价的过程是把这些指标的监测值与标准值进行比较和分析,在此基础上判断其与哪一级分类标准更接近。因此,水质综合评价属于模式识别问题。当前,迅速发展的人工神经网络已在模式识别中广泛应用[2]。

  人工神经网络是近几年来发展起来的一门新兴学科,它是一种大规模并行分布处理的非线性系统,可以处理那些难以用数学模型描述的系统,可以逼近任何非线性的特性,具有很强的自适应、自学习、联想记忆、高度容错和并行处理能力,使得神经网络理论的应用已经渗透到了各个领域。近年来,人工神经网络在水质分析和评价中的应用越来越广泛,并取得良好效果[2]。在这些应用中,纵观应用于模式识别的神经网络,BP网络是最有效、最活跃的方法之一。

  笔者根据黄河流域大汶河水系水质监测的条件,建立了一个对地表水质进行判别的多层前馈网络数学模型。以地表水质7项污染指标为训练样本,利用自适应变步长BP神经网络(即ABPM网)进行训练,并将训练好的网络来对水质进行评价。

1 BP算法及其改进

1.1 BP网络特点 多层前向网络的权值学习常采用误差逆传播学习算法(Error Back Propagation简称BP)。为了简单起见,将采用这一学习算法进行训练的多层前向网络简称为BP网络。在具体应用该网络时分为网络训练及网络工作2个阶段。在网络训练阶段,根据给定的训练模式,按照“模式的顺传播”→“误差逆传播”→“记忆训练”→“学习收敛”4个过程进行网络权值(包括阈值)的训练[2]。在网络的工作阶段,根据训练好的网络权值及给定的输入向量,按照“模式顺传播”方式求得与输入向量相对应的输出向量的解答。

  BP算法是一种比较成熟的有指导的训练方法,是一个单向传播的多层前馈网络。它包含输入层、隐含层、输出层。同层节点之间不连接。输入信号从输入层节点,依次传过各隐含层节点,然后传到输出层节点,每一层节点的输出只影响下一层节点的输入。网络训练目标是使误差函数E最小,E的定义如下:

式中:E为网络输出误差,P代表第P个样本,j为输出单元数,tjp为单元期望输出,Ojp为单元的实际输出,(tjp-Ojp)2输出层第j个神经元在模式P作用下的实际输出和期望输出之差的平方。

1.2 BP算法存在的问题 BP算法的基本形式为[3]:

W(k+1)=W(k)+αD(k)
(2)



式中: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网络中难题提供了独特的方法。当然神经网络技术正处在不断发展之中,如何在现行的神经网络中进一步吸取模糊和灰色理论的某些优点,如何建立更适合水质评价的神经网络模型,使该模型既具有方法的先进性又具有现实的可行性,仍将是一个值得深人研究的问题。

  【关闭
水处理设备综合服务门户
编辑信箱:wateruu@126.com 业务合作:王先生 13787106234 0731-2476887 广告合作:李先生:15974110248 喻先生 027-87184460 13607192028
客户服务:客服一 客服二 MSN:xywang_net@hotmail.com
本站介绍 | 联系我们 | 版权声明 | 帮助信息 | 会员及广告服务 | 相关法律 | 网站地图
中国水处理设备网(www.wateruu.com)版权所有  ©2007-2008 湘ICP备06007577号