APP下载

基于改进粒子群算法优化BP神经网络的废水处理软测量模型

2021-04-23林来鹏李小勇牛国强易晓辉黄明智

关键词:废水处理适应度粒子

何 丹, 林来鹏, 李小勇, 牛国强, 易晓辉,3, 黄明智*

(1. 广东省广业环保产业集团有限公司, 广州 510030;2. 华南师范大学环境学院∥广东省化学品污染与环境安全重点实验室∥教育部环境理论化学重点实验室, 广州 510006;3. 广东省环境资源利用与保护重点实验室∥中国科学院广州地球化学研究所, 广州 510640)

废水处理是一个复杂的生化反应过程,具有多样性、随机性、不确定性、强耦合性、高度非线性和大时变等特征[1-2],其中关键水质参数的检测和调控是反应过程稳定、高效运行的重要前提. 出水化学需氧量(CODeff)和出水固体悬浮物(SSeff)是废水生物处理过程中2个重要的水质参数,这2个参数的变化规律能够反映废水的处理过程. 为了提高废水排放的达标率,维持系统的稳定性,通常要对CODeff和SSeff进行实时监测. 废水水质常规检测方法有在线检测和人工检测等方法,但部分在线检测仪器的安装和维护费用比较昂贵,增加了检测成本;而人工检测方法耗时较长,检测数据相对滞后[3-4]. 相对于这些常规的检测方法,软测量技术能显著解决上述问题,具有成本低、耗时短且相对准确的优点,近年来被广泛运用于废水处理过程中关键水质的在线监测.

人工神经网络是一种运用非常广泛的软测量建模方法,具有非线性、并行分布、容错性和自适应性等优点[5-6]. BP神经网络是一种常见的前馈人工神经网络,在相关领域应用十分广泛. 但由于BP神经网络存在收敛速度较慢、训练时间较长、网络对初值较敏感、容易陷入局部最优、过于依赖输入样本和网络结构选择不一等缺陷,使得BP神经网络的预测误差过大,影响了预测的精确度和准确度,阻碍了BP神经网络在废水处理智能监控系统的推广和运用[7-8]. 因此,学者们提出用遗传算法(GA)、粒子群算法(PSO)和蚁群算法等相关算法来对BP神经网络进行优化,如:刘亚丽等[9]使用遗传算法优化BP神经网络模型,得到GA-BP模型,提高了网络的预测精度;谢武明等[10]将遗传算法优化后的BP神经网络(GA-BP模型)应用于废水处理厂电耗的预测,模型的精度得到了极大的提高;ABUALIGAH 等[11]用一种改进的粒子群算法来优化BP神经网络,该算法极大限度地解决了BP神经网络容易陷入局部最优的问题;叶永伟等[12]使用差分进化算法改进了粒子群算法,以优化污水处理过程中的能耗,该算法克服了粒子群算法容易早熟的缺点,提高了算法全局的寻优能力,在保证出水水质达标的情况下有效降低了污水处理过程中的能耗;乔俊飞等[13]使用一种改进型混合粒子群算法对污水处理过程中的能耗与水质进行多目标优化,该算法不仅加快了粒子收敛的速度,还提高了搜索的精度,有效节约了污水处理过程的成本.

本文基于BP神经网络和粒子群算法,提出一种废水处理过程中CODeff和SSeff软测量模型(PSO-BP模型),并与BP模型及GA-BP模型进行比较,为实现废水处理软测量精确预测提供方法和思路.

1 PSO-BP模型构建

在造纸废水处理过程中,存在着大量难以测量或无法在线测量的参数,而这些参数可通过软测量获得:即用容易获取的变量通过建模来间接得到难测量的参数. 为此,本研究改进了粒子群算法(PSO),用其优化BP神经网络,建立了软测量模型(PSO-BP模型),利用BP神经网络的非线性逼近能力与PSO的全局搜索能力来对污水处理过程中的CODeff和SSeff进行准确预测.

1.1 BP神经网络结构

关于BP网络建模原理,文献[14]中有详细阐述. 简单的三层BP神经网络包含输入层、隐含层和输出层(图1),图中每一个节点代表一个神经元;前一层和后一层的神经元之间由对应的权值连接. BP神经网络的学习训练主要分为2个过程:信号的正向传递和误差的逆向传播[14]. 信号的正向传递是将输入信号传递到隐含层和输出层,得到预测输出,再由预测输出和期望输出得到误差信号. 误差的逆向传播过程就是将误差信号反馈回前面的神经网络,然后神经网络根据误差的大小调整对应的权值和阈值,此过程一般是按照误差梯度下降的方法进行. BP神经网络首先训练最前面的一层网络,训练完成后固定它的权值和阈值,然后将其隐单元的输出作为下一层网络的输入向量,继续进行训练. 所有的网络全部训练完成后,再用反向传播算法不断反复循环调整权值和阈值,直到预测输出和期望输出的误差信号满足目标要求,运算终止.

图1 三层BP神经网络结构

1.2 用改进的PSO算法优化BP神经网络结构

粒子群算法是通过模拟自然界中鸟群和鱼群觅食过程中的迁徙和群聚行为而提出的一种智能优化算法,具有广泛的全局随机搜索能力. 针对粒子群算法在应用过程中存在收敛速度较慢和容易早熟的缺陷,学者们提出了若干改进方法,如:在粒子群算法中引入选择和变异等操作,以提高该算法的收敛速度[15-17];动态改变惯性系数,避免粒子出现早熟现象等[18].

本实验采用了线性降低权系数法[19-20]和引入变异算子[21]来提高粒子群算法的全局优化能力:

(1)线性降低权系数:目的是为了算法在前期具有较强的全局寻优能力,而晚期具有较强的局部开发能力. 其公式如下:

(1)

其中,wmax为惯性权重的最大值,wmin为惯性权重的最小值,t为当前迭代次数,G为最大迭代次数.

(2)变异算子:在迭代优化过程中,引入变异算子,其实现步骤如下:

pos=unidrnd(numsum);

if rand>0.95

pop(j,pos)=3*rands(1,1);

其中,pso是种群发生变异的位置,unidrnd是产生随机整数的函数,numsum是粒子长度.

本文用改进的粒子群算法来优化BP神经网络,其基本流程(图2)如下:

Step 1:根据BP神经网络的各层节点数计算网络的权值和阈值的总个数(即粒子的长度);

Step 2:将BP神经网络的权值和阈值按二进制编码方式编码成对应的粒子;

Step 3:初始化粒子群,包括种群规模N、每个粒子的位置xi和速度vi,设定粒子群算法的相关参数;

Step 4:计算初始粒子群中每个粒子的适应度;

Step 5:分别记录粒子群的个体极值和全局极值;

Step 6:根据式(1)、(2)分别更新当前粒子群中每个粒子的速度vi和位置xi;

Step 7:计算新粒子群中每个粒子的适应度;

Step 8:对每个粒子的个体极值进行更新;

Step 9:对粒子群的全局极值进行更新;

Step 10:如果满足结束条件或迭代次数达到最大循环迭代数,则退出循环,否则返回Step 6;

Step 11:输出问题的最优解,并将最优解赋值给BP神经网络进行预测.

图2 粒子群改进算法优化BP神经网络的基本流程

2 仿真结果与分析

2.1 数据预处理及模型性能评价

本实验数据取自广东东莞某废水处理系统曝气池的监测结果[22],共有170组样本数据,随机选取140组数据作为训练集,余下30组数据作为测试集. 选取6个参数(流量(Q)、pH、温度(T)、溶解氧(DO)、进水化学需氧量(CODinf)和进水固体悬浮物(SSinf))作为软测量模型的输入变量,对废水处理系统的CODeff和SSeff进行预测,并采用均方根误差(RMSE)和决定系数(R2)作为对模型性能进行评价和比较的评价指标.

2.1.1 数据归一化 由于数据的单位或数量级的不同,可能导致网络收敛速度变慢、训练时间变长等问题,因此,要对样本数据进行归一化处理. 归一化公式如下:

(2)

其中,xmin为训练集中的最小值,xmax为训练集中的最大值,x为训练集中的任一数值,X为归一化之后的数值.

2.1.2 模型性能评价函数 本次实验用均方根误差(RMSE)和决定系数(R2)2个评价指标来评价模型性能. RMSE可以反映模型预测变量与目标变量之间离散程度的大小:RMSE值越小说明数据离散度越小,预测的准确度越高.R2可以反映拟合的多元线性回归方程的优劣程度:R2值越接近1,说明多元线性回归方程的拟合程度越高,模型性能更优越. RMSE、R2的计算公式如下:

(3)

(4)

模型优化程度(Rm)的定义式如下:

(5)

2.2 实验参数设置

2.2.1 BP模型参数设置 BP神经网络层数设置为3层:输入层、隐含层和输出层,其中:输入层总共有6个输入节点,分别对应6个废水水质参数变量(Q、pH、T、DO、CODinf和SSinf);输出层设1个节点,分别预测CODeff和SSeff;隐含层节点的设置没有绝对的方法,常见的方法有试错法、公式法和递减法等[19]. 本文使用下列经验公式[20]结合实验来确定隐含层的节点个数:

(6)

其中,q为隐含层的节点个数,m为输入层的节点个数,n为输出层的节点个数,a{1,2,…,10}为调节常数.

本实验中,输入层的节点数为6,输出层的节点数为1. 经实验,当网络隐含层的节点数设为5时,网络的各方面性能较优,则模型结构为6-5-1.

BP神经网络的其他参数设置如下:隐含层传递函数为tansig,输出层传递函数为purelin,最大迭代次数为1 000,学习率为0.01,训练目标为1e-5.

2.2.2 PSO-BP模型参数设置 在BP神经网络的结构基础上,改进粒子群算法的相关参数设置如下:最大寻优迭代次数为100,种群规模为40,最大惯性权重为0.9,最小惯性权重为0.1.

适应度函数:本次实验中,粒子群算法的适应度值定义为所优化BP神经网络的总误差(error)的绝对值,公式如下:

fitness=sum(abs(a-o)),

(7)

其中,a为BP神经网络的预测输出,o为样本输出的真实值.

2.2.3 GA-BP模型参数设置 在BP神经网络结构的基础上,遗传算法的相关参数设置如下:最大寻优迭代次数为100,种群规模为40,交叉概率为0.3,变异概率为0.1,染色体数据范围为[-3,3].

适应度函数:本次实验所采用的遗传算法的适应度值定义为所优化BP神经网络的总误差(error)的绝对值:

fitness=sum(abs(a-o)),

(8)

其中,a为BP神经网络的预测输出,o为样本输出的真实值.

2.3 实验结果

2.3.1 PSO-BP模型预测结果 利用训练好的PSO-BP模型测试废水处理系统,可得PSO优化BP神经网络的适应度曲线和仿真预测结果. 由模型的适应度曲线(图3)可以看出:PSO能有效地优化BP神经网络,网络的收敛速度明显加快,当进化代数为54代时适应度已达到最优. 此外,由仿真结果(图4)可知:PSO-BP模型的预测结果与实际数据非常接近,模型的输出曲线与实际输出曲线的拟合度较高. 结合式(6),可知:采用PSO-BP模型预测CODeff和SSeff时,RMSE分别为3.995 5和0.650 3,R2分别为0.640 1和0.681 1. 由此判断PSO-BP模型具有较好的泛化能力,可有效预测废水处理系统的出水水质.

2.3.2 仿真比较结果分析 为了对比PSO-BP模型的预测性能,分别采用GA-BP模型和BP模型对CODeff、SSeff进行软测量建模,BP模型与GA-BP模型的网络结构设置与PSO-BP模型相同. 由BP、GA-BP、PSO-BP模型的预测仿真结果(表1)可知:(1)在预测废水处理系统出水水质方面,PSO比GA更能有效优化BP神经网络. (2)PSO-BP模型的性能最好:相比BP模型,PSO-BP模型预测CODeff、SSeff的R2分别提高4.49%、40.11%,RMSE分别减少了8.55%、8.38%;相比GA-BP模型,PSO-BP模型预测CODeff、SSeff的R2分别提高0.44%、24.77%.

图3 PSO-BP模型的适应度函数曲线

图4 PSO-BP模型的预测结果

表1 3种模型性能指标比较Table 1 The comparison of performance between the three models

由3个模型的仿真结果(图4至图6)可知:PSO-BP模型关于CODeff和SSeff的预测曲线的拟合程度高于GA-BP、BP模型,预测值更逼近真实值. 因此,PSO-BP模型对废水处理系统出水水质的预测更准确,更适用于废水处理过程中的软测量.

图6 GA-BP模型的预测结果

3 结论

本文使用改进粒子群算法优化BP神经网络,构建了废水处理软测量预测模型(PSO-BP模型),并与BP模型、GA-BP模型进行比较. 主要结论如下:

(1)改进PSO对BP神经网络废水软测量模型具有很好的优化效果,提高了模型的精确度. 构建的PSO-BP模型具有较好的泛化能力,可有效预测废水处理系统出水水质.

(2)相比BP模型和GA-BP模型,PSO-BP模型对废水处理系统出水水质的预测更准确,预测值更逼近真实值,表明 PSO-BP是一种具有良好预测性能的软测量建模方法.

猜你喜欢

废水处理适应度粒子
改进的自适应复制、交叉和突变遗传算法
一种O-A-A-O工艺在焦化废水处理中的应用
基于粒子群优化的桥式起重机模糊PID控制
电化学在废水处理中的应用
基于粒子群优化极点配置的空燃比输出反馈控制
上旋流厌氧反应器在造纸废水处理中的应用
基于空调导风板成型工艺的Kriging模型适应度研究
几种新型混凝法在废水处理中的应用
基于Matlab的α粒子的散射实验模拟
基于两粒子纠缠态隐形传送四粒子GHZ态