文章信息
- 李海涛, 王博睿. 2020.
- LI Hai-tao, WANG Bo-rui. 2020.
- 基于粒子群算法优化的BP神经网络在海水水质评价中的应用
- Application of BP neural network based on particle swarm optimization in seawater quality assessment
- 海洋科学, 44(6): 31-36
- Marine Sciences, 44(6): 31-36.
- http://dx.doi.org/10.11759/hykx20191116002
-
文章历史
- 收稿日期:2019-11-16
- 修回日期:2020-02-12
随着海洋污染持续加重, 海洋环境的相关研究已变得尤为重要。根据各相关指标对海水的水体质量进行综合评判, 可以找出该海域的主要污染问题, 为该海域的环境管理与决策提供依据[1]。国内外专家学者经过多年的研讨, 提出了许多评价方法, 诸如单因子评价法、模糊综合评价法、模糊聚类法、灰色聚类法等[2-5]。由于水环境污染是多种因素综合引起的结果, 这使得传统的评价方法存在局限性。
BP神经网络可以很好地处理非平稳性、非时序性的海洋环境相关数据[6], 被越来越广泛地应用到海水水质评价中。但是BP神经网络自身存在着一些问题, 例如学习效率低下、易陷入局部极小导致无法寻求到全局最优解等[7], 限制了其在海水水质评价方面的应用。
为了解决以上问题, 本文构建出新的PSO-BP评价模型, 利用PSO得到BP神经网络各层最优的权阈值, 进一步评价青岛东部海域的水质。
1 粒子群算法优化BP神经网络的基本原理 1.1 BP神经网络BP神经网络(Back-Propagation Network)是误差逆向传递的神经网络, 通常由3个层次的神经元组成, 分别为输入层、中间层(隐含层)及输出层[8-10]。其主要特点是信号从输入层到输出层正向传输, 而误差从输出层逆向传达到输入层。BP神经网络可以很好地处理非平稳性、非时序性的海水水质评价相关数据, 但同时自身存在易陷入局部极小的问题, 导致海水水质评价的预测精度低[11]。常见的BP神经网络的结构示意图如图 1所示。
![]() |
图 1 常见的BP神经网络的结构示意图 Fig. 1 Schematic of a common BP neural network |
粒子群算法(PSO, Particle Swarm Optimization)即群落智能的搜寻方法, 主要是模拟鸟群之间的互相协作、角逐而产生的群落智能搜寻[12]。该算法将优化问题的解都模拟成搜寻空间中的粒子, 这些粒子可以忽略自身的体积与质量, 却以确定的速度飞行[13]。粒子选择合适的计算函数求出自身适应度, 通过自身以及群落当下的最优点的适应度值动态调整自己的飞行速度和对应点位, 最终搜寻到全局的最优点。粒子调整速度V与点位X分别如式(1)所示。
$\left\{ \begin{array}{l} v_i^{k + 1} = {\rm{ \mathsf{ ω} }}v_i^k + {c_{\rm{1}}}{r_1}(p_i^k - X_i^k) + {c_2}{r_2}(p_g^k - X_i^k) \\ X_i^{k + 1} = X_i^k + v_i^{k + 1} \\ \end{array} \right. ,$ | (1) |
其中, ω为惯性权重; k为当前迭代次数; i=1, 2, …, m; r1和r2是[0, 1]区间内均匀分布的随机数; c1和c2是学习因子;
BP神经网络的随机产生的权阈值会影响模型的精度[14], 本文充分发挥PSO的优势得到BP神经网络最佳的权阈值, 构建出新的评价模型(PSO-BP), 应用到海水水质评价中。
实验具体步骤如下:
(1) 确定BP神经网络的结构和相关参数。
(2) 设置群落规模、粒子初始飞行速度和对应点位。选取粒子当前的最佳点位为初始点位, 而群落的最佳点位为全局最佳点位。
(3) 每个粒子均含有一个适应度值, 用于反映粒子优劣程度。对BP神经网络进行训练后, 将得到的训练误差作为粒子当前点位的适应度值, 并将结果与以往最佳点位的值进行比较, 若好于以往的最佳点位则将其替代, 否则不变。
(4) 如果全局的最佳点位不及当前粒子以往的最佳点位, 则用以往的最佳点位取代全局的最佳点位, 否则不变。
(5) 根据式(1)重新规划粒子的飞行速度以及对应点位。
(6) 检查算法是否满足终止条件(迭代次数达到最大迭代次数或误差精度达到初始设置的目标误差精度), 若终止条件成立, 则输出最佳的权阈值, 然后进一步对模型进行仿真, 否则跳转到步骤(3)。
本文模型的构建流程按照如图 2所示进行。
![]() |
图 2 PSO-BP神经网络流程图 Fig. 2 Flowchart of PSO-BP neural network |
本文参照《中华人民共和国海水水质标准》(GB 3097—1997), 根据青岛东部海域的实际情况, 选取DO、COD、无机氮、活性磷酸盐和石油类这5个指标作为评价指标[15]。其中, 评价指标的标准值如表 1所示。
评价指标 | Ⅰ | Ⅱ | Ⅲ | Ⅳ | 劣Ⅴ类 |
DO | 6 | 5 | 4 | 3 | ≤3 |
COD | 2 | 3 | 4 | 5 | >5 |
无机氮 | 0.2 | 0.3 | 0.4 | 0.5 | >0.5 |
活性磷酸盐 | 0.015 | 0.030 | 0.030 | 0.045 | >0.045 |
石油类 | 0.05 | 0.05 | 0.30 | 0.50 | >0.50 |
本文选取青岛东部海域2017年10个监测站点的监测数据作为评价数据, 训练样本是依据海水水质评价标准而产生的, 通过随机均匀插值[16]的方式, 在Ⅰ到Ⅴ五个水质级别中每个级别随机生成100个训练样本, 共生成500个样本, 随机插入各级评价标准内, 解决了只用各个等级评价指标的标准值作为样本数量不足的问题, 并选取0.1, 0.3, 0.5, 0.7, 0.9作为Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ五类水质评价指标的为期望输出值, 如表 2所示。
评价指标 | Ⅰ | Ⅱ | Ⅲ | Ⅳ | 劣Ⅴ类 |
期望输出值 | 0.1 | 0.3 | 0.5 | 0.7 | 0.9 |
由于不同指标之间的数据存在较大的量级差异, 必须进行归一化处理[17]消除数据量级的差别, 使数据在0和1之间散布, 否则, 各维度影响因素量级的差别会造成输出结果的误差较大。本文归一化计算公式如(2)式所示:
${X_{\rm{k}}} = \frac{{{X_k} - {X_{{\rm{min}}}}}}{{{X_{\max }} - {X_{\min }}}} ,$ | (2) |
其中, Xmax是该样本数据集中的最大值, Xmin是该样本数据集中的最小值。
2.4 模型参数设置从理论上来说, 3个层次的BP神经网络能够以任意精密度迫近连贯的非线性函数, 可以处理实际应用中的各种非线性数据问题[18]。因此, 本文建立3层BP神经网络, 选取DO、COD、无机氮、活性磷酸盐和石油类这5个指标为输入层节点, 水质评价结果为输出层节点。由于目前还欠缺完善的理论依据能够准确计算中间层(隐含层)的节点数, 可以通过常见的估算公式来确定中间层(隐含层)节点个数范围[19], 如式(3)所示。
$g = \sqrt {a + b} + c , $ | (3) |
其中, g为中间层(隐含层)节点的数量, a为输入层节点的数量, b为输出层节点的数量, c为1到10之间的随机数。
本文经过式(3)计算, 得出中间层结点的区间范围为[4, 13], 但由于该区间范围较大, 导致误差过大, 预测结果不够准确。经过多次试验后, 当中间层的节点数量为6时, 该模型预测的精确度最高, 所以中间层节点数量确定为6个。根据以上设计思想, 该神经网络的网络结构设计为5-6-1。
确定神经网络3个层次的结构后, 设定相关参数规格。输入层、中间层(隐含层)之间的网络转移函数选用Matlab中的Sigmod函数; 中间层(隐含层)、输出层之间的网络转移函数选用Matlab中purelin函数。此外, 神经网络的学习步长设定为0.05, 训练次数设定为500次, 误差的期望为0.001;粒子群算法中的群落规模为100, 学习因子c1和c2均为1.494, 惯性权重ω设置为0.7, 迭代的极大次数设置为200。
2.5 评价结果及对比分析在Matlab2014a下训练设计好的PSO-BP评价模型, 得到神经网络的权阈值如下:
输入层到隐含层的权值W1和阈值B1:
隐含层到输出层的权值W1和阈值B2:
得到该神经网络的权阈值矩阵后, 因为这些权阈值表达了网络输入、输出间的非线性关系, 所以训练后将这些权阈值矩阵进行保存, 从而避免神经网络的反复训练, 并使用该训练好的海水水质评价模型对青岛东部海域10个站点的水质进行评价, 如表 3所示, 得到各监测点的水质评价等级。
监测点位 | DO | COD | 无机氮 | 活性磷酸盐 | 石油类 | PSO-BP评价结果 |
001 | 6.62 | 2.21 | 0.914 7 | 0.153 6 | 0.015 5 | Ⅱ |
002 | 8.37 | 1.89 | 0.453 5 | 0.004 2 | 0.026 7 | Ⅱ |
003 | 7.17 | 3.24 | 0.876 2 | 0.053 6 | 0.043 6 | Ⅱ |
004 | 7.83 | 2.85 | 1.486 7 | 0.034 7 | 0.017 4 | Ⅱ |
005 | 6.24 | 1.87 | 1.111 9 | 0.186 3 | 0.034 5 | Ⅲ |
006 | 5.90 | 1.35 | 1.586 8 | 0.169 8 | 0.075 2 | Ⅲ |
007 | 7.53 | 1.81 | 0.647 7 | 0.001 4 | 0.023 7 | Ⅲ |
008 | 6.81 | 2.04 | 0.511 6 | 0.098 7 | 0.038 7 | Ⅱ |
009 | 7.41 | 1.98 | 0.313 1 | 0.053 4 | 0.017 8 | Ⅱ |
010 | 6.67 | 1.34 | 0.565 0 | 0.123 9 | 0.035 7 | Ⅱ |
为了进一步分析PSO-BP评价模型, 将本文结果与2017年青岛市海洋环境公报中这10个站点的水质评价结果以及单因子评价、传统的BP神经网络的评价结果作比较。具体的评价结果对比如表 4所示。
监测点位 | 环境公报评价 | 单因子评价 | BP神经网络评价 | PSO-BP神经网络评价 |
001 | Ⅱ | Ⅲ | Ⅱ | Ⅱ |
002 | Ⅱ | Ⅱ | Ⅲ | Ⅱ |
003 | Ⅱ | Ⅱ | Ⅲ | Ⅱ |
004 | Ⅰ | Ⅲ | Ⅱ | Ⅱ |
005 | Ⅲ | Ⅳ | Ⅲ | Ⅲ |
006 | Ⅱ | V | Ⅳ | Ⅲ |
007 | Ⅲ | Ⅰ | Ⅱ | Ⅲ |
008 | Ⅱ | Ⅱ | Ⅱ | Ⅱ |
009 | Ⅱ | Ⅲ | Ⅳ | Ⅱ |
010 | Ⅱ | Ⅱ | Ⅱ | Ⅱ |
结合监测数据和表 4的对比分析可以得出, 本文的PSO-BP评价模型得出的结果更贴合青岛市海洋环境公报中的水质评价结果。单因子评价结果出现了过激情况, 在6号监测站点和7号监测站点的评价结果分别偏重和偏轻, 并对该海域总体评价结果偏差, 这可能是由于单因子评价只突出污染状况最为严峻的因素, 而削弱了其他因素的作用, 不能直观展示整体的水质状况; 而传统的BP网络可能由于自身存在的易陷入局部极小的缺陷, 导致在9号监测站点的评价结果与其他评价方法的结果相比有较大的差别, 会间接影响该海域总体的评价结果; 本文评价模型运用PSO来优化BP神经网络的权阈值, 很好的摆脱了污染物超标情况对权重值的影响, 具有更高的精确度和更好的性能。
3 结论本文充分发挥了粒子群算法(PSO)的优势, 提出了PSO-BP海水水质评价模型, 缩短了训练次数, 达到了较高的精度; 以青岛东部海域10个监测站的监测数据作为评价样本, 将PSO-BP神经网络运用到海水水质评价中, 得出的结果更贴合真实状况, 为青岛东部海域的环境治理提供理论基础; 与传统的单因子、BP神经网络海水水质评价方法相比, 该模型能够较为准确合理地得到海水水质等级, 具有一定的推广价值。
[1] |
兰文辉, 安海燕. 环境水质评价方法的分析与探讨[J]. 干旱环境监测, 2002, 16(3): 42-44. Lan Wenhui, An Haiyan. Discussion on methods water quality assessment[J]. Arid Environmental Monitoring, 2002, 16(3): 42-44. |
[2] |
杨旭, 曾祥亮. 基于单因子评价法和污染指数法的郑州大学眉湖水质评价[J]. 江苏科技信息, 2014(5): 51-53. Yang Xu, Zeng Xiangliang. Water quality evaluation of Zhengzhou University's Meihu Lake based on single factor evaluation method and pollution index method[J]. Jiangsu Science & Technology Information, 2014(5): 51-53. DOI:10.3969/j.issn.1004-7530.2014.05.027 |
[3] |
宣卓. 模糊综合评价法在水质评价中的应用[J]. 绿色科技, 2012(2): 160-162. Xuan Zhuo. Application of fuzzy comprehensive evaluation in water quality assessment[J]. Journal of Green Science and Technology, 2012(2): 160-162. DOI:10.3969/j.issn.1674-9944.2012.02.073 |
[4] |
慕金玻, 侯克复. 灰色聚类法在水环境质量评价中的应用[J]. 环境科学, 1991, 12(2): 86-89. Mu Jinbo, Hou Kefu. Application of grey clustering method in water environment quality evaluation[J]. Environmental Science, 1991, 12(2): 86-89. |
[5] |
倪深海, 白玉慧. BP神经网络模型在地下水水质评价中的应用[J]. 系统工程理论与实践, 2000, 20(8): 124-127. Ni Shenhai, Bai Yuhui. Application of BP neural network model in groundwater quality evaluation[J]. Systems Engineering-Theory & Practice, 2000, 20(8): 124-127. DOI:10.3321/j.issn:1000-6788.2000.08.025 |
[6] |
周蓉蓉.基于ANN与遗传算法的胶州湾近岸海域水污染总量控制研究[D].青岛: 中国海洋大学, 2009. Zhou Rongrong. Research on total amount control for Jiaozhou Bay near shore area pollution based on ANN and genetic algorithms[D]. Qingdao: Ocean University of China, 2009. http://cdmd.cnki.com.cn/Article/CDMD-10423-2009171249.htm |
[7] |
尚敬强, 原思聪, 卫东东, 等. 基于遗传算法的BP神经网络在塔式起重机故障诊断中的应用[J]. 起重运输机械, 2012(4): 61-64. Shang Jingqiang, Yuan Sicong, Wei Dongdong, et al. Application of genetic algorithm-based BP neural network in diagnosis to tower crane[J]. Hoisting and Conveying Machinery, 2012(4): 61-64. DOI:10.3969/j.issn.1001-0785.2012.04.018 |
[8] |
王祖麟, 王丽霞. 一种前馈神经网络算法[J]. 科技广场, 2004(8): 51-53. Wang Zulin, Wang Lixia. A modified feed-forward neural network algorithm[J]. Science Mosaic, 2004(8): 51-53. DOI:10.3969/j.issn.1671-4792.2004.08.019 |
[9] |
Yu Feng, Xu Xiaozhong. A short-term load forecasting model of natural gas based on optimized genetic algorithm and improved BP neural network[J]. Applied Energy, 2014, 134: 102-113. DOI:10.1016/j.apenergy.2014.07.104 |
[10] |
Zhao Y, Nan J, Cui F, et al. Water quality forecast through application of BP neural network at Yuqiao reservoir[J]. Journal of Zhejiang University-Science A, 2007, 8(9): 1482-1487. DOI:10.1631/jzus.2007.A1482 |
[11] |
卞建民, 胡昱欣, 李育松, 等. 基于BP神经网络的辽河源头区水质评价研究[J]. 水土保持研究, 2014, 21(1): 147-151. Bian Jianmin, Hu Yuxin, Li Yusong, et al. Water quality assessment in source area of Liao River based on BP neural network[J]. Research of Soil and Water Conservation, 2014, 21(1): 147-151. |
[12] |
魏晋军.粒子群优化算法的改进及应用[D].太原: 太原理工大学, 2015. Wei Jinjun. Improvement and application of particle swarm optimization[D]. Taiyuan: Taiyuan University of Technology, 2015. |
[13] |
李宁.粒子群优化算法的理论分析与应用研究[D].武汉: 华中科技大学, 2006. Li Ning. Analysis and application of particle swarm optimization[D]. Wuhan: Huazhong University of Science and Technology, 2006. http://cdmd.cnki.com.cn/article/cdmd-10487-2008023289.htm |
[14] |
魏津瑜, 张玮, 李欣. 基于PSO-BP神经网络的高炉煤气柜位预测模型及应用[J]. 中南大学学报(自然科学版), 2013, S1: 266-270. Wei Jinyu, Zhang Wei, Li Xin. BFG holder forecasting model and application based on PSO-BP neural network model[J]. Journal of Central South University(Science and Technology), 2013, S1: 266-270. DOI:10.11817/j.issn.1672-7207.2013.01.031 |
[15] |
孙优善, 孙鹤鲲, 王学昌, 等. 胶州湾近岸海域水质状况调查与评价[J]. 海洋湖沼通报, 2007(4): 93-97. Sun Youshan, Sun Hekun, Wang Xuechang, et al. Survey and appraisal of sea water quality in Jiaozhou Bay[J]. Transactions of Oceanology and Limnology, 2007(4): 93-97. DOI:10.3969/j.issn.1003-6482.2007.04.014 |
[16] |
楼文高. 海水水质评价的人工神经网络模型研究[J]. 海洋环境科学, 2001, 20(4): 49-53. Lou Wengao. Sea water quality assessment model using artificial neural networks[J]. Marine Environmental Science, 2001, 20(4): 49-53. DOI:10.3969/j.issn.1007-6336.2001.04.012 |
[17] |
宋勇, 蔡志平. 大数据环境下基于信息论的入侵检测数据归一化方法[J]. 武汉大学学报(理学版), 2018, 64(2): 121-126. Song Yong, Cai Zhiping. Normalization method of intrusion detection data based on information theory in big data environment[J]. Journal of Wuhan University(Natural Science Edition), 2018, 64(2): 121-126. |
[18] |
姚洪磊, 张彦. 基于BP神经网络的铁路互联网售票系统信息安全评估方法[J]. 信息网络安全, 2014(7): 81-86. Yao Honglei, Zhang Yan. Approach of information security assessment for railway Internet ticketing system based on BP model of artificial neural network[J]. Netinfo Security, 2014(7): 81-86. DOI:10.3969/j.issn.1671-1122.2014.07.016 |
[19] |
王嵘冰, 徐红艳, 李波, 等. BP神经网络隐含层节点数确定方法研究[J]. 计算机技术与发展, 2018, 28(4): 31-35. Wang Rongbing, Xu Hongyan, Li Bo, et al. Research on method of determining hidden layer nodes in BP neural network[J]. Computer Technology and Development, 2018, 28(4): 31-35. DOI:10.3969/j.issn.1673-629X.2018.04.007 |