摘要:本文以MATLAB神经网络工具箱为平台,建立了BP-LM和LVQ两种地表水神经网络水质评价模型。研究结果表明,BP-LM网络的计算速度和收敛速度远高于LVQ网络,BP-LM网络模型比较适合于水质评价。本文也观察了大小样本对网络模型训练的影响,发现LVQ网络模型不适宜用大训练样本进行训练,而BP-LM网络对训练样本的大小不敏感,这有助于构建大容量有代表性的训练样本。
关键词:人工神经网络;BP-LM网络;LVQ网络;训练样本;水质评价
1前言
水是人类生存和发展的物质基础。随着生产的发展和人口的增长,水资源短缺、水质污染问题越来越突出。水环境质量评价是认识和研究水环境的一项重要内容,其目的是准确反映环境的质量和污染状况,预测未来的发展趋势,是水环境管理保护和治理的一项重要基础性工作。水环境质量评价是指通过对水体的一些物理、化学、生物指标的监测、调查,根据不同的目的和要求,按一定的方法对水体的质量做出估计。通过对水质进行评价,确定其污染类型,准确地指出水体当时的污染程度,为保护水体、水质提供方向性、原则性的方案和依据。
由于影响水质的因素很多,且因素与水质类别之间通常存在复杂的非线性关系,所以迄今没有一种统一的和公认的评价方法。目前应用于水质评价的方法发展了很多,大多是基于传统数学(统计学)、模糊数学和灰色数学的评价模型,如单项污染指数法、综合污染指数法、模糊综合评判法、灰色关联度分析法、灰色局势决策法、物元分析法等[1-2]。单项污染指数法只能评价水体中某种污染物的危害程度,不能反映水体中各种污染物的综合影响;综合污染指数法采用一个简单的数字指标作为硬性界限,忽视了这种分类或分级界限的模糊性;而基于模糊数学和灰色数学的综合评价方法,虽然注意到了这种实际上存在的分类或分级的模糊性,但在各水质污染物指标权重的选择上常带有主观性和随意性,因而存在一定的局限性。
人工神经网络(ArtificialNeuralNetwork,简称ANN)是起源于20世纪40年代,在80年代取得突破并迅速发展和广泛应用于众多学科的非线性模拟技术,是目前最活跃的前沿科学之一。ANN是对人脑神经元巨系统的生理特征和功能的抽象和模拟,具有自适应、自学习的特点,非常适合于研究和解决复杂的非线性问题。
从80年代末开始,我国的环境保护工作者开始将神经网络技术引入环境质量评价工作,建立了基于误差反向传播(BP)网络、霍普菲尔德(Hopfield)网络、径向基函数(RBF)网络、自组织特征映射(SOFM)网络、学习向量量化(LVQ)网络等数10多种评价模型,但其中80-90%是基于BP网络模型及其变化模型[2]。
本研究针对地表水环境质量评价,以MathWorks公司开发的MATLAB(R14SP1)神经网络工具箱(4.0.4版本)为平台,建立了基于Levenberg-Marquardt训练算法的BP网络的评价模型(BP-LM)和基于LVQ网络的评价模型(LVQ),分别用大训练样本和小训练样本进行训练,用检测样本评价训练效果及网络模型的性能,比较分析大、小训练样本对网络模型训练的影响以及两种模型的优劣。
2训练样本的准备
在神经网络模型的建立之中,训练样本占有非常重要的位置。在进行模式识别的过程中,主要依靠在训练之中获得的权重,这将直接影响数据的处理与最后的结果。在一般的神经网络进行实验中,采用的是小样本的方法,这使得整个模型在训练学习的过程简化了,也使得模型不能够得到足够多的数据来支持他的结论。神经网络又称为人工智能,主要是因为他可以在人为给定的数据中,自主的学习,寻找给定的数据之间的联系与关系,从而进行最后给定的数据的分类,如果人为给定的数据量很少,则整个网络无法得到有效的训练和学习,从而在最后判定数据的分类上存在一定的偏向性。
2.1地表水环境质量评价标准
实验的标准采用2002年6月1日实施的水质评价标准GB3838-2002的评价标准,采用了在标准中的DO、BOD5、石油类、挥发酚、氨氮、高锰酸钾指数,这6项指标作为评价项目。具体标准见表1。
表1地表水环境质量标准(GB3838-2002)单位(mg/L)
2.2检测样本
在实验的数据上,本实验选取参考文献[2]中的水质监测资料作为检验数据,见表2。
表2检验数据单位(mg/L)
2.3训练样本
采用小样本直接使用水质标准,其在二维平面内的投影分布见图1。
大样本采用MATLAB提供的RAND函数在各级评价标准内按随机均匀分布方式线形插生成训练样本,每级生成200个样本,共生成1000个训练样本。对应的目标输出理论值I级为1,II级为2,其他依此类推。其在二维平面内的投影分布见图2
对于BP-LM网络模型,其评价结果属于I级水质的输入,期望输出应为0~1之间的数值;对于评价结果属于II级水质的输入,期望输出应为1~2之间的数值;其他依此类推。
对于LVQ网络模型,其评价结果属于I级水质的输入,期望输出应为1;对于评价结果属于II级水质的输入,期望输出应为2;其他依此类推。
图1小训练样本在空间中的分布 图2大训练样本在空间中的分布
3BP-LM网络模型的建立及仿真结果
3.1BP-LM神经网络的原理与结构
3.1.1原理
BP网络,即多层前馈神经网络,因其采用误差反向误差传播算法(ErrorBackpropagation)而得名,1986年由D.E.Rumelhart等人提出。BP算法结构简单、易于实现。BP网络是一种分层型网络,由输入层、隐含层、输出层组成。层与层之间采用全互连方式,同一层的单元则相互不连接,输入层和输出层的单元数是由具体问题的输入层参数和输出层参数来确定的,而隐含层的单元数则由具体问题的复杂程度、误差下降情况等来确定。基本运行机制是:由信息正向传播和误差反向传播2个过程组成,工作原理详见文献[3-6]。
图3BP网络的结构
图3中所示的BP网络模型,输入为2维向量;1个隐含层,4个隐含神经元,传递函数为tansig;输出层3个神经元的结构,传递函数为purelin。
把输入模式映射到相应分类器所需知识由权值来体现。最初,被给定问题域的权值是未知的,直到找到有用权值之前,神经网络不能解决这个问题。寻找有用权值集合的过程,称为训练。在介绍网络模型的训练之前,引入一个概念:目标网络误差,即度量网络收敛到其期望值的程度的度量值。
训练步骤可归纳如下:
(1) 初始化,选定结构合理的网络,置所有可调参数(权重和偏量)为均匀分布的较小数值;
(2) 对每个输入样本作前向计算;
(3) 当数据处理达到目标网络误差时,训练完毕,反之则进行反向计算,即将输入样本再次输入和在前一次计算中得到修正的权重一起训练,再次修正权重。
这样,整个网络经过训练和学习而具有鉴别能力,在给定一个表示输入模式的由一系列特征组成的输入向量后,训练过的网络就可以作为强识别器来使用。
相对于其他的网络模型来比较,BP网络要成熟的多,但他的问题也相对比较突出,比如收敛速度慢以及存在所谓局部最小值的问题。这些可以通过Levenberg-Marquardt(简称LM)算法来解决。
设X(k)表示第k次迭代的权值和偏量所组成的向量,新的权值和偏量组成的向量XK+1可根据下面的规则求得:
XK+1=X(K)十△X(1)
对于牛顿法则是:
△X=-[▽2E(x)]-1-▽E(x)(2)
(2)式中▽2E(x)表示误差指标函数E(x)的Hessian矩阵;▽E(x)表示梯度。
设误差指标函数为:
E(X)=1/2ΣNi=1ei2(x)(3)
(3)式中e(x)为误差,那么:
▽E(x)=JT(x)e(x)(4)
▽2E(x)=JT(x)e(x)+S(x)(5)
在(4)、(5)式中S(x)=ΣNi=1ei(x)▽2ei(x)为Jacobian矩阵。
对于高斯-牛顿法的计算法则有:
△X=-[JT(x)JT(x)]-1JT(x)e(x)(6)
LM算法是一种改进的高斯-牛顿法,它的形式为:
△X=-[JT(x)JT(x)+μI]-1JT(x)e(x)(7)
从(7)式可看出,如果比例系数μ=0。则为高斯-牛顿法;如果μ取值很大,则LM算法接近梯度下降法。每迭代成功一步,则μ减小一些,这样在接近误差目标的时候,逐渐与高斯-牛顿法相似。高斯-牛顿法在接近误差的最小值的时候,计算速度更快,精度也更高。由于LM算法利用了近似的二阶导数信息,它比梯度下降法快得多,实践证明,采用LM算法可以较原来的梯度下降法提高速度几十甚至上百倍。另外由于[JT(x)J(x)+μI]是正定的,所以(7)式的解总是存在的。从这个意义上说,LM算法也优于高斯-牛顿法,因为对于高斯-牛顿法来说,JTJ是否满秩还是个潜在的问题。在实际的操作中,μ是一个试探性的参数,对于给定的μ,如果求得的△x能使误差指标函数量E(x)降低,则μ降低;反之,则μ增加[7]。
3.1.2网络模型结构
网络输入为6维向量;采用一个隐含层,13个神经元,传递函数为tansig;输出层1个神经元,传递函数采用purelin。
网络训练函数为tainlm(MATLAB中实现LM训练算法的函数);网络性能函数为MSE,其目标值为1e-5;总迭代周期Epochs=1000;将MATLAB随机数字产生器初始状态置为0(固定这个变动因素)。
在隐含层神经元的选择上,理论证明,如果一个隐含层有足够多的节点,就可以达到所需的识别精度。在水质评价问题上,建议采用一个隐含层。隐含层神经元数的选取尚无理论上的指导,一般是根据经验选取。对单隐含层BP网络,常用的估算方法有[8,9]:
N=MNz/(Nx+Nz)或N2≥NxNz或N=log2M或N2=MNz
式中,N为隐含层神经元数;M为学习样本容量;Nx、Nz分别为输入、输出层节点数。当学习样本容量不大时,由上式确定的N往往偏小,难以进行非线性识别。因此,Ny应选得稍大一些。N值究竞选取多大合适?经验方法是试算,即从较多的隐含层开始,然后加以适当舍弃;或从较少的隐含层节点出发,逐渐加多。在本实验中,根据以上原则,先按上式估算,然后选取大于N的一系列值,在模型中进行测试。结果显示,当神经元个数取13时,效果最好。
3.2BP-LM网络小样本训练及结果
3.2.1训练过程
网络经过7个迭代周期的训练,性能函数下降到8.2653e-6,小于其目标1e-5,训练结束。训练过程如图4所示。
图4BP-LM网络小样本训练过程中网络性能下降曲线
3.2.2网络模型的仿真结果
将水质评价标准的各项污染指标分界值(表1)输入已训练好的网络模型,对应的网络模型输出值分别为0.9999、2.0000、3.0000、4.0000、4.9999。显然,对应于I-V类水质,该网络模型输出值的范围分别为:(0,0.9999]、(0.9999,2.0000]、(2.0000,3.0000]、(3.0000,4.9999]和>4.9999。
表3小样本训练的模型对检测样本的评价结果
将检测样本输入网络模型,得到的输出分别为3.2999、3.3591、3.4745、3.1613、3.2450、3.9969,均对应为4类水质,这与模糊综合评判法分类结果一致[10](见表3)。
3.3BP-LM网络大样本训练及结果
3.3.1训练过程
网络经过68个迭代周期的训练,性能函数下降到6.60625e-6,小于其目标1e-5,训练结束。训练过程如图5所示。
图5BP-LM网络大样本训练过程中网络性能下降曲线
3.3.2网络模型的仿真结果
将水质评价标准的各项污染指标分界值(表1)输入已训练好的网络模型,对应的网络模型输出值分别为1.9819、2.3773、3.0298、4.5679、5.0000。这样,对应于I-V类水质,其网络模型输出值的范围分别为:(0,1.9819]、(1.9819,2.3773]、(2.3773,3.0298]、(3.0298,5.0000]和>5.0000。
将检测样本输入网络模型,得到的输出分别为3.0413、3.9996、2.9994、3.9669、3.9827、3.9996;即第1,2,4,5,6项检测样本属于IV类,第3项属于III类。这与模糊综合评判法分类结果稍有差别(见表4)。
表4大样本训练的模型对检测样本的评价结果
4.LVQ网络
4.1LVQ网络的原理方法与网络模型结构
4.1.1LVQ网络的原理与方法
LVQ网络,即学习向量化网络(LearnVectorQuantization).网络的结构示意图见图6。
LVQ网络有两层组成,第一层为竞争层,第二层为线性层。竞争层能够学习对输入向量的分类,这与自组织竞争网络非常相似。线性层将竞争层传来的分类信息转变成为使用者所定义的类别。可以将竞争层学习得到的类称为子类,将线性层习得到的类称为目标类。
LVQ算法是对SOM(Self-OrganizingMaps,自组织映射)算法的一种扩展,它的基本思想源于SOM算法,它对应的网络结构与SOM很相似,但并不像SOM网络那样存在某种特定的拓扑结构。LVQ算法是一种监督型的聚类方法,该算法与SOM算法最大的区别在于提供给LVQ网络的每个训练例都有一个“标记”(1abel),该“标记”用于指明每个训练例所属的类别,在网络的训练过程中起到一定的监督作用。因此,LVQ算法实际上是SOM算法基本思想在监督学习领域中的一种应用,是Kohonen的有监督学习的扩展形式。融合了自组织和有导师监督的技术,学习方法是竞争的,但产生方式是有教师监督的,也就是说,竞争学习是在由训练输入指定的各类中局部进行。
图6LVQ网络结构
LVQ算法可在监督状态下对竞争层进行训练,在竞争层中网络将根据给定的输入、输出特征自动学习适应样本特性并对输入样本分类,其具体的工作步骤为:
(1)每输出一个样本X后,在输出阵列中找出具有最大的单元C;
(2)设X所属类别以知为R,而在第一阶段学习中C的类别为S,则权值按如下公式调整:
wc(t+1)=wc(t)+u(t)[x(t)-wc(t)]r=s
wc(t+1)=wc(t)-u(t)[x(t)-wc(t)]r≠s
wi(t+1)=wir≠s
由上式可见,若对x分类真确,则使C的权更靠近X,否则则远离。对不是最大输出的单元,权值不动。
LVQ网络的训练过程如下:
(1) 初始化权向量,设置初始学习率;
(2) 从训练集中选取一输入向量X,找出与X具有最小Euclidean距离的权向量WK;
(3) 调整神经元k的权向量;
(4) 训练集中选取另外一个输入向量提供给LVQ网络,返回步骤2)直到所有的向量都提供了一遍为止。
(5) 减小学习率α,并且测试停止条件是否满足,如果满足则停止训练,否则返回步骤2)。
详细的LVQ网络的训练算法参见参考文献[11-12]。
4.1.2LVQ网络模型的结构
网络输入为6维向量;竞争层采用15个神经元;输出层为要求输出数据格式为向量模式,在MATLAB中采用转换函数(ind2vec)将分类类别数据转换为向量模式;网络性能函数为MSE,其目标值为1e-5;总迭代周期Epochs=1000;将MATLAB随机数字产生器初始状态置为0(固定这个变动因素);竞争层神经元数也是在不断在摸索的基础上比较优缺点,最后确定是15个为最佳。
4.2LVQ网络小样本训练与结果
4.2.1网络模型的训练
网络经过553个迭代周期的训练,性能函数下降至小于其目标1e-5,训练完成。训练过程如图7所示。
4.2.2网络模型的仿真结果
将水质评价标准的各项污染指标分界值(表1)输入已训练好的网络模型,对应的网络模型输出结果用转换函数vec2ind转换为标量,理论结果应为1、2、3、4、5,分别对应于I到V类水质,实际输出结果与此完全一致。将检测样本输入网络模型,同样对输出结果采用转换函数vec2ind转换为标量,结果分别为3、3、3、3、3、5,即前五项检测样本的评价结果为III类水质,第六项检测样本的评价结果为V类水质。这与模糊综合评判结果均不同。
图7LVQ网络小样本训练过程图
4.3LVQ网络大样本训练的实验
4.3.1网络模型的训练
网络训练到16个迭代周期后,性能函数始终在0.004附近振荡,直到完成1000次迭代周期,即训练结束时也未下降至小于其目标1e-5。训练过程如图8所示。
图8LVQ网络大样本训练过程图
4.3.2网络模型的仿真结果
将水质评价标准的各项污染指标分界值(表1)输入已训练好的网络模型,对应的网络模型输出结果用转换函数vec2ind转换为标量,理论结果应为1、2、3、4、5,分别对应于I到V类水质,实际输出结果为2、3、3、4、5。显然,该网络模型没有得到有效的训练,其性能不能满足水质评价的要求。
5分析与讨论
5.1BP-LM网络模型的分析
对于BP-LM网络模型,采用小训练样本训练,网络只用了7次迭代周期就完成了训练,收敛很快。网络模型对检验样本的输出值与预定目标接近,也与模糊综合评判法一致。
采用大训练样本训练,由于网络运算量显著增加,网络经过了68次迭代周期才完成训练,收敛速度相对于小样本训练要慢一些。网络模型对的第3项检测样本的评价结果与模糊综合评判法有出入,网络模型评价为III类水质,而模糊综合评判法评价为IV类水质。
关于神经网络模型对检测样本的评价结果与模糊综合评判法评价结果的一致性与否,并不能作为神经网络模型合理性或准确性的评价依据。因为模糊综合评判法的结果受人为因素的影响很大,具有主观性和不确定性,而神经网络模型基本不受人为因素影响,而且神经网络模型是通过对训练样本的学习,将分类的潜在规律或规则储存于网络的连接权重中。从这一点上来说,神经网络模型比模糊综合评判法更符合水质评价的原理。
本试验中,小样本训练的模型对检测样本给出的评价结果与模糊综合评判法完全一致,而大样本训练的模型对第3项检测样本的评价结果与后者评价结果不一致。本文认为不能据此判断小样本训练得到的模型要优于大样训练得到的模型。BP神经网络的训练,理论上需要大量的有代表性的样本,这样得到的模型才比较可靠。很显然,小样本不是代表性的训练样本,而大样本则体现了对所有输入样本的代表性。
在整个BP-LM网络模型仿真过程中,BP-LM网络的优点体现的很明显:
(1) BP-LM网络不必人为地考虑因子之间的权值、阈值。它能通过样本实际输出与期望输出的误差比较和修改学习参数,自动地进行调整和适应[13];
(2) BP-LM网络建模简单、计算量少、速度快;
(3) BP-LM网络具有一定的泛化能力;
(4) 网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力;
(5) BP-LM网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题[14]。
5.2LVQ网络模型的分析
在本次实验中,LVQ并没有很好的完成期望目标,在小样本训练的实验中,尽管运算量小,但是由于LVQ算法较BP算法复杂,网络收敛速度慢,训练经过553次迭代周期才结束。而大样本训练更增加了LVQ网络的运算量,网络训练速度非常慢,在CPU为IntelP41.7GHz、内存为256MB的计算机上,经过2个小时才完成1000次的迭代周期,但网络的性能函数下降不明显,远未达到预期性能目标。
理论上,LVQ网络模型非常适合解决模式识别问题。但本次试验中发现LVQ网络训练的收敛速度以及对水质评价问题的处理结果都很不理想。一方面说明LVQ网络不适宜于用大样本来训练;另一方面,LVQ网络的训练样本要求更严格的代表性。
5.3BP-LM网络与LVQ网络的对比分析
在BP-LM网络实验中,很好的表现出BP-LM网络的优点,简洁、建模简单、计算量少、速度快、很强的自我学习能力。LVQ网络由于迭代过多,运算繁琐,需要占用了大量的内存空间,LVQ网络在目前还不适宜做水质评价工作,尤其是需要有大量样本来训练的水质评价工作。相比之下,BP-LM网络模型更适合于水质评价工作,特别是训练样本容量很大的情况下。
5.4训练样本的代表性问题
水质评价的神经网络模型需要构建具有代表性的训练样本进行训练。直接采用水质评价标准的分界指标值作为训练样本,本文认为这样的训练样本不具有代表性;同时,样本容量也过少。本文采用随机方法插值生成的、均匀分布的大样本,解决了训练样本的代表性和容量的要求,但样本的均匀分布没有考虑到水质评价标准分级的模糊性。如果采用正态分布的大训练样本,可能会解决这个问题,并有可能加快神经网络训练的收敛速度。这有待于进一步的试验来验证。
参考文献
[1]郑建青.2003.水环境质量评价的灰色局势决策法.科技与管理,3:29-31.
[2]楼文高、王廷政.2003.基于BP网络的水质综合评价模型及其应用.环境污染治理技术与设备,8(4):23-26.
[3]陈古余.上海市海岸带和海涂资源综合调查报告.上海:上海科学技术出版社,1988.
[4]顾德宇,汤容坤.1995.大亚湾沉积物间隙水的无机磷硅氮营养盐化学.海洋学报,17(5):73-80.
[5]韩舞鹰,容荣贵,黄西能等.1986.海水化学要素调查手册.北京:海洋出版社,,103-113,121-148.
[6]金相灿,层清英主编.1990.湖泊富营养化调查规范.第2版.北京:中国环境科学出版社,208-238.
[7]阮体年、党竞良、胡晓寒等.2004.基于LM-BP算法的综合水质评价研究.水资源研究,25(1):12-14.
[8]马细霞、贺晓菊、赵道全.2002.BP网络隐含层对水质评价结果的影响分析.水电能源科学,20:(3)16-18.
[9]韩力群.2001.人工神经网络理论、设计及应用.北京:化学工业出版社,123-125.
[10]楼文高、王廷政.2003.基于BP网络的水质综合评价模型及其应用.环境污染治理技术与设备,8(4):23-26.
[11]张敏灵、陈兆乾、周志华.2002.SOM算法、LVQ算法及其变体综述.计算机科学,29(7):97-100..
[12]FranciscoS.etal.2002.AssessmentofGroundwaterQualitybyMeansofSelf-OrganizingMaps:ApplicationinaSemiaridArea.EnvironmentalManagement,30(5):716–726.
[13]徐婷婷、姜林、彭荔红.B-P网络应用于地下水水质监测点优选.中国环境监测.
[14]刘遂庆、王延政、楼文高.2003.基于概率论和BP网络的水质评价与灰色动态预测模型.上海环境科学,22(10):673-681.
ComparisonStudiesonNeuralNetworkModels
forWaterQualityEvalutation
Abstract:ThispaperpresentedtwoneuralnetworkmodelsforsurfacewaterqualityevaluationconstructedwithMATLAB7.TheresultsshowedthatthecalculatingvelocityandconvergingvelocityofBP-LMmodelwasfarfasterthanLVQmodel,andBP-LMmodelissuitedtoevaluatewaterquality.Influencesoftrainingsamplesizeontwoneuralnetworkmodelswereobserved.ItisfoundthatLVQmodelwassensitivetotrainingsamplesize,butBP-LMmodeldidn’tso.TherootcauseisthatcalculatingprocessofLVQalgorithmismorecomplicatedthanthatofBP-LMalgorithm.
Keywords:artificialneuralnetwork;BP-LM;LVQ;trainingsample;waterqualityevaluation