当前位置:诚明文秘网>范文大全 > 公文范文 > 基于MATLAB的人工神经网络水质预测模型探析

基于MATLAB的人工神经网络水质预测模型探析

时间:2022-11-05 12:00:03 公文范文 来源:网友投稿

【摘 要】随着我国工业化以及城镇化进程加快,环境污染日益严重,对人体健康、生态安全以及生产生活构成重要影响。为了有效监控水质变化情况,水质预测模型的研究与应用显得尤为重要,本文专门就基于人工神经网络水质预测模型进行了探讨。

【关键词】ANN;水质评价;水质预测;MATLAB

1.引言

人工神经网络ANN(Artifical Neural Networts)的概念来源于生物神经网络。在ANN中,记忆的信息存贮在连接权上,外部刺激通过连接通道自动激活相应的神经元,以达到自动识别的目的[1]。因而,它是与现代计算机完全不同的系统。ANN模拟生物体中神经网络的某些结构和功能,并反过来用于其它领域。人工神经网络从拓扑上看成是以处理单元PE(Processing element)为节点,用加权有向弧连结而成的有向图,其模型较多,然而各有用途,如AG模型主要用于数据分类;SG模型用于信息处理;BAM模型用于图象处理;BP模型用于分类等[2]。

2.人工神经网络预测模型建立

神经网络模型一般很少有成型的规律可以遵循,也很少有成文的经验可以借鉴,通常都是模型建立者通过多次的试验,对模型进行反复训练,测试来确定最终的模型结构。建模工作主要从以下几个方面开展。

(1)确定网络模型中输入、输出变量个数。

(2)选择神经元的连接方式,是前馈网络还是反馈网络。

(3)定义网络的拓扑结构:单隐层或多隐层,以及隐层神经元数目。

(4)选择训练算法:标准的误差反向传播算法、附加动量-自适应学习速率相结合的梯度下降法、弹性算法、BGFS准牛顿算法[4];LM算法等。

具有一定相关性的输入和输出水质参数都可以通过调节网络模型的内部结构和参数而找到一个合适的网络模型结构连接输入与输出。在该模型中,通过改变隐含层神经元的个数、隐含层和输出层的神经元传递函数、选择合适的学习算法等使建立的模型达到预定的误差要求(见图1)。

近些年,神经网络技术在水质预测中广泛应用,其中应用较多的是BP网络[3-4]。本文所建立的网络模型结构如图1所示,是具有单隐层的BP神经网络,其中R是输入层,S1是隐含层,S2是输出层,IW1.1表示输入层2.112权值矩阵,LW表示隐含层到输出层的权值矩阵,b、b分别表示隐含层、输出层网络阈值矢量,f1、f2分别表示隐含层、输出层的神经元传递函数。理论已经证明,具有如图1所示结构的BP神经网络,当隐层神经元数目足够多时,可以以任意精度逼近任何一个具有有限间断点的非线性函数[5-6]。

在图2中,设输入和输出变量都是水质参数,输入变量是影响输出变量的影响因子,输出变量是预测对象,假设输出层第j个神经元在时刻t的实际输出为yj(t),希望输出为dj(t),则时刻t网络的误差函数E(t)定义为:

q为输出层S2的神经元数。当E(t)≤ε

(ε为预先给定的误差)时,网络停止训练,此时的网络模型就是所需的。具有一定相关性的输入和输出水质参数都可以通过调节网络模型的内部结构和参数而找到一个合适的网络模型结构连接输入与输出。在该模型中,通过改变隐含层神经元的个数、隐含层和输出层的神经元传递函数、选择合适的学习算法等使建立的模型达到预定的误差要求。对于不同结构的模型,均需要依附于训练集,对模型进行网络训练和测试,从而找到合适的网络模型。将检测到的已知水质数据作为模型输入和输出的训练集,训练好的网络模型经仿真,其误差在允许范围内后,就可以应用到实际的水质预测中。

3.应用MATLAB建立网络模型

MATLAB是美国Mathworks公司1982年推出的数学软件,它具有强大的数值计算能力和优秀的数据可视化能力。本文应用MATLAB的GUI功能实现建模与仿真[3]。模型规模较大,不便于训练,也会降低网络的性能,并且理论已经证明,具有单隐层的BP神经网络模型,当隐层神经元数目足够多时,可以以任意精度逼近任何一个具有有限间断点的非线性函数,因此本文建立的是单隐层BP神经网络。由于影响因子共有6项,因此模型输入有6个变量,预测对象是连续3日的CODMn,即输出为3个变量。对于隐含层神经元个数的确定,虽然有很多文献介绍了一些方法,但这些方法只是一些经验方法,并不具有权威性,并且针对不同水域、不同情况的预测模型,即使输入、输出变量相同,当达到最佳预测效果时,其隐含层神经元个数都不一定是相同的,因此本文根据经验,隐含层分别从10—20个选值,同时在选择隐含层神经元传递函数时,分别选用LOGSIG和TANSIG函数。BP网络最后一层神经元的特性决定了整个神经网络的输出特性。当最后一层神经元采用Sigmoid型函数,那么整个网络的输出就被限制在一个较小的范围内;如果最后一层神经元采用PURELIN型函数,则整个网络输出可以取任意值,因此本文选择输出层的神经元传递函数为PURELIN。

原始的BP算法是梯度下降法,这种方法由于是线性收敛,速度很慢。LM算法是对于BP算法的改进,由于它利用了近似的二阶导数信息,它比原始的BP算法快得多,因此网络模型中采用LM算法。在确定好上述参数和函数后,应用MATLAB的GUI工具建立网络模型。图2是建立的网络模型之一。

输入和输出采用训练集数据,其中训练子集有825组数据,验证集有80组数据。因为隐含层神经元个数分别选择从11到20,神经元传递函数分别选择LOGSIG和TANSIG函数,这样就根据隐含层神经元个数和传递函数的不同建立20种模型,模型建立好以后就可以根据训练集数据进行训练。

4.值的选取

本文采用前文第三章聚类分析法中的研究结果,即把得到的聚类中心点作为模型的初始权值,因为聚类中心点是根据各个水质参数的实际分布情况经过综合计算得到的数据中心点,因此可以很好的代表各水质数据的分布情况,这样就可以很大程度的减少初始权值的盲目性和随机性。聚类中心点作为初始权值的应用将在下节详细介绍。

5.推广能力的提高

推广能力是衡量神经网络性能好坏的重要标志。一个“过度训练”的神经网络可能会对训练样本集达到较高的匹配效果,但对于一个新的输入样本矢量却可能会产生于目标矢量差别很大的输出,即神经网络不具有或具有较差的推广能力。为了提高网络的推广能力,本文采用提前停止法,它可以有效地提高网络的推广能力。提前停止法是将训练集在训练之前划分为训练子集和验证集。训练子集用于对神经网络进行训练,验证集用于在神经网络训练的同时监控网络的训练进程。在训练初始阶段,验证集形成的验证误差通常会随着网络训练误差的减小而减小,但是当网络开始进入“过度训练”时,验证误差就会逐渐增大,当验证误差增大到一定程度时,网络训练就会提前停止,这时训练函数会返回当验证误差取最小值时的网络对象。

参考文献:

[1]Recknagel F.et al.Modeling and prediction of phyto and zooplankton dynamics in Lake Kasumigaura by artificial neural networks.Lakes&Reservoirs:Research and Management.1998,3(2):123-133.

[2]卢新卫.基于人工神经网络的水质污染综合评价方法[J].工程勘察,1997(6):25-27.

[3]Joseph H.W.Lee,Yan Huang,Mike Dickman,A.W.Jayawardena.Neural network modelling of coastal algal blooms.Ecological Modeling.2003,159(2-3):179-201.

[4]Tung-Chueng Chang,Ru-Jen Chao.Application of back-propagation networks in debris flow prediction.Engineering Geology.2006,21(3-4):270-280.

[5]许东,吴铮.基于MATLAB6.x的系统分析与设计——神经网络(第二版)[M].西安电子科技大学出版社,2002.

[6]Vandenberghe,V.,Bauwens,W.,Vaolleghem,P.A.Evaluation of uncertainty propagation into river water quality predictions to guide future monitoring campaigns.Environmental Modelling&Software.2007,22(5):725-732.

作者简介:

邹劲松(1975—),男,重庆人,讲师,主要研究方向:水利信息化技术。

徐伟刚(1962—),男,重庆人,副教授,主要研究方向:水利信息化技术。

推荐访问:神经网络 探析 水质 模型 预测

版权所有:诚明文秘网 2010-2025 未经授权禁止复制或建立镜像[诚明文秘网]所有资源完全免费共享

Powered by 诚明文秘网 © All Rights Reserved.。备案号:京ICP备10026312号-1