-
太湖作为中国五大淡水湖之一,位处江浙两省之间.从上个世纪80年代开始,太湖的水污染问题日益严峻,水质污染严重.现有的现场水质监测技术与遥感技术对于水体监测缺乏连续性和准确性,而利用电子信息技术和互联网技术,以传感器为节点的水质监测系统则实现对太湖不同区域地表水的实时监测.长期使用中水质传感器易受外界影响导致测量不准确,传统评价方法容易受主观因素影响,使得传统水质监测系统在对水质等级综合评价中表现不佳.随着人工智能的发展,越来越多的人将神经网络运用到水质评价系统中,但是由于非线性水质模型具有复杂性、多变性以及不确定性,简单的BP神经网络已经无法获得准确的水质数据,因此无法对水质情况进行有效的监测和评价.
本文提出一种改进型GA-BP算法优化的TS模糊神经网络(TSFNN),并应用到多参数水质监测与评价系统中.利用人工神经网络对多输入多输出模型有着很好的辨识效果,本文通过改进型GA-BP算法先对不同传感器采集到的多维水质数据进行校准处理,消除温漂等诸多干扰因素带来的误差,系统再根据网络校准后得到的近似真实值的数据,通过TS模糊神经网络来综合判断传感器所在水域的水质等级.
全文HTML
-
多参数水质监测系统需要对水质的pH值、DO(溶解氧)、浊度和氨氮4个参数实时监测,将传感器测量的数据通过数据控制端及时存储,并通过GPRS模块发送至监测端,监测中心的人员能够根据获得的数据定位到异常水域位置.
系统的硬件设计是基于ARM嵌入式技术,分别通过玻璃电极型pH传感器、极谱式薄膜探体溶解氧传感器、散射光式浊度传感器、分光光度式氨氮传感器和防水型DS18B20温度传感器来测量水质的pH值、DO值、浊度、氨氮值和水温,将获得的数据首先发送到低通滤波电路和50 Hz工频陷波电路来消除信号中存在的高频毛刺及外界信号的干扰和温漂误差,然后分别通过各类参数的调理电路对传感信号进行优化处理,接着经过A/D模块对数据进行高精度的模数转换发送至主处理器920TS3C2410,最后通过GPRS模块将测量的水质参数信息发送回监测端进行分析和存储.系统硬件结构图如图 1所示.
1.1. 硬件总体结构
-
系统内包含多个采样点,每个采样点拥有多个传感器测量水质的pH值、DO值、浊度值、氨氮值.系统每4 h测量一次数据,通过从WEB监测平台随机导出2 200组测量值,从中选取2 000组数据用于GA-BP神经网络的训练,200组数据作为测试数据,部分数据如表 1.根据青悦开放环境数据中心提供的水质数据作为输出的期望数据,用于检验GA-BP网络部分对非线性系统的拟合能力.
地表水环境质量标准(GB3838-2002)的分类标准见表 2,通过等隔均匀分布方式内插水质指标标准数据生成400组数据,用于建立TS模糊神经网络[1],其中350组用于训练,其余50组用于检测网络是否有良好的泛化能力和判断准确性.
其中,Ⅰ到Ⅱ类,Ⅱ到Ⅲ类,Ⅲ到Ⅳ类及Ⅳ到Ⅴ类数据各100组,利用网络输出值来判断该区域水质等级,若该值在B-1类和B类之间,则判定该区域水质等级为B类[2-5].此外为了防止各维数据之间的数量差过大,导致神经网络在预测过程中误差过大,无法有效地拟合有效的非线性函数,本文采用最大最小法对输入输出数据进行预处理,将样本的数据进行归一化处理[6].
-
本文采用神经网络来实现数据的多输入多输出并行处理,根据传感器实际数据预测出接近真实数据的预测数据,将预测值作为水质评价的输入,通过TS模糊神经网络的模糊化层和模糊化规则计算层得到由校准后数据评价的水质等级,以此来评定该水域的水质状况[7-9]. GA-BP优化TS模糊神经网络算法流程如图 2所示.
-
改进型GA-BP算法优化的TS模糊神经网络在多参数水质评价中分为两个部分:改进型GA-BP神经网络与TS模糊神经网络,GA-BP神经网络结构分为输入层,隐含层和输出层.由于监测系统测量4种参数的数据,输入层为4个节点.隐含层的节点数影响着网络的预测精度和训练时间,其选取先利用以下公式确定隐含层节点数的大致范围,再用试凑法来确定最佳数目[10].
式中n为输入层节点数,m为输出层节点数,a为0~10之间的常数.通过MATLAB仿真测试,可以得到BP神经网络预测误差与隐含层节点数的关系如图 3所示.
由图 3可知,本文中神经网络的隐含层节点数定为7,此时神经网络中4个水质参数的预测误差最小.由于水质模型存在着较为复杂的映射关系,普通的单层隐含层结构无法满足预测精度,所以神经网络拟采用双隐含层.本文根据预测误差百分比、均方差、运行时间3个指标来衡量网络的性能,此处的预测误差百分比取4个节点误差百分比平均值.在MATLAB中可以通过配置S向量来实现双隐含层.根据仿真测试,当GA-BP神经网络的结构为4-7-6-4时,预测精度最高.两者性能比较如表 3所示:
TS模糊神经网络(TSFNN)结构分为输入层、模糊化层、模糊规则计算层和输出层.输入层与输入向量相连接,它的各个节点与输入分量Xi连接,则输入节点数为4,但因为pH在水质等级评价标准中没有明确界限,则设置网络输入节点数为3.模糊化层的目的是通过隶属度生成函数实现对输入值各个分量的模糊化,得到每个输入分量的模糊隶属度.计算层则通过连乘该层的节点数计算得到ω[12].因为输出层为水质等级,其节点个数为1,根据输入输出节点数的个数,确定隶属度函数个数为7,因此确定网络结构为3-7-1,隶属度函数的中心与宽度以及系数则通过初始化的方式求得.
-
BP神经网络的参数包括权阈值、学习率、迭代次数、训练目标最小误差等,这些参数的选取直接影响神经网络整体性能.学习率越大,权值的变化率越大,其取值范围一般在[0.01,0.1]之间.本文学习率取0.05,迭代次数取200,训练目标的允许误差为0.000 01.
BP神经网络算法的权值阈值经过随机初始化产生,在训练过程中容易遇到局部最小陷阱,导致训练效果不佳. GA算法将网络中所有的权值和阈值组成种群个体,通过计算个体的适应度并选取在群体中的最优个体,最终将最优个体赋值给网络的初始权值和阈值,提高网络的整体拟合程度[13].经典的GA-BP网络通常以误差绝对值和作为个体适应度值,而均方误差MSE作为估计量与被估计量的差异程度,更能反映出个体的最优程度.本文以均方误差MSE作为个体适应度值,当进化次数为14次时,个体适应度取到最小值为0.054 22.
GA算法的种群规模越大,越容易求解最优个体,也增大了计算量.种群的分布要保持相对均匀,如果过于集中,则需要增大变异概率,减少交叉概率.如果过于分散,则反之.本文根据现有水质模型算法参数,并结合太湖水质数据的实际情况不断调整,最终确定GA算法的群体规模取50,种群中个体长度为135,迭代次数取100,交叉概率0.4和变异概率为0.25.
传统的BP神经网络通过最速下降法将权值向着负梯度方向改变,在网络训练过程中容易出现收敛缓慢、振荡等现象.通过在权值和阈值的调整中增加附加动量的学习公式(3),使得网络在修改权值时考虑以前积累的学习经验.网络动量因子取值为0.95.
式中,a为动量学习率.最后将节点的输入数据、改进的GA-BP网络预测的数据、期望数据分别进行水质等级评价,比较前两者的水质等级精确度[14].
3.1. 网络结构
3.2. 网络参数优化
-
为了更加直观地分析改进后监测与评价系统在实际应用中的效果,通过实验来获取传感器数据,并进行Matlab仿真与分析.在苏州西山太湖的不同位置放置检测系统的传感器节点(图 4)及室外控制单元(图 5),设定系统数据采样间隔为4 h,分别采集河流的pH值、DO值、浊度、氨氮4个数据,通过3G网关节点(图 6)将传感器数据传输到监测终端(图 7),以WEB的形式显示出各节点采集的数据情况,
选择某个节点,导出其在2016/08/01到2017/08/03的2 200组数据,并选择同时间段内青悦开放环境数据中心提供的水质数据作为真实值来进行网络训练.
-
在Matlab R2015a软件上分别使用BP神经网络算法、GA-BP神经网络算法与改进型GA-BP神经网络算法对水质模型进行拟合,通过比较BP、GA-BP和改进GA-BP神经网络的绝对误差与绝对误差百分比来分析两者对复杂的水质模型的拟合状况. 图 8和图 9分别是GA-BP神经网络与改进GA-BP神经网络在训练过程中的均方误差变化图.
由图 8和图 9可知,当BP神经网络在迭代次数为69次时,其均方误差达到最小值0.0505.当改进型GA-BP神经网络在迭代次数为30次时,其均方误差达到最小值0.0235,相比前者,迭代次数减少了56%,均方误差减少了53%,大大提高了网络的预测精度.
如图 10所示,普通BP神经网络在对水质模型进行拟合和4个参数预测时,pH和溶解氧的误差基本维持在0.2以内,氨氮的误差较小,浊度的误差波动较大,四者的误差百分比均大于2%.根据图 11可知,GA优化的BP网络在复杂水质模型拟合上,误差基本在0.1和0.2之间波动,浊度预测误差仍然波动较大,但整体明显小于未优化前. 4个水质参数在GA-BP网络中的预测误差百分比均控制在1.5%左右,说明该网络对水质模型具有良好的训练能力与预测能力,GA优化BP网络相比于BP网络,在预测精度上分别提高了21.9%,30.2%,38.4%,23.9%.
由图 12可知,以均方误差MSE作为个体适应度值的改进型GA-BP网络对水质模型进行拟合后,网络预测绝对误差波动振幅减小,整体呈现更加平稳态势.其中水质参数pH值、溶解氧和氨氮的预测误差基本保持在±0.1以内.而浊度的预测误差大部分在±0.1以内,但波动较大,个别误差接近±0.2.改进型GA-BP网络预测误差百分比与改进前的GA-BP网络相比分别减少了25.7%,29.2%,23.2%,25.6%.三者误差百分比如表 4所示:
-
利用Matlab软件和等间隔插入法得到的400组标准水质数据对TS模糊神经网络进行训练与测试,网络训练次数为200次. TS模糊神经网络在标准数据训练过程中,根据计算网络训练数据预测的均方误差为0.002 312,绝对误差百分比为1.23%,结果可知预测输出对实际输出拟合程度较高,水质等级预测误差较小.训练后的网络再使用50组标准数据进行测试,测试结果的误差曲线平稳且在0附近小范围上下波动,根据计算可得均方误差为0.002 022,误差百分比为1.12%. TS模糊神经网络训练完成后,将系统中的200组测试数据、优化后的200组测试数据分别用于网络输入进行水质等级评价,结果如图 13所示.
因为水质等级为1~5的正整数,所以当TS模糊神经网络预测误差值大于1时,会影响系统评价结果.由图 13可知原始数据得到的水质等级预测误差波动较大且影响结果的样本数为25,其精确度87.5%,而经过改进型GA-BP网络优化后的水质等级预测误差整体上小于优化前,误差波动减小且影响结果的样本数为0,其精确度达到100%,较前者提高了14.28%.
4.1. 算法性能分析
4.2. 优化后模糊神经网络水质评价分析
-
本文所述的多参数水质监测与评价系统[15-16]已经取得实用新型专利,针对其在长期使用过程中出现的数据不准确和水质等级评价不正确的状况,本文采用改进型GA-BP神经网络优化TS模糊神经网络对多输入多输出的多参数水质监测系统进行校准和对测量区域的水质等级进行评估,通过MATLAB仿真与实际情况相结合,可以得到以下结论:
1) 均方误差MSE作为一种描述估计量与被估计量之间的差异程度的度量,相比于误差绝对值和,当MSE作为个体适应度值去求最优个体时,网络得到的水质参数预测值更加接近真实值.
2) 水质评价系统的准确度不仅仅取决于网络的性能,更由网络输入数据的精确性决定.通过改进型GA-BP神经网络对传感器数据进行校准预处理,可以大大提高系统水质等级评价的准确性.
3) 对于多输入多输出的复杂水质模型,具有不同节点的多隐含层网络比传统的单层网络泛化能力更强,预测精度更高,有效地拟合了非线性的水质模型.
4) 用于评价水质等级的参数越多,等级评价就越精确.而多参数水质监测系统传感器节点仅能测量水质的4种参数且仅有3种数据可以用于水质评价,所以一定程度上影响系统对水质评价的精确性.