关键词:大气环境质量评价 BP网络 RBF网络 人工神经网络
1 前言
大气环境质量评价的方法主要有单因子法与综合评价法,由于评价涉及要素较多,故而人们十分重视对大气环境质量的综合评价,并提出了一系列数学模型,如综合指数模型、模糊数学模型、灰色数学模型、随机模型、神经网络模型(主要是BP网络)等。但由于评价因子众多,且均与大气环境质量级别之间存在非常复杂的非线性关系,故而至今还没有形成一种完全统一的综合评价方法。
人工神经网络是20世纪50~60年代产生、80年代以来发展起来的一种处理复杂非线性问题十分有效的手段,它模拟人脑的特征,具有自组织、自学习、自适应、容错性等特点, 被广泛应用于模式识别等领域。环境质量评价实质上是一种依据环境质量标准对待评样本进行模式识别的问题,因此研究神经网络方法在大气环境质量评价中的应用具有非常现实的意义。
神经网络方法现有数十种[1],实际工作中大都采用BP网络。文献[2~4]将其应用于大气环境质量评价取得了较好的效果,但文献 [5~7]也指出了BP网络的局限性。神经网络应用于大气环境质量评价时,通常采用评价分级标准作为训练样本,训练样本过少,无法构建检测样本,从而影响了网络效果[8,9]。
本文介绍了MATLAB6.5神经网络工具箱中径向基网络的基本原理、训练算法以及实现函数,并将其应用于某市的大气环境质量评价,尝试利用MATLAB的PREMNMX函数进行原始数据预处理、利用RAND函数在大气环境质量评价标准等级间线性内插构造足够数量的训练样本、检测样本及其目标输出、确立评价等级界限。
2 径向基网络原理[10,11]
径向基网络是由输入层、隐层和输出层构成的3层前向网络,见图1(以单个输出神经元为例)。隐层神经元采用径向基函数作为激励函数,通常用高斯函数作为径向基函数。
对于输入层,只负责信息的传输,其输入与输出相同;对于隐层,每个神经元将自己和输入层神经元相连的连接权值矢量 (也称为第i个隐层神经元的基函数中心)与输入矢量 [表示第q个输入矢量, ]之间的距离乘以本身的偏置值 作为自己的输入,见图2。
图1 径向基网络结构
图2 RBF网络隐层神经元的输入与输出示意
对应输入层第q个输入产生的隐层第i个神经元的输入为 :
隐层第i个神经元的输入经过高斯函数的变换产生的输出为 :
径向基函数的偏置值 可以调节函数的灵敏度,但实际工作中常用另一参数 (称为扩展常数)。 和 的关系在实际应用中有多种确定方法,在MATLAB神经网络函数中 和 的关系设置为 ,此时隐层神经元的输出变为:
值的大小实际上反映了输出对输入的响应宽度(见图3)。例如,当 取4时,那么输入矢量与对应权值矢量之间的距离小于4时的响应较大,在0.5以上;反之,响应较小。 值越大,隐层神经元对输入矢量的响应范围也越扩大,且神经元间的平滑度也较好。
图3 、 、 与 关系
对于输出层而言,输出为各隐层神经元输出的加权求和,激励函数采用纯线性函数,对应输入层第q个输入产生的输出层神经元输出 为:
RBF网络的训练分为2步:第1步为非监督式学习训练输入层与隐层间的权值 ,第2步为监督式学习训练隐层与输出层间的权值 。网络的训练需要提供输入矢量( )、对应的目标矢量( )以及径向基函数的扩展常数( )。当采用的隐层神经元数等于输入矢量数时, 值可以取得较小,比如 ;当采用较少的隐层神经元去逼近输入矢量时,应当取较大的 值,比如 ,这样可以保证使每个隐层神经元可同时对几个输入产生响应。训练的目的是求取2层权值 、 和偏置值 、 (当隐层单元数等于输入矢量数时,取 )。
在RBF网络训练中,隐层神经元数的确定是一个关键问题。过去的做法是使其与输入矢量数相等,显然,在输入矢量很多时,过多的隐层单元数是难以让人接受的,为此提出了改进方法。基本原理是:从0个神经元开始训练,通过检查输出误差使网络自动增加神经元,训练样本每循环计算1次后,用使网络产生最大误差所对应的训练样本作为权值向量 产生一个新的隐层神经元,然后重新计算,并检查新网络的误差,重复此过程直至达到误差要求或最大隐层神经元数为止。该训练算法由MATLAB6.5中的NEWRB函数实现。
由上可见,NEWRB函数执行的训练算法可以自适应确定径向基网络结构和不需要人为确定网络初始权值,从而减少了网络训练的随机性。
3 径向基网络应用
通过引入一个大气环境质量评价实例来说明径向基网络应用的整个过程。
3.1 原始数据
大气环境质量评价标准及某市一年中四季的大气环境监测数据[12]见表1和表2,以下采用径向基网络方法对该市进行大气环境质量评价。
表1 大气环境质量评价标准
评价指标 | 一级 | 二级 | 三级 | 四级 |
SO2(mg/m3) | 0.002 | 0.02 | 0.06 | 0.1 |
NOx(mg/m3) | 0.016 | 0.05 | 0.1 | 0.15 |
TSP(mg/m3) | 0.02 | 0.15 | 0.3 | 0.5 |
降尘[t/(km2·月)] | 3.4 | 6.8 | 10.2 | 13.6 |
表2 大气环境质量监测数据及评价结果
评价指标 | 待 评 样 本 |
春 | 夏 | 秋 | 冬 |
SO2(mg/m3) | 0.11 | 0.093 | 0.057 | 0.085 |
NOx(mg/m3) | 0.038 | 0.036 | 0.014 | 0.014 |
TSP(mg/m3) | 0.551 | 0.514 | 0.35 | 0.34 |
降尘[t/(km2·月)] | 14.3 | 16.2 | 9.6 | 10.2 |
网络输出 | 3.0421 | 3.0139 | 2.7118 | 2.8419 |
评价等级 | 四级 | 四级 | 三级 | 三级 |
3.2 神经网络的准备工作
3.2.1 训练样本集、检测样本集及其期望目标的生成
训练样本集:采用MATLAB的RAND函数在各级评价标准内按随机均匀分布方式线性内插生成训练样本,小于一级标准的生成500个,一、二级标准之间的生成500个,其余以此类推,共形成2000个训练样本。此法解决了过去仅用评价标准作为训练样本,训练样本数过少和无法构建检测样本的问题。
检测样本集:用生成训练样本同理的方法生成检测样本,小于一级标准生成100个,一、二级标准之间生成100个,其余以此类推,共形成400个检测样本。
期望目标(对于训练样本集与检测样本集):采用一个输出神经元,小于一级标准的训练样本和检测样本的期望目标为按照生成训练样本和检测样本的内插比例产生对应的0~1之间的数值;一、二级标准之间的训练样本和检测样本的期望目标为按照生成训练样本和检测样本的内插比例产生对应的1~2之间的数值;二、三级标准之间的训练样本和检测样本的期望目标为按照生成训练样本和检测样本的内插比例产生对应的2~3之间的数值;其余以此类推。
3.2.2 大气环境质量评价等级的划分界限
据上述生成训练样本与检测样本目标输出的思路可以确定一、二、三、四各级大气质量的网络输出范围分别为:<1、1~2、2~3、>3。
3.2.3 原始数据的预处理
试验2种预处理方案:归一化,即利用PREMNMX函数将原始数据归一化到-1与1之间;不归一化,即原始数据不进行预处理。
3.3 径向基网络的构建、训练与检测
3.3.1 径向基网络的构建
RBF网络输入层神经元数取决于大气环境质量评价的指标数,据题意确定为4,输出层神经元数设定为1,利用MATLAB中的NEWRB函数训练网络,自适应确定所需隐层单元数,隐层单元激励函数为RADBAS,加权函数为DIST,输入函数为NETPROD,输出层神经元的激励函数为纯线性函数PURELIN,加权函数为DOTPROD,输入函数为NETSUM[13]。
3.3.2 网络的训练、检测与大气环境质量评价
利用MATLAB6.5提供的函数,通过简单编程即可实现网络的训练、检测与应用。采用归一化原始数据,网络训练6次,得训练样本与检测样本的均方误差分别为0.0014、4.6858×10-4,随机选取12个训练样本与12个检测样本,其相对误差情况见表3,表明网络已具有良好的泛化能力。应用训练好的网络进行待评点的大气质量评价,得到春、夏、秋、冬4个待评点的网络输出结果分别为3.0421、3.0139、2.7118和2.8419。
表3 训练样本与检测样本的网络输出误差
序号 | 训练样本 | 检测样本 |
目标输出 | 实际输出 | 相对误差(%) | 目标输出 | 实际输出 | 相对误差(%) |
1 | 0.8952 | 0.8865 | 0.9741 | 0.3770 | 0.3514 | 6.7701 |
2 | 0.9424 | 0.9387 | 0.3884 | 0.9073 | 0.8999 | 0.8189 |
3 | 0.3351 | 0.3145 | 6.1538 | 0.6702 | 0.6415 | 4.2811 |
4 | 1.8952 | 1.8781 | 0.9023 | 1.8364 | 1.8284 | 0.4356 |
5 | 1.9424 | 1.9176 | 1.2768 | 1.1453 | 1.1599 | 1.2748 |
6 | 1.3351 | 1.3615 | 1.9774 | 1.1715 | 1.1883 | 1.4341 |
7 | 2.8952 | 2.9005 | 0.1831 | 2.8364 | 2.8490 | 0.4442 |
8 | 2.9424 | 2.9411 | 0.0442 | 2.1453 | 2.1199 | 1.1840 |
9 | 2.3351 | 2.3335 | 0.0685 | 2.1715 | 2.1489 | 1.0408 |
10 | 3.8952 | 3.8882 | 0.1797 | 3.8364 | 3.8477 | 0.2945 |
11 | 3.9424 | 3.9140 | 0.7204 | 3.1453 | 3.1263 | 0.6041 |
12 | 3.3351 | 3.3202 | 0.4468 | 3.1715 | 3.1517 | 0.6243 |
3.3.3 结果分析
将待评点按网络输出结果由小到大的顺序排列为:秋、冬、夏、春,它反映了4个待评点的质量优劣顺序,见图4。
图4 待评样本大气环境质量排序
图4形象直观地反映4个待评点各指标含量的分布状况,可以明显看出:对于秋,只有1个指标超过三级标准;对于冬,有2个指标超过三级标准;对于夏,有2个指标超过四级标准;对于春,有3个指标超过四级标准。据大气环境质量等级划分界限,判定各待评点的质量等级:春、夏为四级,秋、冬为三级。
以上分析表明,径向基网络方法不仅能区分待评点的质量等级,且对同一质量等级也能准确刻划它们之间质量的细微差异。
3.3.4 原始数据归一化问题
试验采用不归一化的原始数据进行网络训练。多次试验表明,无论怎样调整均方误差,网络都不能输出正确结果。
3.4 BP网络的应用效果
作为与径向基网络的对比,构建了解决该问题的BP网络,过程如下:
3.4.1 BP网络的构建
采用3层网络,输入、输出层神经元数据题意分别确定为4、1,隐层单元数的确定至今没有统一的方法,参照如下常用经验公式[14]:
式中, ——隐层单元数;
——输入层单元数;
——输出层单元数;
=1~10,试验2种隐层单元数分别为10、3。
隐层单元、输出层单元的输入输出函数(激励函数)分别采用双曲正切函数和线性函数,即MATLAB中的TANSIG 和PURELIN函数;网络采用Powell-Beale共轭梯度反向传播算法进行训练,即MATLAB中的TRAINCGB函数 [13]。
3.4.2 BP网络效果对网络结构和初始权值的依赖性
采用归一化原始数据,控制均方误差为0.0001,进行了2种不同结构(隐层单元数)以及同一结构连续2次(反映了不同初始权值的影响)的大气环境质量评价试验,结果见表4。从表4中可见,4个待评点的评价结果和训练次数都存在较大差异,表现出很大的随机性。
表4 BP网络结构与初始权值对评价结果的影响
隐层神经元数 | 训练序号 | 春 | 夏 | 秋 | 冬 | 训练次数 |
10 | 1 | 4.1893 | 4.7583 | 3.1918 | 3.7585 | 35 |
2 | 1.0842 | 2.1688 | 1.0065 | 0.5074 | 20 |
3 | 1 | 1.1726 | 1.9724 | 0.26575 | 0.3653 | 34 |
2 | 3.4301 | 3.5867 | 2.2894 | 2.8927 | 65 |
4 结论
4.1 MATLAB6.5工具箱提供的径向基网络实现函数NEWRB具有自动确定网络结构和无需人为确定网络初始权值的特点,可以减少网络训练的随机性,从而提高大气质量综合评价的客观科学性。
4.2 利用MATLAB的RAND函数生成大气质量评价训练样本、检测样本及其对应目标输出的方法,可以产生足够数量的训练与检测样本,能较好地避免过去仅用评价标准作为训练样本带来的训练样本数少和不能构建检测样本问题,对提高网络的泛化能力具有较为显著的效果。
4.3 在应用MATLAB工具箱函数实现径向基网络功能时,建议将原始数据进行归一化,否则网络难以收敛。
4.4 径向基网络方法在某市一年中四季的大气环境质量评价中取得良好效果。在实际应用过程中,若对一个区域进行大气环境质量评价,可以利用众多监测点的网络输出结果制作区域大气环境质量等值线图,更为准确地反映区域大气环境质量的变化状况。4.5 与RBF网络相比,BP网络在网络结构与初始权值确定方面表现出更大的人为性,建议选用RBF网络进行神经网络大气环境质量评价。
5 参考文献
1 ANDERSON J A .An introduction to neural networks. London: MIT Press, 1995,5~9.
2 李祚泳,邓新民. 大气环境质量综合评价的B-P网络模型 .重庆环境科学,1994,16(6):37~40.
3 郑成德. 大气环境质量的人工神经网络决策模型.环境科学进展,1997,17(1):83~87.
4 伍开宝,李祚泳,彭荔红. 城市环境质量的BP网络综合评价. 厦门大学学报, 1999,38(5).
5 Rumellhart D E, Hinton G E, Williams R J. Learning internal representations by error propagation. Nature,1986,323(6188):533~536.
6孟斌,冯永,翟玉庆. 前馈神经网络中BP算法的一种改进.东南大学学报,2001,31(4):1~3.
7 胡守仁. 神经网络应用技术. 长沙:国防科技大学出版社,1998,28~72.
8 赵林明,胡浩之,魏德华,等. 多层前向人工神经网络 .郑州:黄河水利出版社,1999,9~68.
9 董聪.,多层前向网络的逼近与泛化机制. 控制与决策,1998,13(增刊):413~417.
10 Wasserman P D. Advanced methods in neural computing. New York: Van Norstrand Reinhold,1993,334~366.
11从爽. 径向基函数网络的功能分析与应用的研究.计算机工程与应用,2002,38(3):85~87.
12 杨文东,程洪斌. 神经网络在大气环境质量评价中的应用研究. 工业安全与环保,2001,27(9):31~33.
13 许东,吴铮编著. 给予MATLAB6.X系统分析与设计—神经网络. 西安:西安电子科技大学出版社,2002,125~168.
14 韩力群编著.人工神经网络理论、设计及应用. 北京:化学工业出版社,2001,123~125.
国家自然科学基金专项基金项目,编号40242018.
第一作者罗定贵,男,1965年9月出生,现为北京大学博士研究生,副教授。