CN115660165A - 一种基于双层pso的模块化神经网络出水氨氮浓度多步预测方法 - Google Patents

一种基于双层pso的模块化神经网络出水氨氮浓度多步预测方法 Download PDF

Info

Publication number
CN115660165A
CN115660165A CN202211298386.XA CN202211298386A CN115660165A CN 115660165 A CN115660165 A CN 115660165A CN 202211298386 A CN202211298386 A CN 202211298386A CN 115660165 A CN115660165 A CN 115660165A
Authority
CN
China
Prior art keywords
layer
particle
prediction
ext
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211298386.XA
Other languages
English (en)
Inventor
李文静
刘永雷
乔俊飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN202211298386.XA priority Critical patent/CN115660165A/zh
Publication of CN115660165A publication Critical patent/CN115660165A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

基于多步预测技术可以对污水处理过程的出水氨氮溶度实现软测量,掌握氨氮浓度的变化趋势,本发明获得了一种基于双层粒子群的模块化神经网络出水氨氮多步预测方法,根据污水处理过程采集的数据实现了出水氨氮的多步测量,解决了难以掌握污水处理过程出水氨氮浓度变化趋势的问题,提高了城市污水处理厂控制决策的灵活性。为了提高多步时间序列预测的精度,提出了一种基于双层粒子群算法的模块化神经网络。为外部层设计的粒子群算法可以优化预测范围的任务划分,为内部层设计的多目标粒子群算法可以权衡模块化网络中每个子网络的预测精度和隐含层结构大小。本发明利用MATLAB平台完成。

Description

一种基于双层PSO的模块化神经网络出水氨氮浓度多步预测 方法
技术领域:
本发明涉及人工智能技术领域,更具体地,涉及一种基于双层粒子群的模块化神经网络出水氨氮软测量方法。实现氨氮浓度的多步预测是先进制造技术领域的重要分支,既属于控制领域,又属于水处理领域。
背景技术:
随着社会城市化和工业化进程的加快,水资源的污染也随之增加,这对人类的生存和发展以及社会的生态平衡产生了巨大的影响。在城市污水处理行业领域,废水中的氨氮是水体中可导致富营养化的营养物质,随着污水处理厂建设和运行规模的逐步扩大,污水处理厂承担着降低自然界氨氮总量的重要任务。因此,严格限制氨氮的排放可以有效地解决这个问题。通过提前预测氨氮的浓度,可以有效提高氨氮的去除效率,改善出水氨氮超标的现象,从而带动水质实时控制水平和环境效益的提高。
为了解决这一难题,污水处理厂采用软测量方法对出水氨氮进行预测。但是出水氨氮的单步预测无法为未来趋势提供信息,而掌握污水处理过程中出水氨氮的变化趋势,可以让污水处理厂制定详细的控制策略。因此,实现出水氨氮趋势变化的检测对污水处理厂具有重要意义。针对这一问题,提出了一种基于双层粒子群的模块化神经网络出水氨氮软测量模型,用于污水处理厂的多步预测。
发明内容
本发明获得了一种基于双层粒子群PSO的模块化神经网络出水氨氮多步预测方法,根据污水处理过程采集的数据实现了出水氨氮的多步测量,解决了难以掌握污水处理过程出水氨氮浓度变化趋势的问题,提高了城市污水处理厂控制决策的灵活性。
一种基于双层粒子群的模块化神经网络出水氨氮多步预测方法,其特征在于,包括以下步骤:
步骤1:选取出水氨氮历史数据,生成预测样本;
获取污水处理厂获得的氨氮历史数据Y=[y1,…,yL]T,对其进行重建,生成M步预测的样本A;
Figure BDA0003903614680000021
其中y是时间序列数据,L是历史数据Y的长度,D是最大的输入维度;AI和AO是预测模型的输入和输出矩阵;
步骤2:设计模块化神经网络模型;
根据“分而治之”原则,将一个多步预测任务划分为多个较为简单的子任务,各子任务分别计算;根据“合作共赢”原则,将各子任务的计算结果进行整合,还原整个任务的输出;由此构建一个模块化神经网络;它由四层组成:输入层、任务分解层、子网层和集成输出层;
各层的计算功能如下:
①输入层:输入层将当前和历史时间序列导入模型;该层共有D个神经元,代表输入的维数为D,输入层的输入为YI(t)=[yt-D+1,yt-D+2,…,yt]T,其中yt代表当前时刻;
②任务分解层:该层将多步预测的任务分解为几个独立的子任务;对于M步时间序列预测,它生成N个子任务,
Figure BDA0003903614680000022
其中sn表示第n个子任务的预测范围数;因此,第n个子任务的预测范围来自ln-1+1到ln,其中
Figure BDA0003903614680000023
这里l0=0;
③子网络层:子网络层由几个模块组成,每个模块处理一个子任务,因此子网络的数量等于子任务的数量;使用径向基神经网络神经网络作为每个子网络的模型;对于第n个子网络,假设它预测sn,则第n个径向基神经网络神经的输出神经元数相应设置为
Figure BDA0003903614680000024
④集成输出层:这一层集成了每个子网络的输出,以获得M步预测结果,即
Figure BDA0003903614680000025
其中YO为模型的输出;
步骤3:设计用于模块化神经网络的双层粒子群优化算法;
步骤3.1:双层粒子群算法的外层算法;
①初始化;初始化参数,包括惯性权重wext、两个加速度系数
Figure BDA0003903614680000026
Figure BDA0003903614680000027
种群大小Qext和最大迭代次数Kext;设置初始迭代次数kext=1;所有粒子的位置Xext随机生成,相应的速度Vext限制在[-4,4];
Figure BDA0003903614680000031
其中
Figure BDA0003903614680000032
Figure BDA0003903614680000033
是随机生成的0或1;
②解码二进制粒子;将代表M步预测任务的二进制粒子转换成个N个子任务;将其分给子网络进行学习;
③计算适应度函数;根据子网络分别计算输出,根据公式(3),计算M步预测范围内的平均均方根误差RMSE计算所有粒子的适应值;
Figure BDA0003903614680000034
其中,yt+m
Figure BDA0003903614680000035
是第m个预测范围的期望输出值和预测输出值,这里1≤m≤M;P是训练样本数;第n个子网络预测范围内的RMSE之和表示为:
Figure BDA0003903614680000036
由此,可将适应度函数f重写为:
Figure BDA0003903614680000037
其中N是模块化神经网络中的子网络数量;
适应度值由子网络的预测精度决定;每个粒子第一代位置为个体最佳位置
Figure BDA0003903614680000038
粒子下一代的适应度值比当前
Figure BDA0003903614680000039
对应的适应度值小,则将当前粒子的Xext作为该粒子新的
Figure BDA00039036146800000310
在计算每一代中所有粒子的适应度值后,适应度值最小的粒子对应的
Figure BDA00039036146800000311
为群体最佳位置
Figure BDA00039036146800000312
如果满足终止条件:适应度函数小于期望值或kext达到Kext,则输出
Figure BDA00039036146800000313
否则,设置kext=kext+1,并转至步骤④;
④更新;首先根据(6)更新每个粒子的速度,然后使用sigmoid函数映射到[0,1]的区间
Figure BDA00039036146800000314
Figure BDA00039036146800000315
其中kext是迭代次数,wext∈[0,1]是惯性重量;
Figure BDA0003903614680000041
Figure BDA0003903614680000042
是两个加速度系数;
Figure BDA0003903614680000043
Figure BDA0003903614680000044
是均匀分布在[0,1]内的随机数;
Figure BDA0003903614680000045
是第q个粒子的第kext代的速度向量;
Figure BDA0003903614680000046
是第q个粒子的第kext+1代的速度向量;
Figure BDA0003903614680000047
是第q个粒子的位置向量;
Figure BDA0003903614680000048
是第kext代的个体最佳位置;
Figure BDA0003903614680000049
是第kext代的群体最佳位置;vq,j是速度向量
Figure BDA00039036146800000410
的第j个分量的值;S是sigmoid函数;这里vq,j被限制在[-vmax,vmax]之间,通过如下公式:
Figure BDA00039036146800000411
这里,vmax是一个常数值,设置为4;随后,第q个粒子的第j个分量的位置为:
Figure BDA00039036146800000412
其中ζ是随机生成的实数,均匀分布在0和1之间;然后返回步骤②;
通过迭代执行上述步骤,最终输出一个最优二进制粒子
Figure BDA00039036146800000413
它表示多步预测的最优任务分解;然后,通过将模块化神经网络中N个子网络的输出集成,可以生成M步提前预测值;
步骤3.2:双层粒子群算法的内层算法;
①初始化;初始化超参数,包括惯性权重wint、两个加速度系数
Figure BDA00039036146800000414
Figure BDA00039036146800000415
种群大小Qint和最大迭代次数Kint;将初始迭代次数kint=1和初始Pareto解集A设置为空集;子网络中的最大隐藏神经元数设置为hmax,分别在[-6,6]和[-1,1]范围内随机初始化粒子在活动空间中的位置
Figure BDA00039036146800000416
和相应的速度
Figure BDA00039036146800000417
②对于第n个子网络n∈[1,2,…,N],基于两个目标函数gn,1和gn,2评估种群中的粒子,并根据每个粒子的最佳非支配解更新
Figure BDA00039036146800000418
然后,对所有粒子的
Figure BDA00039036146800000419
进行非支配排序,并将非支配解存储在Pareto解集A中;然后从A中随机选择一个粒子作为
Figure BDA00039036146800000420
如果满足终止条件(kint达到Kint),则输出
Figure BDA00039036146800000421
否则,设置kint=kint+1,并转至步骤③;
目标函数gn,1为子网络在预测范围内的平均预测精度,其计算公式如下:
Figure BDA0003903614680000051
其中,fn由(4)定义,sn是第n个子网络的预测范围;
目标函数gn,2为子网络的复杂度:
gn,2=hn*sn (11)
其中,hn和sn分别表示第n个子网络中隐藏层神经元和输出层神经元的数量;
③更新;粒子的更新包括hn的变化以及粒子位置Xq(k)和速度Vq(k)的更新;
粒子的位置Xint的定义如下:
Figure BDA0003903614680000052
其中
Figure BDA0003903614680000053
分别代表X中各个隐含层节点的向量;ciii分别代表第i个隐含层节点的中心宽度和与输出层的权值;
子网络隐含层大小h的更新公式:
Figure BDA0003903614680000054
其中hq(kint)是第q个粒子第kint代对应的子网络隐含层大小;hq(kint+1)是第q个粒子第kint+1代对应的子网络隐含层大小;hbest(kint)是第kint代中最佳粒子
Figure BDA0003903614680000055
的对应的子网络隐含层大小;
位置
Figure BDA0003903614680000056
和速度
Figure BDA0003903614680000057
更新;对于第q个粒子,根据(14)和(15)更新;然后返回步骤②;
Figure BDA0003903614680000058
Figure BDA0003903614680000059
步骤3.3:输入训练样本数据,根据步骤3.2中的公式(3)-(15)更新内外层粒子的值,选择满足终止条件时的
Figure BDA00039036146800000510
的值作为模型的参数设定;
步骤4:出水氨氮多步预测;
将测试样本数据作为训练好的模块化神经网络的输入,得到神经网络的输出后将其反归一化,得到出水氨氮的多步预测值。
本发明与现有技术相比,具有以下明显的优势和有益效果:
(1)本发明针对当前污水处理过程中的关键水质参数氨氮测量周期长,数学模型不易确定的问题,提出了基于双层粒子群的模块化神经网络模型,实现出水氨氮多步预测,具有预测范围大、预测精度高、泛化能力强的特点;
(2)本发明针对传统多步预测的任务划分不灵活的问题,采用二进制编码的粒子群算法将多步预测任务进行划分;做到了预测任务的合理划分,提高了多步预测的灵活性和泛化性;
(2)本发明针对传统模块化神经网络的子网络结构通常比较大且固定,容易引起结构过大和耗时的问题,采用多目标粒子群算法,在保证子网络预测精度的前提下,自适应确定子网络的结构,避免网络规模过大需要更多的计算时间和存储空间;同时提高了多步预测的精度。
附图说明
图1是本发明的基于双层粒子群的模块化神经网络结构拓扑图;
图2是本发明的基于双层粒子群的模块化神经网络流程图;
图3是本发明的模块化神经网络的子网络结构拓扑图;
图4是本发明的出水氨氮浓度多步预测结果图;
具体实施方式
本发明获得了一种基于双层粒子群的模块化神经网络出水氨氮多步预测方法,该软测量方法的结构拓扑图如图1所示,流程图如图2所示。根据污水处理过程采集的数据实现了氨氮浓度的多步测量,解决了污水处理过程出水氨氮浓度变化趋势难以掌握的问题,提高了城市污水处理厂决策的灵活性;
实验数据来自某污水处理厂2014年09月16日到09月22日水质分析数据,共有1036个出水氨氮浓度样本,数据重构后选前600个数据作为训练样本,剩余400个数据作为测试样本;
一种基于双层粒子群的模块化神经网络出水氨氮浓度多步预测方法,其特征在于,包括以下步骤:
步骤1:选取出水氨氮历史数据,生成预测样本;
获取污水处理厂获得的生化需氧量BOD的历史数据Y=[y1,…,yL]T,对其进行重建,生成M步预测的样本A,这里M为18,A的大小为36*1000;
Figure BDA0003903614680000071
其中y是时间序列数据;L是历史数据Y的长度,在这里为1036;D是最大的输入维度为18;AI和AO是预测模型的输入和输出矩阵,大小为18*1000;
步骤2:设计模块化神经网络模型;
根据“分而治之”原则,将一个多步预测任务划分为多个较为简单的子任务,各子任务分别计算;根据“合作共赢”原则,将各子任务的计算结果进行整合,还原整个任务的输出;由此构建一个模块化神经网络;它由四层组成:输入层、任务分解层、子网层和集成输出层;
各层的计算功能如下:
①输入层:输入层将当前和历史时间序列导入模型;该层共有D个神经元,代表输入的维数为D,输入层的输入为YI(t)=[yt-D+1,yt-D+2,…,yt]T,其中yt代表当前时刻;这里D为18;
②任务分解层:该层将多步预测的任务分解为几个独立的子任务;对于M=18步时间序列预测,它生成N个子任务,
Figure BDA0003903614680000072
其中sn表示第n个子任务的预测范围数;因此,第n个子任务的预测范围来自ln-1+1到ln,其中
Figure BDA0003903614680000073
这里l0=0;
③子网络层:根据任务分解层生成的N个子任务生成N个子网络,每个模块处理一个子任务;使用径向基神经网络RBF神经网络作为每个子网络的模型,径向基神经网络RBF的结构图如图3所示;对于第n个子网络,预测范围是sn,则第n个径向基神经网络RBF神经的输出神经元数相应设置为
Figure BDA0003903614680000074
④集成输出层:这一层集成了每个子网络的输出,以获得18步预测结果,即
Figure BDA0003903614680000075
其中YO为模型的输出;
步骤3:设计用于模块化神经网络的双层粒子群优化算法;
步骤3.1:双层粒子群算法的外层算法;
①初始化;初始化参数,包括惯性权重wext、两个加速度系数
Figure BDA0003903614680000081
Figure BDA0003903614680000082
种群大小Qext和最大迭代次数Kext;设置初始迭代次数kext=1;所有粒子的位置Xext为随机生成的0和1,相应的速度Vext在[-4,4]之间随机选取;wext通常取值0.4~2,这里wext为0.8;
Figure BDA0003903614680000083
Figure BDA0003903614680000084
通常取值为0~4,这里取0.49;Qext通常取值20~40,这里取20;Kext通常取值50~100,这里取50;
Figure BDA0003903614680000085
其中
Figure BDA0003903614680000086
Figure BDA0003903614680000087
是随机生成的0或1;
②解码二进制粒子;将代表M=18步预测任务的二进制粒子转换成个N个子任务;将其分给子网络进行学习;这里给定一个粒子为Xext=[1 0 0 1 1 0 1 1 1 0 0 1 0 1 10 0 0],规定若相邻的x相同则划分在同一个子任务,因此M=18的预测任务划分为N=10个子任务,任务集合为S=[1,2,2,1,3,2,1,1,2,3];
③计算适应度函数;根据子网络分别计算输出,根据公式(3),计算18步预测范围内的平均均方根误差RMSE计算所有粒子的适应值;
Figure BDA0003903614680000088
其中,m是第几个预测的步长1≤m≤M,yt+m
Figure BDA0003903614680000089
是第m个预测范围的期望输出值和预测输出值,P是训练样本数;第n个子网络预测范围内的RMSE之和表示为:
Figure BDA00039036146800000810
由此,可将适应度函数f重写为:
Figure BDA00039036146800000811
其中N是模块化神经网络MNN中的子网络数量;
适应度值由子网络的预测精度决定;在计算每一代中所有粒子的适应度值后,得到群体最佳位置
Figure BDA00039036146800000812
和个体最佳位置
Figure BDA00039036146800000813
如果满足终止条件:kext达到Kext或者适应度函数f<0.035,则输出
Figure BDA00039036146800000814
否则,设置kext=kext+1,并转至步骤④;通常情况下,真实数据集的目标f取值范围在0.001~0.1,本次实验取0.035;
④更新;首先根据(6)更新每个粒子的速度,然后使用sigmoid函数映射到[0,1]的区间
Figure BDA0003903614680000091
Figure BDA0003903614680000092
其中kext是迭代次数,wext是惯性重量,这里取0.8;
Figure BDA0003903614680000093
Figure BDA0003903614680000094
是两个加速度系数,这里取0.49;
Figure BDA0003903614680000095
Figure BDA0003903614680000096
是均匀分布在[0,1]内的随机数;
Figure BDA0003903614680000097
是第q个粒子的第kext代的速度向量;
Figure BDA0003903614680000098
是第q个粒子的第kext+1代的速度向量;
Figure BDA0003903614680000099
是第q个粒子的位置向量;
Figure BDA00039036146800000910
是第kext代的个体最佳位置;
Figure BDA00039036146800000911
是第kext代的群体最佳位置;vq,j是速度向量
Figure BDA00039036146800000912
的第j个分量的值;S是sigmoid函数;这里vq,j被限制在[-vmax,vmax]之间,通过如下公式:
Figure BDA00039036146800000913
这里,vmax是一个常数值,设置为4;随后,第q个粒子的第j个分量的位置为:
Figure BDA00039036146800000914
其中ζ是随机生成的实数,均匀分布在0和1之间;然后返回步骤②;
通过迭代执行上述步骤,最终输出一个最优二进制粒子
Figure BDA00039036146800000915
它表示多步预测的最优任务分解;然后,通过将模块化神经网络中N个子网络的输出集成,可以生成18步提前预测值;
步骤3.2:双层粒子群算法的内层算法;
①初始化;初始化超参数,包括惯性权重wint通常取值0.4~2,这里设置为0.8;两个加速度系数
Figure BDA00039036146800000916
Figure BDA00039036146800000917
通常取值为0~4,这里设置为0.49;种群大小Qint通常取值20~40,这里设置为40;最大迭代次数Kint通常取值50~100,这里设置为100;将初始迭代次数kint=1和初始Pareto解集A设置为空集;子网络中的最大隐藏神经元数为hmax通常取值5~20,这里设置为10,分别在[-6,6]和[-1,1]范围内随机初始化粒子在活动空间中的位置
Figure BDA00039036146800000918
和相应的速度
Figure BDA00039036146800000919
②对于第n个子网络n∈[1,2,…,N],基于两个目标函数gn,1和gn,2评估种群中的粒子,并根据每个粒子的最佳非支配解更新
Figure BDA0003903614680000101
然后,对所有粒子的
Figure BDA0003903614680000102
进行非支配排序,并将非支配解存储在Pareto解集A中;然后从A中随机选择一个粒子作为
Figure BDA0003903614680000103
如果满足终止条件gn,1<0.03或者kint达到Kint,则输出Gbest;否则,设置kint=kint+1,并转至步骤③;通常情况下,真实数据集的目标gn,1取值范围在0.001~0.1,本次实验取0.03;
目标函数gn,1为子网络在预测范围内的平均预测精度,其计算公式如下:
Figure BDA0003903614680000104
其中,fn由(4)定义,sn是第n个子网络的预测范围;
目标函数gn,2为子网络的复杂度:
gn,2=hn*sn (11)
其中,hn和sn分别表示第n个子网络中隐藏层神经元和输出层神经元的数量;
③更新;粒子的更新包括对应子网络隐含层大小hn的变化以及粒子位置
Figure BDA0003903614680000105
和速度
Figure BDA0003903614680000106
的更新;
粒子的位置
Figure BDA0003903614680000107
的定义如下:
Figure BDA0003903614680000108
其中
Figure BDA0003903614680000109
分别代表X中各个隐含层节点的向量;ciii分别代表第i个隐含层节点的中心、宽度和与输出层的权值;
子网络隐含层大小h的更新公式:
Figure BDA00039036146800001010
其中hq(kint)是第q个粒子第kint代对应的子网络隐含层大小;hq(kint+1)是第q个粒子第kint+1代对应的子网络隐含层大小;hbest(kint)是第kint代中最佳粒子
Figure BDA00039036146800001011
的对应的子网络隐含层大小;
位置
Figure BDA00039036146800001012
和速度
Figure BDA00039036146800001013
更新;对于第q个粒子,根据(14)和(15)然后返回步骤②;
Figure BDA0003903614680000111
Figure BDA0003903614680000112
步骤3.3:输入训练样本数据,根据步骤3.2中的公式(3)-(15)更新内外层粒子的值,选择满足终止条件时的
Figure BDA0003903614680000113
作为模型的参数设定;这里最佳粒子为:
Gbest=[3.5207-0.9387 2.0006 2.4295 4.4633 1.2507 1.2692 1.6715 0.28954.2812 -1.7025 0.4006 -0.4628 -2.2762 -0.7256 0.0914 0.1715 -0.2189 -0.0284 -0.1560 0.4650];最佳结构hbest为7;
步骤4:出水氨氮多步预测;
将测试样本数据作为训练好的模块化神经网络的输入,得到神经网络的输出后将其反归一化,得到出水氨氮的多步预测值;
在本实施例中,基于双层粒子群算法的模块化神经网络模型对出水氨氮浓度预测结果图如图4所示,子图分别为多步预测的第1,4,7,12,14,18步结果;X轴:测试样本,单位是个;Y轴:出水氨氮浓度预测值,单位为mg/L,实线为出水氨氮浓度实测值,虚线为出水氨氮浓度预测值;结果表明基于双层粒子群算法的模块化神经网络的出水氨氮软测量方法的有效性;
训练样本:
表1.出水氨氮浓度,单位为mg/L
Figure BDA0003903614680000114
Figure BDA0003903614680000121
Figure BDA0003903614680000131
测试样本:
表2.出水氨氮浓度,单位为mg/L
Figure BDA0003903614680000132
Figure BDA0003903614680000141
表3.模型测试输出出水氨氮浓度,单位为mg/L
Figure BDA0003903614680000142
Figure BDA0003903614680000151

Claims (1)

1.一种基于双层粒子群的模块化神经网络出水氨氮多步预测方法,其特征在于,包括以下步骤:
步骤1:选取出水氨氮历史数据,生成预测样本;
获取污水处理厂获得的氨氮历史数据Y=[y1,…,yL]T,对其进行重建,生成M步预测的样本A;
Figure FDA0003903614670000011
其中y是时间序列数据,L是历史数据Y的长度,D是最大的输入维度;AI和AO是预测模型的输入和输出矩阵;
步骤2:设计模块化神经网络模型;
根据“分而治之”原则,将一个多步预测任务划分为多个较为简单的子任务,各子任务分别计算;根据“合作共赢”原则,将各子任务的计算结果进行整合,还原整个任务的输出;由此构建一个模块化神经网络;它由四层组成:输入层、任务分解层、子网层和集成输出层;
各层的计算功能如下:
①输入层:输入层将当前和历史时间序列导入模型;该层共有D个神经元,代表输入的维数为D,输入层的输入为YI(t)=[yt-D+1,yt-D+2,…,yt]T,其中yt代表当前时刻;
②任务分解层:该层将多步预测的任务分解为几个独立的子任务;对于M步时间序列预测,它生成N个子任务,
Figure FDA0003903614670000012
其中sn表示第n个子任务的预测范围数;因此,第n个子任务的预测范围来自ln-1+1到ln,其中
Figure FDA0003903614670000013
这里l0=0;
③子网络层:子网络层由几个模块组成,每个模块处理一个子任务,因此子网络的数量等于子任务的数量;使用径向基神经网络神经网络作为每个子网络的模型;对于第n个子网络,假设它预测sn,则第n个径向基神经网络神经的输出神经元数相应设置为
Figure FDA0003903614670000014
④集成输出层:这一层集成了每个子网络的输出,以获得M步预测结果,即
Figure FDA0003903614670000021
其中YO为模型的输出;
步骤3:设计用于模块化神经网络的双层粒子群优化算法;
步骤3.1:双层粒子群算法的外层算法;
①初始化;初始化参数,包括惯性权重wext、两个加速度系数
Figure FDA0003903614670000022
Figure FDA0003903614670000023
种群大小Qext和最大迭代次数Kext;设置初始迭代次数kext=1;所有粒子的位置Xext随机生成,相应的速度Vext限制在[-4,4];
Figure FDA0003903614670000024
其中
Figure FDA0003903614670000025
Figure FDA0003903614670000026
是随机生成的0或1;
②解码二进制粒子;将代表M步预测任务的二进制粒子转换成个N个子任务;将其分给子网络进行学习;
③计算适应度函数;根据子网络分别计算输出,根据公式(3),计算M步预测范围内的平均均方根误差RMSE计算所有粒子的适应值;
Figure FDA0003903614670000027
其中,yt+m
Figure FDA0003903614670000028
是第m个预测范围的期望输出值和预测输出值,这里1≤m≤M;P是训练样本数;第n个子网络预测范围内的RMSE之和表示为:
Figure FDA0003903614670000029
由此,可将适应度函数f重写为:
Figure FDA00039036146700000210
其中N是模块化神经网络中的子网络数量;
适应度值由子网络的预测精度决定;在计算每一代中所有粒子的适应度值后,得到群体最佳位置
Figure FDA00039036146700000211
和个体最佳位置
Figure FDA00039036146700000212
如果满足终止条件:适应度函数收敛或kext达到Kext,则输出
Figure FDA00039036146700000213
否则,设置kext=kext+1,并转至步骤④;
④更新;首先根据(6)更新每个粒子的速度,然后使用sigmoid函数映射到[0,1]的区间
Figure FDA0003903614670000031
Figure FDA0003903614670000032
其中kext是迭代次数,wext∈[0,1]是惯性重量;
Figure FDA0003903614670000033
Figure FDA0003903614670000034
是两个加速度系数;
Figure FDA0003903614670000035
Figure FDA0003903614670000036
是均匀分布在[0,1]内的随机数;
Figure FDA0003903614670000037
是第q个粒子的第kext代的速度向量;
Figure FDA0003903614670000038
是第q个粒子的第kext+1代的速度向量;
Figure FDA0003903614670000039
是第q个粒子的位置向量;
Figure FDA00039036146700000310
是第kext代的个体最佳位置;
Figure FDA00039036146700000311
是第kext代的群体最佳位置;vq,j是速度向量
Figure FDA00039036146700000312
的第j个分量的值;S是sigmoid函数;这里vq,j被限制在[-vmax,vmax]之间,通过如下公式:
Figure FDA00039036146700000313
这里,vmax是一个常数值,设置为4;随后,第q个粒子的第j个分量的位置为:
Figure FDA00039036146700000314
其中ζ是随机生成的实数,均匀分布在0和1之间;然后返回步骤②;
通过迭代执行上述步骤,最终输出一个最优二进制粒子
Figure FDA00039036146700000315
它表示多步预测的最优任务分解;然后,通过将模块化神经网络中N个子网络的输出集成,可以生成M步提前预测值;
步骤3.2:双层粒子群算法的内层算法;
①初始化;初始化超参数,包括惯性权重wint、两个加速度系数
Figure FDA00039036146700000316
Figure FDA00039036146700000317
种群大小Qint和最大迭代次数Kint;将初始迭代次数kint=1和初始Pareto解集A设置为空集;子网络中的最大隐藏神经元数设置为hmax,分别在[-6,6]和[-1,1]范围内随机初始化粒子在活动空间中的位置
Figure FDA00039036146700000318
和相应的速度
Figure FDA00039036146700000319
②对于第n个子网络n∈[1,2,…,N],基于两个目标函数gn,1和gn,2评估种群中的粒子,并根据每个粒子的最佳非支配解更新
Figure FDA0003903614670000041
然后,对所有粒子的
Figure FDA0003903614670000042
进行非支配排序,并将非支配解存储在Pareto解集A中;然后从A中随机选择一个粒子作为
Figure FDA0003903614670000043
如果满足终止条件即kint达到Kint,则输出
Figure FDA0003903614670000044
否则,设置kint=kint+1,并转至步骤③;
目标函数gn,1为子网络在预测范围内的平均预测精度,其计算公式如下:
Figure FDA0003903614670000045
其中,fn由(4)定义,sn是第n个子网络的预测范围;
目标函数gn,2为子网络的复杂度:
gn,2=hn*sn (11)
其中,hn和sn分别表示第n个子网络中隐藏层神经元和输出层神经元的数量;
③更新;粒子的更新包括hn的变化以及粒子位置Xq(k)和速度Vq(k)的更新;
粒子的位置Xint的定义如下:
Figure FDA0003903614670000046
其中
Figure FDA0003903614670000047
分别代表X中各个隐含层节点的向量;ciii分别代表第i个隐含层节点的中心宽度和与输出层的权值;
子网络隐含层大小h的更新公式:
Figure FDA0003903614670000048
其中hq(kint)是第q个粒子第kint代对应的子网络隐含层大小;hq(kint+1)是第q个粒子第kint+1代对应的子网络隐含层大小;hbest(kint)是第kint代中最佳粒子
Figure FDA0003903614670000049
的对应的子网络隐含层大小;
位置
Figure FDA00039036146700000410
和速度
Figure FDA00039036146700000411
更新;对于第q个粒子,根据(14)和(15)更新;然后返回步骤②;
Figure FDA00039036146700000412
Figure FDA0003903614670000051
步骤3.3:输入训练样本数据,根据步骤3.2中的公式(3)-(15)更新内外层粒子的值,选择满足终止条件时的
Figure FDA0003903614670000052
的值作为模型的参数设定;
步骤4:出水氨氮多步预测;
将测试样本数据作为训练好的模块化神经网络的输入,得到神经网络的输出后将其反归一化,得到出水氨氮的多步预测值。
CN202211298386.XA 2022-10-23 2022-10-23 一种基于双层pso的模块化神经网络出水氨氮浓度多步预测方法 Pending CN115660165A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211298386.XA CN115660165A (zh) 2022-10-23 2022-10-23 一种基于双层pso的模块化神经网络出水氨氮浓度多步预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211298386.XA CN115660165A (zh) 2022-10-23 2022-10-23 一种基于双层pso的模块化神经网络出水氨氮浓度多步预测方法

Publications (1)

Publication Number Publication Date
CN115660165A true CN115660165A (zh) 2023-01-31

Family

ID=84989620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211298386.XA Pending CN115660165A (zh) 2022-10-23 2022-10-23 一种基于双层pso的模块化神经网络出水氨氮浓度多步预测方法

Country Status (1)

Country Link
CN (1) CN115660165A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116151121A (zh) * 2023-02-21 2023-05-23 北京工业大学 一种基于神经网络的出水nh4-n软测量方法
CN117035005A (zh) * 2023-07-31 2023-11-10 北京工业大学 城市固废焚烧过程智能操作优化方法
CN117151932B (zh) * 2023-10-27 2024-01-12 武汉纺织大学 一种非平稳输出的电流互感器误差状态预测方法和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116151121A (zh) * 2023-02-21 2023-05-23 北京工业大学 一种基于神经网络的出水nh4-n软测量方法
CN116151121B (zh) * 2023-02-21 2024-03-26 北京工业大学 一种基于神经网络的出水nh4-n软测量方法
CN117035005A (zh) * 2023-07-31 2023-11-10 北京工业大学 城市固废焚烧过程智能操作优化方法
CN117151932B (zh) * 2023-10-27 2024-01-12 武汉纺织大学 一种非平稳输出的电流互感器误差状态预测方法和系统

Similar Documents

Publication Publication Date Title
CN115660165A (zh) 一种基于双层pso的模块化神经网络出水氨氮浓度多步预测方法
Saadat et al. Training echo state neural network using harmony search algorithm
CN111416797B (zh) 改进天牛群算法优化正则化极限学习机的入侵检测方法
CN109657790B (zh) 一种基于pso的递归rbf神经网络出水bod预测方法
Kim et al. Designing fuzzy logic controllers using a multiresolutional search paradigm
CN115345344A (zh) 基于注意力机制和长短期记忆网络的污水处理厂出水水质预测方法
Liu et al. Effluent quality prediction of papermaking wastewater treatment processes using stacking ensemble learning
CN109978024B (zh) 一种基于互联模块化神经网络的出水bod预测方法
CN109408896B (zh) 一种污水厌氧处理产气量多元智能实时监控方法
Na et al. A novel heuristic artificial neural network model for urban computing
Alabas et al. A comparison of the performance of artificial intelligence techniques for optimizing the number of kanbans
CN110837886A (zh) 一种基于elm-sl0神经网络的出水nh4-n软测量方法
Zhou et al. Pattern classification and prediction of water quality by neural network with particle swarm optimization
CN115600725A (zh) 一种基于ceemdan-igwo-n-beats的风电场超短期风向预测方法
Imada et al. Lamarckian evolution of associative memory
CN114363262A (zh) 一种空天地一体化网络下的混沌动态拥塞预测系统及方法
CN114282614B (zh) 基于随机森林和ifda优化cnn-gru的中长期径流预测方法
CN116741299A (zh) 一种基于快速多层前馈小世界神经网络出水氨氮浓度预测方法
Juuso Hybrid models in dynamic simulation of a biological water treatment process
CN113065693B (zh) 一种基于径向基神经网络的车流量预测方法
Khoa et al. Training multilayer neural network by global chaos optimization algorithms
CN116796145A (zh) 基于模块化随机配置网络的出水氨氮浓度软测量方法
Quan et al. Prediction of effluent Ammonia Nitrogen using FNN-based CBR
CN116796185A (zh) 一种基于注意力模块化神经网络的城市固废焚烧过程NOx预测方法
CN118095883A (zh) 一种基于分布式特征提取神经网络的污水生化需氧量的监测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination