基于 Matlab 的 BP 神经网络在河水污染预报中的应用.doc

上传人:李主任 文档编号:3624030 上传时间:2019-09-18 格式:DOC 页数:5 大小:96KB
返回 下载 相关 举报
基于 Matlab 的 BP 神经网络在河水污染预报中的应用.doc_第1页
第1页 / 共5页
基于 Matlab 的 BP 神经网络在河水污染预报中的应用.doc_第2页
第2页 / 共5页
基于 Matlab 的 BP 神经网络在河水污染预报中的应用.doc_第3页
第3页 / 共5页
基于 Matlab 的 BP 神经网络在河水污染预报中的应用.doc_第4页
第4页 / 共5页
基于 Matlab 的 BP 神经网络在河水污染预报中的应用.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于 Matlab 的 BP 神经网络在河水污染预报中的应用.doc》由会员分享,可在线阅读,更多相关《基于 Matlab 的 BP 神经网络在河水污染预报中的应用.doc(5页珍藏版)》请在三一文库上搜索。

1、精品论文推荐基于 Matlab 的 BP 神经网络在河水污染预报中的应用韩照平 辽宁工程技术大学理学院,辽宁阜新(123000) E-mail:摘要:介绍了运用 Matlab 神经网络工具箱进行 BP 神经网络设计的基本方法与过程。并将BP 网络模型引入到河水污染预报领域, MATLA 是成为适合多学科,多种工作平台的功能强 大大型软件,经过一些权威机构构建并选用合适的 BP 神经网络建立了河水污染物含量的神经网络预报模型。计算结果表明,BP 模型应用于河水污染预报具有较高的预测精度和良好的泛化能力,它为信息社会的城市空气污染预报工作提供了一种全新的思路和方法。 关键词:BP 神经网络;Mat

2、lab;河水污染1.引言MATLAB 是矩阵实验室(MatrixLaboratory)之意。除具备卓越的数值计算能力外, 它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB 的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用 MATLAB 来解算问 题要比用 C,FORTRAN 等语言完相同的 事情简捷 得多 . 。当 前流行的 MATLAB 5.3/Simulink 3.0 包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工 具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充 MATLAB 的符号计算,可 视化

3、建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具 包,信号处理工具包,通信工具包等都属于此类.。 开放性使 MATLAB 广受用户欢迎.除内部 函数外,所有 MATLAB 主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的 修改或加入自己编写程序构造新的专用工具包1974 年,WERBOS 在其博士论文中提出了第一个适合多层网络的学习算法,但该算法 并未受到足够的重视和广泛的应用,直到 20 世纪 80 年代中期,美国加利福尼亚的 PDP(Parallel Distributed Procession)小组于 1986 年发表了 Parallel Dis

4、tributed Processing 一书, 将该算法应用于神经网络的研究,才使之成为迄今为止最著名的多层网络学习算法BP 算法,由此算法训练的神经网络,称之为 BP 神经网络。在人工神经网络的实际应用中,BP 网络广泛应用于函数逼近、模式识别/分类、数据压缩等,80%90%的人工神经网络模型是 采用 BP 网络或它的变化形式,它也是前馈网络的核心部分,体现了人工神经网络的最精华 部分1。然而,依靠操作人员的经验来建立合理的神经网络算法,编写程序仿真再到分析结果需 要很长时间的试探,并且网络结构、训练参数及训练方法的改变往往会引起程序的改变,为 设计和仿真带来很多不便。Matlab 神经网络

5、工具箱(Neural Network Toolbox)以神经网络理论 为基础,用 Matlab 的语言构造出各种神经网络激活函数、训练函数及各种网络集成块等。 设计者通过对激活函数、网络函数等的调用,仅需写很少的源代码,即可完成必须的科学计 算。根据各种典型的修正网络权值的规则,配合网络的训练过程,用 Matlab 编写出各种网 络设计与训练的子程序,网络的设计者可以根据自己的需要去调用工具箱中有关神经网络的 设计训练程序,使自己能够从繁琐的编程中解放出来,集中精力去思考问题和解决问题,取 得事半功倍的效果。- 5 -2.BP 神经网络设计的基本方法Matlab 的 NNbox 提供了建立神经

6、网络的专用函数 newff()。用 newff 函数来确定网络层 数、每层中的神经元数和传递函数,其语法为:net=newff(PR,S1,S2, ,SN,TF1,TF2, ,TFN,BTF,BLF,PF)式中:PR 表示由每个输入向量的最大最小值构成的 Rx2 矩阵;Si 表示第 i 层网络的神经元个数;TF 表示第 i 层网络的传递函数,缺省为 tansig,可选用的传递函数有 tansig,logsig 或 purelin;BTF 表示字符串变量,为网络的训练函数名,可在如下函数中选择:traingd、 traingdm、traingdx、trainbfg、trainlm 等,缺省为 t

7、rainlm;BLF 表示字符串变量,为网络的 学习函数名,缺省为 learngdm;BF 表示字符串变量,为网络的性能函数,缺省为均方差mse。newff 在确定网络结构后会自动调用 init 函数用缺省参数来初始化网络中各个权重和阈 值,产生一个可训练的前馈网络,即该函数的返回值为 net。下面针对以上各参数的确定作简要介绍。 网络层数:BP 网络可以包含不同的隐层,但理论上已经证明,在不限制隐层节点数的情况下,两 层(只有一个隐层)的 BP 网络可以实现任意非线性映射。在模式样本相对较少的情况下,较少的隐层节点,可以实现模式样本空间的超平面划分,此时,选择两层 BP 网络就可以了; 当模

8、式样本数很多时,减小网络规模,增加一个隐层是必要的,但 BP 网络隐层数一般不超 过两层。输入层节点数:输入层起缓冲存储器的作用,它接受外部的输入数据,因此其节点数取决于输入矢量的 维数。输出层节点数:输出层节点数取决于两个方面,输出数据类型和表示该类型所需的数据大小。 隐层节点数:一个具有无限隐层节点的两层 BP 网络可以实现任意从输入到输出的非线性映射。但对于有限个输入模式到输出模式的映射,并不需要无限个隐层节点,这就涉及到如何选择隐层 节点数的问题,而这一问题的复杂性,使得至今为止,尚未找到一个很好的解析式,隐层节 点数往往根据前人设计所得的经验和自己进行试验来确定。一般认为,隐层节点数

9、与求解问 题的要求、输入输出单元数多少都有直接的关系。另外,隐层节点数太多会导致学习时间过 长;而隐层节点数太少,容错性差,识别未经学习的样本能力低,所以必须综合多方面的因 素进行设计。隐层节点数的初始值可先由以下两个公式中的其中之一来确定2,3。l =m + n + a(1)l =0.43mn + 0.12n 2 + 2.54m + 0.77n + 0.35 + 0.51(2)式中:m、n 分别为输入结点数目与输出结点数目,a 为 110 之间的常数。 隐层结点数可根据式(1)或(2)得出一个初始值,然后利用逐步增长(先从一个较简单的网络开始,若不符合要求则逐步增加隐层单元数到合适为止)或逐

10、步修剪(从一个较复杂的 网络开始逐步删除隐层单元)法。传输函数:BP 网络中的传输函数通常采用 S(sigmoid)型函数:f ( x ) =11 + e x(3)在某些特定情况下,还可能采用纯线性(pureline)函数。如果 BP 网络的最后一层是 Sigmoid 函数,那么整个网络的输出就限制在一个较小的的范围内(01 之间的连续量); 如果 BP 网络的最后一层是 Pureline 函数,那么整个网络的输出可以取任意值。 训练方法及其参数选择针对不同的应用,BP 网络提供了多种训练、学习方法,可供选择。在 Matlab 中训练网 络有两类模式:增加方式(incremental mode

11、)和批处理方式(batch mode)。在增加方式中,每 提交一次输入数据,权值和阈值都更新一次,增加方式更普遍的应用于动态网络;在批处理 方式中,当所有的输入数据都被提交以后,权值和阈值才被更新,使用批处理方式只需为整 个网络指定一个训练函数,在样本数比较多时,批处理方式比增加方式收敛速度快,而且许 多改进的快速训练算法只能采用批处理方式。故本文只讨论批处理方式,以批处理方式来训 练网络的函数是 train,其语法主要格式为:net,tr=train(NET,p,t)式中:p 和 t 分别为输入输出矩阵,NET 为由 newff 产生的要训练的网络,net 为修正后的网络,tr 为训练的记录

12、(训练步数 epoch 和性能 perf)。train 根据在 newff 函数中确定的训练函数来训练,不同的训练函数对应不同的训练算法.训练时直接调用上述的函数名,调用前为下列变量赋初始值:net.trainParam.show 每多少轮显示一次;net.trainParam.lr学习速度;net.trainParam.epochs最大训练轮回 数;net.trainParam.goal目标函数误差。3.BP 网络在河水污染预报中的应用目前由于自动环境监测技术的发展,积累了大量环境信息,如果能找到行之有效的方法 或技术来揭示这些历史时序数据内部所隐藏的对人类有用的知识或信息,将对分析环境状况

13、 的变化、污染源的变迁和环境管理的变革起到非常重要的作用。通过对污染物资料的分析, 发现河水污染物浓度的变化具有较强的非线性特性,要对其进行较为准确的预测,就必须采 用能捕捉非线性变化规律的预报方法,传统统计预报方法或数值预报逐渐显示出其局限性, 因此将 BP 神经网络引入到河水污染预报中来,用历史时序数据预测未来河水污染水平,弥 补传统预报方法的不足。有研究表明,一天中某指定时段内的水浓度与前一日各小时平均浓度有关;虽然污染物 浓度与环境条件等多种因素密切相关,常规预测方法不可忽略,但对于三层前向神经网络, 如果输入向量为浓度历史时间序列,输入层窗宽足够大,那么网络结构本身就包含了其他污 染

14、物和气象条件对待预测污染物浓度的影响4。表 1 训练算法列表函数训练算法备注traingd最速梯度下降算法收敛速度慢,网络易陷于局部极小,学习过程常发生振荡traingdm有动量的梯度下降算法收敛速度快于 traingdtraingdx学习率可变的 BP 算法收敛速度快于 traingd,仅用于批量模式训练trainrp弹性 BP 算法用于批量模式训练,收敛速度快,数据占用存储空间小traincgfFletcher-Reeves 变梯度算法是一种数据占用存储空间最小的变梯度算法,且速度通常比traingdx 快得多,在连接权的数量很多时,时常选用该算法traincgpPolak-Ribire

15、变梯度算法存储空间略大于 traincgp,但对有些问题有较快的收敛速度traincgbPowell-Beale 变梯度算法性能略好于 traincgp,但存储空间较之略大trainscg固定变比的变梯度算法比其他变梯度算法需要更多迭代次数,但无需在迭代中进行线性搜索使每次迭代的计算量大大减小,存储空间与 traincgf 近似trainbfgBFGS 拟牛顿算法每次迭代过程所需的计算量和存储空间大于变梯度算法,数据存储量近似于 Hessian 矩阵,对规模较小的网络更有效trainoss变梯度法与拟牛顿法的折中算法trainlmLevenberg-Marquardt 算法对中等规模的前馈网络

16、(多达数百个连接权)的最快速算法trainbr贝叶斯归一化法可使网络具有较强的泛化能力,避免了以尝试的方法去决定最佳网络规模的大小定义输入向量和目标向量:对于每一年,都建立 2 个矩阵,即训练集输入向量矩阵 P,训练集目标向量矩阵 T, 待预测输入向量矩阵 PC 和待预测目标向量矩阵 TC。每个矩阵都有 24 行 121 列,其中第i 行(i=1,2,24)代表第 i 小时,第 j 列(j=1,2,121)代表 4 个月中的第 j 天; 输入向量矩阵的第(j+1)列为目标向量矩阵的第 j 列,表示目标值为第二日该小时平均浓 度。一般来说,在实际应用中,由于所采集的数据跨度较大, 为了便于网络训

17、练, 防止计算 过程出现“过拟合”等问题, 需先将数据进行“标准化”处理。标准化方法可采用零均值标准差 标准化方法或归一化等方法。在实践中,发现,采用归一化方法效果较好(注意,如果进行 了这一步,则对以后 BP 网络训练输出的结果一定要进行相反的处理过程,即将输出值还原 为原量纲值)。根据公式可将数据“归一化”, 即限定在0, 1 区间内。归一化公式为:xk创建 BP 网络和定义训练函数及参数:= xk xminxmax xmin(4)采用三层 BP 网络,选取输入层节点数为 24(分别为一天 24 h 各小时平均浓度); 输出层节点数为 1(为第二日该小时水小时平均浓度);根据前述经验公式,

18、选取隐层 节点数为 5。但通过实际应用发现网络预测性能并不理想,经分析研究后发现对于一个 具有 ni 个输入、no 个输出、nh 个隐层节点的三层前向网络,自由度=no+nh(ni+no+1); 本例共有 121 个训练样本,ni=24,no=1,计算得隐层节点数不能大于 4;故最终确定隐 层节点数为 nh=4。对于学习算法,根据前述各种算法特点和实践比较,选用贝叶斯归一 化学习算法。4.结论BP神经网络具有很强的学习、联想和容错功能,具有高度非线性函数映射功能,将其 应用于河水污染预报预测精度较高,泛化能力好;Matlab中的工具箱使BP网络的建立、训练 以及仿真都变得非常简单,而且训练过程

19、及效果非常直观,使神经网络应用于实际具有更大的 可行性。以往报道的神经网络在河水环境预测领域的应用多是基于河水污染物含量与环境因 素建立的网络,本文初步尝试采用历史时序数据建立网络,由于数据量有限,在使用更 大数据集建立网络,还有待进一步研究。参考文献1 郭嗣琮,陈刚.信息科学中的软计算方法M.沈阳:东北大学出版社,2001 2 陈国权.模糊集合、语言变量及模糊逻辑M.北京:科学出版社,19823 周开利,康耀红神经网络模型及其 MATLAB 仿真程序设计M北京:清华大学出版社,20054 徐庐生微机神经网络M北京:中国医药科技出版社,19955 高大启有教师的线性基本函数前向三层神经网络结构

20、研究J计算机学报,1998,21(1):80-856 PREZ P,TRIER A,REYES JPrediction of PM25 concentrations several hours in advance using neural networks in Santiago,Chile JAtmospheric Environment, 2000, 34:1189-1196Matlab-based BP neural network of river water pollution in the ForecastHan ZhaopingLiaoning Engineering Tech

21、nology University College, Fuxin, Liaoning (123000)AbstractIntroduced the use of Matlab neural network toolbox for BP neural network design process and the basic method. BP network model and the introduction of river water pollution to the area of forecasting,MATLA is suitable to become multi-discip

22、linary, multi-platform, the work of the powerful large-scale software, after some of the authority and build the appropriate choice of BP neural network to build awater pollutant content of the neural network Forecasting model. The results show that, BP model applied to river water pollution has forecast a higher forecast accuracy and good generalization ability,the information society for urban air pollution forecasting work provides a new thinking and methods.Keywords: BP neural network; Matlab; river pollution

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1