GA-BP神经网络在NB-IoT水质监测系统中的应用研究

2020-12-28 11:49葛新越王宜怀周欣
现代电子技术 2020年24期
关键词:实验分析水质监测BP神经网络

葛新越 王宜怀 周欣

摘  要: 针对水质分类模型存在评估准确率不高、训练速率慢及样本规模要求大等问题,引入遗传算法优化的BP神经网络实现水质分类模型训练。在水质终端节点中,驻留训练后的参数,实现多传感器数据融合。经同类样本训练下比较,GA?BP神经网络的水质分类模型平均收敛速度比传统BP神经网络快且不易陷入局部极小值,并保证了较好的准确率,表明利用GA?BP神经网络在NB?IoT水质监测系统中有较为良好的应用推广价值。

关键词: 水质监测; 系统设计; 模型训练; GA?BP神经网络; 數据融合; 实验分析

中图分类号: TN99?34                               文献标识码: A                      文章编号: 1004?373X(2020)24?0030?04

Application of GA?BP neural network in water quality monitoring

system based on NB?IoT

GE Xinyue, WANG Yihuai, ZHOU Xin

(School of Computer Science and Technology, Soochow University, Suzhou 215006, China)

Abstract: In allusion to the problems that the water quality classification model has low assessment accuracy, slow training rate and large sample size requirements, the BP neural network optimized by the genetic algorithm is introduced to realize the water quality classification model training. The trained parameters are kept in the water quality terminal node to realize the multi?sensor data fusion. In combination with the similar sample training, the average convergence speed of the water quality classification model of GA?BP neural network is faster than that of the traditional BP neural network, and it is not easy to fall into the local minimum value and can ensure a considerable accuracy, which shows that the application of GA?BP neural network in NB?IoT water quality monitoring system has a good application and promotion value.

Keywords: water quality monitoring; system design; model training; GA?BP neural network; data fusion; experimental analysis

0  引  言

近年来,建立高效准确的水质监测系统已成为水环境科学的研究热点[1]。传统的水质评估方法[2]主要有单因子评价法、加权均值指数法等。但这些方法仍存在一定的片面性和主观性,难以实现模型泛化。随着机器学习和神经网络的兴起,更多智能方法被广泛应用于水质评估领域,如基于主成分分析的方法[3]、基于信息熵的方法[4]、基于聚类的方法[5]和支持向量机方法[6?7]等。这些方法多是基于统计学理论,要求样本规模充分大,这在实际问题中往往无法满足。因而需要寻找一个在有限训练样本中保持较快训练速度和较高准确率的水质评价方法。本文采用遗传算法优化传统BP神经网络初始权值和阈值的选定,实现水质状态的预测与评估,对比传统BP神经网络方法,并在此基础上实现一种基于NB?IoT的远程实时水质监测系统,可以对目标水域进行实时水样采集、监测和分类。

1  传统BP算法和遗传算法及其不足

传统BP训练函数采用随机梯度下降算法,以较快的学习效率实现目标模型的训练,但由于权值和阈值的随机初始化过程,不可避免地存在训练时间波动范围大和可能陷入局部极小值的问题。

遗传算法(Genetic Algorithm,GA)模仿了自然界生物进化机制,借鉴了达尔文的进化论和孟德尔的遗传学说,演变为一种随机、高效、并行的全局搜索方法[8]。初始种群通过选择、交叉、变异实现种群更新,其进化过程如图1所示。

但是,标准GA求解过程本质上是随机寻优过程,对于局部的精确搜索常常无法达到设定条件。因此,将BP算法和遗传算法相结合,进行优势互补,有利于高效准确地进行模型分类。

2  基于GA?BP的水质监测模型设计

2.1  GA?BP算法流程

本文利用遗传算法优化BP神经网络的初始权值和阈值的选取,提高水质分类模型的训练效率。该算法的流程如图2所示。

其中,权值和阈值优化具体算法步骤如下:

1) 随机生成初始种群。以BP神经网络中的初始权值和阈值作为个体(染色体),其中,权值和阈值采用实数编码,由[-1,1]区域内随机均匀产生的实数构成。按同样的规则随机生成拥有足够染色体数量的种群。

2) 确定目标函数和适应度函数。选用一次BP训练后误差均方值E作为遗传算法的目标函数。相应地将目标函数的倒数E-1作为适应度函数,即个体越适应目标条件,其适应度的值越大。

3) 选择操作。在种群中计算出每个染色体的适应度,按适应度大小对不同染色体进行排序,采用赌轮盘算法[9],在父代备选个体中挑选出2个染色体作为父代。

4) 交叉操作。实验结果表明,以不同网络层每个权值和阈值作为单个基因进行交叉操作后,难以体现父代的特征。因此,以每层网络层作为基因个体。采用随机交叉算法,每一个基因随机选择父代中对应位置处的基因,生成新的子代染色体。

5) 变异操作。选取变异因子η=0.01,以相应概率对每个初始权值和阈值进行重新赋值,生成新的子代染色体。

6) 判断当前种群是否满足停止条件。若不满足停止条件,则取一部分原种群中适应度较高的染色体和一部分由父代繁殖出子代染色体组成新的种群,重复进行步骤3)~步骤6),直至满足停止条件,得到最优初始权值和阈值。

2.2  GA?BP网络结构设计

根据上文所述,建立单隐含层的三层BP神经网络模型,如图3所示。首先设置BP神经网络各项参数:输入层单元个数为3,表示选用的3种水质参数;输出层单元个数为1,表示水质类别;隐含层单元个数根据经验公式(1),计算出可选范围为3~12,本文中选择4个隐含层单元作为隐含层。

隐含层单元个数经验公式[10]为:

[Hnum=innum+outnum+t]     (1)

式中:Hnum为隐含层单元数;innum为输入单元数;outnum为输出单元数;t为1~10之间的常数。

设训练样例个数为D,网络由3个输入层单元X(x1,x2,x3),4个隐含层单元Y(y1,y2,y3,y4),1个输出层单元S构成。其中,wij为输入层第i个单元到隐含层第j个单元的连接权值,i=1,2,3为输入层单元编号,j=1,2,3,4为隐含层单元编号。bj为隐含层第j个单元的阈值,j=1,2,3,4为隐含层单元编号;vj为隐含层第j个单元到输出层S的连接权值,j=1,2,3,4为隐含层单元编号;k为输出层S的阈值。其改进BP训练算法过程描述如下:

将训练样例输入网络中可计算目标输出S与实际输出[S′]之间的偏差的均方值为:

[Ed=S′-S22]         (3)

本文将该均方值作为遗传算法的目标函数,根据式(3)计算,其适应度函数[fx]为:

[fx=1Ed=2S′-S2]

本文采用的激活函数为sigmoid函数为:

[sigx=11+e-x]          (4)

对于输出层,有输出层单元误差e:

[e=S-CC1-C]

式中,C由实际输出[S′]通过激活函数式(4)求得。

处于网络中间的隐含层通过下一层的误差按权重累加,有隐含层单元误差sj:

[sj=hj1-hjevj]

式中:hj为隐含层输出向量,由隐含层单元输入yj通过激活函数式(4)求得。

根据E使用梯度下降法则对权值进行修正,学习步长为λ:

[Δvj=-λ?E?vj, Δwij=-λ?E?wij]     (5)

由式(5)推导出权值下降值为:

[Δvj=λehj, Δwij=λxisj]

同时对阈值进行调整:

[Δk=-λC, Δbj=-λsj]

借助上述公式对所有训练样例进行学习,求出对应Ed,最终求得全局误差:

[E=d=1DEd]

当E小于设定误差或满足迭代次数,则停止学习,否则继续学习。

3  基于NB?IoT的水质监测系统

3.1  系统总体设计

本文中实验样本数据均源于自行设计的水质监测系统。该系统基于GEC的NB?IoT应用架构[11],包括数据采集、远程通信、实时监控、状态分类、水质预测、报警反馈和历史查询等功能,主要由终端(Ultimate?Equipment,UE)、信息邮局(Message Post Office,MPO)和人机交互系统(Human?Computer Interacttion,HCI)三部分组成,系统结构如图4所示。

其中,多传感器终端UE的作用是采集被测水样参数,如pH值、浑浊度、温度、溶解固体量(TDS)等。NB?IoT信息邮局是一种基于NB?IoT协议的信息传输系统,包括由移动运行商负责维护的基站与云服务器组成。终端UE可通过通信模组直接与基站连接,在附着核心网成功后即可与云服务器中上的侦听程序进行数据交互,再由侦听程序通过WebSocket技术向APP、网页、PC端等客户端进行数据推送。

本系统中选用低功耗芯片STM32L431RC作为主控芯片。该型号MCU采用ARM Cortex?M4内核,拥有256 KB FLASH区和64 KB RAM区[12],满足本系统数据采集、分析、处理功能。选用NB?IoT模组ME3616作为本系统的通信模块,支持串口AT指令,数据传输方式支持CoAP,TCP/UDP和MQTT,同时具有高性能、低功耗等特点,适用于低功耗、远距离的水质监测系统。

3.2  样本水质参数获取

各个水质参数传感器由于彼此之间的测量精度不同,以及所在环境中噪声等因素影响,所得数据往往不能准确表示当前水质状态,需对同一终端各传感器监测数据加以融合处理,以防止个别传感器节点数据误差过大而造成最后监测结果失真严重[13]。本系统利用上文所设计的水质分类模型,将训练好的分类参数驻留在终端UE的FLASH区中,采集水质信息时读取分类参数,实现不同传感器数据的融合分类。

本文中选用pH值、浑浊度和溶解固体量3种水质参数作为水质分类标准,参考《地下水质量标准》(GB/T 14848—2017),采用加附注的评分法对样本进行水质类别标定[14]。选用本系统20个实测数据样本,每个样本包含pH值、浑浊度和溶解固体量3种水质参数以及所属水质类别信息。以这20个数据样本作为训练样本,如表1所示。

4  实验过程及分析

根据网络结构设计,设置输入层单元数为3,隐含单元数为4,学习步长为0.1,遗传迭代次数为1 000,初始种群数为100,设定分类误差为0.001。在同一环境下,分别采用GA?BP神经网络和传统BP神经网络进行水质等级分类训练得出水质评价模型,比较两者的训练时间,如图5所示。其中,训练时间超出限定时间的点未在图中标出,该情况表示训练陷入局部极小值,难以达到设定误差。

由图5分析发现,在水质分类模型的训练中,传统BP神经网络训练时间波动范围较大;而GA?BP神经网络的训练时间基本稳定在较短时间以内。证实了GA?BP神经网络比传统BP神经网络具有更快的收敛速度且训练时间波动较小。从图5中还可以发现,利用传统BP神经网络进行训练,有多次实验陷入局部极小值,难以达到设定误差;而GA?BP神经网络训练的实验中均没有出现该问题。表明使用GA?BP神经网络训练模型陷入局部极小值的可能性大大降低。

图6为传统BP神经网络和GA?BP神经网络训练过程中误差状态图。由图6可以看出,经过遗传算法优化的BP神经网络水质分类模型在收敛速度上明显快于傳统BP,表明GA?BP神经网络能够更快速地完成模型训练。在实际水质监测中,利用不同的测试数据多次实验,得到GA?BP和传统BP算法水质等级分类准确率比较,如图7所示。

由图7中发现,GA?BP神经网络训练模型准确率与传统BP算法相差不大,都有较高的分类精度。表明使用遗传算法优化BP神经网络不会造成训练模型准确率的下降,拥有良好的分类能力。

5  结  语

人工神经网络拥有良好的数据分类能力,适用于水质监测系统中的水质分类。本文针对传统BP的固有缺陷,利用遗传算法优化初始权值和阈值,并将优化后的参数提供给BP网络进行训练,降低了BP神经网络的训练时间,提高了训练效率。实际应用和实验表明,使用GA?BP神经网络实现的水质分类模型是一种训练快和准确率高的水质评价方法。在基于NB?IoT的远程水质监测系统中,引入GA?BP神经网络进行水质分类模型训练,将模型参数驻留在终端UE中,实现多传感器数据融合,对于远程监控的实时性和准确性有较大的提升。

参考文献

[1] SHAO D G, NONG X Z, TAN X Z, et al. Daily water quality fore?cast of the south?to?north water diversion project of China based on the cuckoo search?back propagation neural network [J]. Water, 2018, 10(10): 1471?1499.

[2] 罗芳,伍国荣,王冲,等.内梅罗污染指数法和单因子评价法在水质评价中的应用[J].环境与可持续发展,2016,41(5):87?89.

[3] DALAL S G, SHIRODKAR P V, JAGTAP T G, et al Evaluation of significant sources influencing the variation of water quality of Kandla creek, Gulf of Katchchh, using PCA [J]. Environmental monitoring and assessment, 2010, 163(1/4): 49?56.

[4] SINGH K R, DUTTA R, KALAMDHAD A S, et al. Information entropy as a tool in surface water quality assessment [J]. Environmental earth sciences, 2019, 78(1): 1?12.

[5] 丛秋梅,张北伟,苑明哲.基于同步聚类的污水水质混合在线软测量方法[J].计算机工程与应用,2015,51(24):27?33.

[6] MOHAMMADPOUR Reza, SHAHARUDDIN Syafiq, CHANG Chun Kiat, et al. Prediction of water quality index in constructed wetlands using support vector machine [J]. Environment science pollution research, 2015, 22(8): 6208?6219.

[7] 笪英云,汪晓东,赵永刚,等.基于关联向量机回归的水质预测模型[J].环境科学学报,2015,35(11):3730?3735.

[8] 李隽,王伟.遗传算法优化神经网络在图像目标识别中的应用研究[J].现代电子技术,2017,40(20):111?113.

[9] LIPOWSKI A, LIPOWSKA D. Roulette?wheel selection via sto?chastic acceptance [J]. Physical a statistical mechanics & its applications, 2012(6): 2193?2196.

[10] NURY A H, HASAN K, ALAM M J B. Comparative study of wavelet?ARIMA and wavelet?ANN models for temperature time series data in northeastern Bangladesh [J]. Journal of King Saud University?Science, 2017, 29(1): 47?61.

[12] O'TOOLE J M,WRIGHT D M,HEDSTROM N A. Reference manual stand: US CA1077367 [P]. 1980?05?13 [2019?08?22].

[13] 魏宏飞,赵慧.多传感器信息融合技术在火灾报警系统的应用[J].现代电子技术,2013,36(6):139?140.

[14] 中华人民共和国国家质量监督检验检疫总局.地下水质量标准:GB/T 14848—2017[S].北京:中国标准出版社,2017.

作者简介:葛新越(1995—),男,江苏泰州人,硕士研究生,主要从事嵌入式系统与物联网、机器学习方向的研究。

王宜怀(1962—),男,江苏宿迁人,博士生导师,教授,主要从事嵌入式系统与智能控制、机器学习方向的研究。

周  欣(1995—),女,江西九江人,硕士研究生,主要从事嵌入式系统与物联网、机器学习方向的研究。

猜你喜欢
实验分析水质监测BP神经网络
黄河河道冰层雷达波特征图谱的现场实验研究
2014—2016年北戴河近岸海域水质监测数据对比分析
水泥稳定二次再生路面材料性能研究进展
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
基于生物传感器的饮用水有毒物质检测
浅谈重铬酸盐法与快速消解分光光度法的比较
BP神经网络算法在数值预报产品释用中的应用
基于WSN监测的水质预报系统模型
基于声学的大学生英语语调实验研究