文摘
为了确保“清水河是提供给北京和天津”,提高Danjiang水源的水质预测精度,同时避免局部最优和过早成熟的人工蜂群算法,一种改进的人工蜂群算法(ABC算法)提出了优化Danjiang水质提出了BP神经网络预测模型。这种方法提高了ABC算法的局部和全局搜索能力通过添加自适应本地搜索因素和突变因素,提高本地搜索的性能,并避免局部最优条件。改进的ABC算法优化BP神经网络的权值和阈值建立水质等级预测模型。的水质监测数据Danjiang源(事件的部分)从2015年到2019年为研究对象,它是与GA-BP相比,PSO-BP ABC-BP和BP模型。研究结果表明,改进的ABC-BP算法预测精度最高,更快的收敛速度,更强的稳定性和鲁棒性。
1。介绍
党中央、国务院,省委、省政府高度重视在秦岭地区生态环境保护的工作。总书记习近平强调:“没有人会破坏自然生态美丽的秦岭山脉。“Danjiang河起源于南方脚的秦岭山脉西北部商洛的一部分,陕西省,陕西省,流经,河南省和湖北省。注入丹江口水库在湖北省丹江口市和相交汉江(1]。主流的总长度390公里,这是最长的支流汉江。流域面积17300平方公里,占总面积的10%的汉水流域(2]。Danjiang河是一个重要的水源的中线工程项目“南水北调”。近年来,商洛市已完全实现循环发展战略来保护水源,建立生态商洛,确保“一个干净的河流水是提供给北京和天津。“然而,安置项目的发展和社会经济的发展,越来越多的生活污水排放到Danjiang河,这直接影响Danjiang河流域的水质。因此,通过预测Danjiang河流域的水质,可以保护提供科学的决策依据和水环境管理。
目前常见的水质预测方法包括使用通用模型、人工神经网络和支持向量机。在文献[3),灰色预测方法用于水质预测。这种方法只适用于短期预测。也有缺点,灰度数据越大,预测精度越低。文献[4]和文献[5]提出了一种基于加权的水质预测模型组合,结合指数平滑方法,和水质预测模型GM(1,1)模型。与文献[3),该方法的预测精度在一定程度上已得到改进,但有一个过度的错误问题,无法解决。文献[6]和文献[7]提出了一种改进的水质预测模型基于灰色GM(1,1)模型,它比传统的灰色GM(1, 1)模型。BP神经网络具有自学习和容错的优点,广泛应用于水质预测。在文献[8),BP神经网络应用于水质评价和研究水质的时空变化趋势。结果表明,该方法的评价结果更客观,评估过程更方便。针对小样本数据的预测精度较低的问题,而且容易陷入局部最优的BP神经网络水质预测模型的双隐层BP神经网络基于人工蜂群算法在文献[9),BP神经网络的初始权值和阈值进行优化的ABC算法,提高预测精度。然而,BP神经网络与双隐藏层过度拟合,这很容易导致的减少预测模型的泛化能力。
针对存在的问题在当前的水质预测模型,本文改进了ABC算法的局部和全局搜索能力通过添加自适应本地搜索因素和变异因素。改进的ABC算法优化BP神经网络的权值和阈值,以及改善ABC-BP混合神经网络模型。的水质监测数据的来源丹河(事件的地区)从2015年到2019年为研究对象,与GA-BP相比,PSO-BP ABC-BP和BP模型。结果表明,该算法具有最高的预测精度和更快的收敛速度。
2。BP神经网络的原则
BP神经网络主要由输入层、隐层(一个或多个层)和输出层(10]。同一层的神经元不相互联系,和相邻层的神经元连接权重,和每层节点的输出仅影响底层的节点的输入。BP神经网络模型结构如图1。BP神经网络的学习过程主要由两部分组成:信号的正向传播和误差反向传播。信号的正向传播过程中,输入信号后通过网络重量,阈值,神经元传递函数,可以得到一个输出信号在输出层。如果输出值之间的误差和期望值大于指定的数量,那么错误将进入误差的反向传播过程,也就是说,通过错误返回一层一层地,错误是“分配”,每一层的神经元,重量是主见直到输出数据之间的误差值的输出层和预期的数据值达到预定范围时,则完成网络的训练。
假设在输入层节点的数目,隐藏层和输出层的BP神经网络n,米,l分别;输入层和隐层之间的权值和隐藏层和输出层之间的权值和 ,分别;隐藏层和输出层的阈值和 ,分别;传递函数;预期的输出层的输出 。
隐层节点的输出和输出层节点
输出值之间的误差和预期的输出
它可以看到从误差的误差公式可以改变通过调整权重和 ,和重量调整错误的下降梯度成正比,然后为输出层和隐层 在哪里是学习速率,
其中,传递函数 ,然后 。
英国石油(BP)体重调整公式
自从BP神经网络收敛速度慢和预测精度低,不能满足水质预测的性能需求。因此,本文采用一种改进的人工蜂群算法优化BP神经网络的权值和阈值来改善水质的预测性能。
3所示。人工蜂群算法
为了解决多元函数优化的问题,提出Karaboga人工蜜蜂殖民地在2005年(ABC)算法模型,模拟了honey-collecting行为的蜜蜂搜索全局优化目标(11,12]。
3.1。基本的人工蜂群算法
人工蜂群算法是一种群体智能优化算法,模拟了蜜蜂寻找最好的质量和最大数量的花蜜来源。该算法包含三种类型的蜂群:收集蜜蜂,观察蜜蜂,蜜蜂和调查。花蜜的源是一个可能的解决方案的解决方案空间。假设该算法解决了在k维空间,花蜜的总量来源是N,初始位置的公式。 在哪里初始解的位置,和的上下界j维度, ; ;和两个 是随机生成的,不相等;是一个随机生成的数字在0和1之间。
假设的概率找到一个新的高质量的花蜜源和被选中
的公式,代表了我th花蜜源,健身价值的解决方案。如果健身的新解决方案比原方案,取而代之的将是新的解决方案。 在哪里的目标函数值吗我th解决方案。
陷入局部最优时,蜜蜂会放弃花蜜源和成为一个侦察蜂。根据公式(9),一个新的花蜜源位置将随机生成取代相应的位置在最初花蜜源来确定最终的花蜜源。根据这个,反复迭代进行直到达到算法的终止条件(13]。
的公式, ; ,和t不等于我,两个t和j随机生成的;是一个随机选择的值(1−1)之间。
3.2。改进的人工蜂群算法
为了提高算法的全局优化和局部搜索能力,适应本地搜索因素和突变因素被添加到改善ABC算法来避免过早现象(14]。
3.2.1之上。自适应搜索因素
在最初的搜索阶段算法,自适应本地搜索的因素介绍了防止陷入局部优化。本地搜索是增强通过自适应调整人口更新步长,和算法的全局和局部搜索能力的平衡。也就是说,方程(9)更新
的公式,是前一个糟糕的花蜜。
的引入可以加快算法收敛速度和避免过早成熟。的变化是 在哪里和惯性权重的最大和最小值;是最大的亚种群之间的混合迭代的最大数量;代表着当前迭代的总数的程序。
3.2.2。变化的因素
为了提高算法的全局优化能力和精度,介绍了突变因素征税。相对于其他运营商(如高斯算子,等等),突变因素可以大大提高算法的全局优化能力和防止算法出现性早熟。税的引入突变因素提高了基于自适应算法的全局优化能力因素。具体实现是添加利维变异算子方程(3),更新以下方程:
的公式,是一个遵循利维分布的随机数。
引入自适应变异因素后,ABC的本地更新方法算法方程所示(13)和(14):
4所示。ABC-BP算法的改善水质预测模型
本文建立了水质预测模型通过改善ABC-BP算法。BP神经网络的输入是氨氮(NH3-N)、溶解氧(做)、化学需氧量(COD)、高锰酸盐指数(I锰),总磷,六水质量评价指标的总氮和总氮、和输出是水质等级。水质预测模型图所示2和算法流程图如图3。
步骤1。6 NH3-N指标,鳕鱼,我锰、总磷和总氮作为BP网络的输入进行训练。
步骤2。优化权重 和 阈值训练的BP网络。
步骤3。确定输出数据O和错误值满足要求,如果满足要求由公式(6),输出最优解,最优权重和阈值。
步骤4。如果需求没有得到满足,搜索蜜蜂会发现一个新的花蜜源根据公式(13)和输出解决方案的价值。
第5步。重复循环,最后得到最优解。
步骤6。如果计算的数量超过了设定最大迭代次数,培训结束,否则函数的公式(7返回)。
步骤7。获得最优解,验证了BP神经网络根据重量和阈值。
5。实验分析
5.1。数据源
为了验证改进的可靠性和有效性ABC-BP水质预测的算法,从六个监测水质测量数据点的事件的部分Danjiang商洛城市流域从2015年到2019年为研究对象用于实验研究。的地理分布与纬度和经度信息水质监测点如图4和表1,分别。
5.2。水质评价指标
水质评价是一个过程,确定采样水样的水质级别根据不同索引值的采样水样水质评价标准,结合一定的数学模型(15]。因为有许多水质指标分析(16),结合地表水环境质量标准,在本文中使用的水质评价指标,NH3-N,鳕鱼,我锰、总磷和总氮(17],它对应于水质量分数和内容标准如表所示2。
5.3。数据预处理和评价指标
为了提高预测的准确性的数据,使用公式(15)规范化数据并将数据转换成(−1,1)的范围。
的公式,代表原始的水质数据,是原始数据序列的最大值,原始数据序列中的最小值,然后呢y表示归一化变换后的数据,它可以减少结果之间的差异和实际值的偏差。为了方便比较水的质量等级评价不同的评价方法,公式(16)是用作水质等级评价的评价指标:
的公式,C代表评价的准确性;N是样品的总数;TN是样品的数量正确分类。
5.4。实验结果和分析
水质测量数据从2015年到2019年在商洛市的事件的部分Danjiang流域被选为研究对象。排序后,测量数据分为两个部分:一个训练集和测试集,训练集是主要用于建立Danjiang水质预测模型,测试组主要用于测试构建模型的优缺点。为了验证改进ABC-BP算法的优越性,它是与GA-BP相比,PSO-BP, ABC-BP算法。
六NH3-N指标,鳕鱼,我锰、总磷和总氮的输入被用作改善ABC-BP模型,和水质量等级被用来改善的输出ABC-BP模型建立改善ABC-BP水质评价模型(18,19]。本文将BP网络的输入层节点的数目inputnum = 6,隐层节点的数量hiddennum = 20,输出层节点outputnum = 5,隐藏层传递函数是purelin函数,输出层传递函数是logsig函数,和训练函数是trainlm函数,最大训练次数设置为1000倍,和学习精度目标是0.0001。不同算法独立运行10次,10水质预测结果的平均值作为最终评价结果。GA-BP的人口规模、PSO-BP ABC-BP算法都设为10,迭代的最大数量是100,搜索时间间隔(−1,1),独立算法运行10次,10水质预测结果的平均值作为最终的评价结果(20.]。结果如表所示3,数据5和6。
比较结果的评估表的准确性3,可以看出,在训练集和测试集,最优的准确率提高ABC-BP是最高,96.58%和97.32%,分别和准确率高于GA-BP, PSO-BP, ABC-BP;与ABC-BP相比,最优准确率提高3.64%和3.28%,分别;与PSO-BP相比,最优准确率提高了4.07%和3.90,分别;与GA-BP相比,最优准确率分别增加了3.86%和3.99%,分别表明改进ABC-BP可以有效改善水质量评价的准确性。
在训练集和测试集,最糟糕和改进ABC-BP算法的平均准确率高于GA-BP, PSO-BP, ABC-BP,表明改进的ABC-BP算法具有更好的稳定性和鲁棒性。
数据7和8仿真对比图之间的单个BP神经网络算法,改进ABC-BP算法,标准ABC-BP算法迭代数,和目标错误。从图可以看出,改进的ABC-BP算法,BP算法的迭代次数趋于目标错误值低于其他两种算法。当标准ABC算法陷入局部优化,改进ABC-BP算法能够跳出局部优化。由于税收因素和自适应因子,预测精度、收敛速度和稳定性的改进ABC-BP算法大大提高了。图9是一个拟合图的实际产出和目标输出。从图可以看出,拟合较好,表明改进的ABC-BP算法具有更好的收敛性。
为了比较和研究不同隐层节点数的影响,学习速度和迭代数参数对水质预测和评价结果,精度的不同的参数进行比较,结果如图所示10。
(一)
(b)
(c)
从图可以看出10 ()水质评价模型的准确率逐渐增加隐层节点的数量。当节点数是20,准确率达到最大值时,隐层节点的数量增加时,准确率逐渐减少,和网络的复杂性增加。因此,考虑到预测精度,网络的泛化能力,和复杂性,最好的BP神经网络的隐层节点数是20。从图可以看出10 (b)随着学习速率的增加,水质评价模型的准确性逐步增加。学习速率是0.05时,精度达到最大值时,它超过0.05后,精度逐渐增加,然后降低。可以看出,当学习速率为0.05,模型的效果是最好的,泛化能力和准确率达到最佳状态。从图可以看出10 (c)随着迭代次数的增加,水质评价模型的准确性逐步增加。当迭代的数量大约是500,预测精度是最高的。超过500后,精度随迭代。频率的增加逐渐降低。可以看出,当迭代的数量大约是500,这个模型的局部搜索能力和全局搜索能力是最好的,而且准确率最高。同时,GA-BP的迭代时间和预测精度,PSO-BP, ABC-BP,和改善ABC-BP进行比较,结果如表所示4。分析的结果表明,改进的ABC-BP迭代算法具有最短的时间,最高的精度,和最好的模型。上面的分析奠定了基础的建设后水质评价模型和参数选择的研究。
6。结论
为了建立一个稳定、可靠和高度准确的水质预测模型,提出了一个改进ABC-BP算法模型。通过添加自适应本地搜索因素和突变因素,ABC算法的局部和全局搜索能力是提高局部搜索的性能改善和避免局部最优条件。改进的ABC算法优化BP神经网络的权值和阈值,建立水质等级预测模型。Danjiang的水质监测数据来源(事件的部分)从2015年到2019年为研究对象,与GA-BP相比,PSO-BP, ABC-BP,和BP模型,研究结果表明,改进的ABC-BP算法有较低的迭代,收敛速度快,预测精度最高,具有良好的工程应用和推广价值。因为有更少的影响水质等级评价指标在这篇文章中,更多的水质评价方法与影响因素将研究后进一步提高模型的适用性。
数据可用性
和/或使用的数据集分析在当前研究可从相应的作者以合理的要求。
的利益冲突
作者(年代)宣布任何潜在的利益冲突的研究,本文的作者,和/或出版。
确认
作者承认中国的国家自然科学基金(格兰特:61876143),2019年陕西省教育部特殊科研计划项目(格兰特:19 jk0261),陕西省2019年科技部科研计划项目(2019年格兰特:金桥- 541),和商洛大学的特殊项目服务当地科研(格兰特:19 fk002)。