基于混合神经网络的湿地出水氨氮浓度预测方法及系统

allin2023-03-23  119



1.本发明属于计算器技术领域,尤其涉及一种基于混合神经网络的湿地出水氨氮浓度预测方法及系统。


背景技术:

2.目前,多维数据驱动模型在出水水质预测方面成果显著,其中又以神经网络技术预测效果最佳。神经网络是人们由生物神经系统简化而提取出的算法模型,近些年来因其鲁棒性高,对多元非线性关系拟合效果好等特点,而广泛应用在在城市污水处理领域。目前常用于污水处理中的神经网络有误差反向传播神经网络、径向基函数神经网络、遗传算法、循环神经网路、长短期记忆神经网络等。但这些方法普遍存在易陷于局部最小值,难以找到全局最优解的问题。而且对于水质预测,输入的水质指标很多,超过8项,如何对输入的多个指标进行处理,提出有用的信息,用于后续的处理并进行准确的预测,降低预测误差,目前存在有一定的难度。


技术实现要素:

3.针对以上技术问题,本发明公开了一种基于混合神经网络的湿地出水氨氮浓度预测方法及系统,提高了模型的鲁棒性和泛化能力,降低对出水氨氮浓度的预测误差。
4.对此,本发明采用的技术方案为:
5.一种基于混合神经网络的湿地出水氨氮浓度预测方法,其包括:
6.步骤s1,对获取的人工湿地进水断面的水质环境数据进行预处理,得到输入数据;其中所述水质环境数据包括水质指标、水量指标和大气环境指标三类,所述水质环境数据的指标不少于8个;进一步的,所述水质环境数据的指标为11个。
7.步骤s2,采用输入数据构建训练集和测试集,采用bp神经网络构建预测模型;
8.步骤s3,采用遗传算法对bp神经网络的权职和阈值进行优化,得到优化的权值和阈值,再将优化好的权值和阈值带入神经网络中,完成对神经网络的优化,得到优化好的模型;
9.步骤s4,对步骤s3中优化好的模型,采用lm算法进行训练,得到最佳水质参数预测模型;
10.步骤s5,利用测试集对待预测的人工湿地氨氮浓度进行预测。
11.其中,采用bp神经网络构建预测模型为采用现有技术的方法。
12.作为本发明的进一步改进,所述水质指标包括进水cod值、tp值(总磷)、ss值、th值、bod5值、ph值,所述水量指标包括进水流速和降雨量,所述大气环境指标包括温度、湿度、大气压。
13.作为本发明的进一步改进,步骤s1中,采用移动平均法对水质环境数据的指标进行平滑化处理,然后对各个指标数据进行标准化处理,转化为均值为0、方差为1的数列,采用主成分分析法进行数据降维,提取累计贡献率大于设定阈值的样本参数作为输入数据。
14.优选的,所述标准化处理,采用如下公式进行:
[0015][0016]
其中,yi为该指标标准化处理后的值,max{xj}为该指标的最大值,min{xj}为该指标的最小值,xi为该指标进行标准化处理前的数值。
[0017]
作为本发明的进一步改进,步骤s4采用lm算法进行训练包括:
[0018]
步骤s401,获取训练集的数据;
[0019]
步骤s402,输入前期优化的权值和阈值,并设定精度;
[0020]
步骤s403,计算初始误差函数r(x);
[0021]
误差函数:r(x)=|f(x)-g(x)|
[0022]
其中f(x)为初始模型计算结果值,g(x)为真实值;
[0023]
步骤s404,构造雅可比矩阵,设定初始修正因子,解如下所述的超定方程:
[0024]
x
t+1
=x
t-(j
t
j+λin)-1jtr[0025]
其中j表示雅克比矩阵,in为单位矩阵,λ为修正因子,r为误差函数结果值;
[0026]
雅可比矩阵为:其中矩阵中的各项为误差函数模型的一阶偏导数;初始修正因子根据如下公式计算得到:
[0027]
a0=j(x0)
t
j(x0)
[0028][0029]
其中,j(x0)为x0的雅可比矩阵,u0为初始修正因子,x0为初始降维后所得输入值,为a0的对角线元素,τ为0~1间的随机值;
[0030]
步骤s405,将超定方程的计算结果x
t+1
,带入误差函数r(x)比较r(x
t
)与r(x
t+1
),调整修正因子大小;如果误差减小,则减少修正因子,同时修正权值和阈值;如果误差增大,则增大修正因子;直到达到设定的精度,输出最终解。
[0031]
作为本发明的进一步改进,步骤s3中采用遗传算法对bp神经网络的权职和阈值进行优化包括:
[0032]
步骤s301,初始化种群,选择合适的编码方式;
[0033]
步骤s302,适应度函数的选择,根据个体得到bp神经网络的初始权值和阀值,用训练数据训练bp神经网络后预测系统输出,把预测输出和期望输出之间的误差绝对值和e作为个体适应度值f,计算公式为:
[0034]
式中,n为网络输出节点数,yi为bp神经网络第i个节点的期望输出,oi为第i个节点的预测输出,k为系数;
[0035]
步骤s303,选择操作采用轮盘赌法,即基于适应度比例策略,每个个体i的选择概率pi为:fi=k/fi,
[0036][0037]
式中,fi为个体i的适应度,由于适应度值越小越好,所以在个体选择前对适应度值取倒数,n为种群数目,k为系数;
[0038]
步骤s304,交叉操作,由于个体采用实数编码,所以交叉操作方法采用实数交叉法,第k个染色体ak和第l个染色体al在j位的交叉操作如下:
[0039][0040]
式中,b是[0,1]间的随机数;
[0041]
步骤s305,变异操作,选取第i个个体的第j个基因aij进行变异,变异操作方法如下:
[0042][0043]
式中,amax为基因aij的上界,amin为基因aij的下界,f(g)=r2(1-g/gmax)2,r2为一个随机数,g为当前迭代次数,gmax为最大进化次数,r为[0,1]间的随机数;
[0044]
步骤s306,将新染色体代替原来染色体,计算适应度,如果满足条件得到优化好的权值和阈值,否则转到步骤s303继续优化。
[0045]
优化的,所述基于混合神经网络的湿地出水氨氮浓度预测方法还包括:
[0046]
获取多组实际数据,使用模型评价指标对构建的预测模型进行可靠性评估和反馈调试;
[0047]
根据验证后的预测模型,模拟出湿地出水浓度,对潜流湿地出水浓度进行长期持续预测。
[0048]
其中,所述模型评价指标包括平均绝对误差、均方根误差、误差系数。
[0049]
本发明还公开了基于混合神经网络的湿地出水氨氮浓度预测系统,其包括:
[0050]
水质环境数据处理模块,对获取的人工湿地进水断面的水质环境数据进行预处理,得到输入数据;其中所述水质环境数据包括水质指标、水量指标和大气环境指标三类,所述水质环境数据的指标不少于8个;
[0051]
预测模型构建模块,采用输入数据构建训练集和测试集,采用bp神经网络构建预测模型;
[0052]
遗传算法模块,采用遗传算法对bp神经网络的权职和阈值进行优化,得到优化的权值和阈值,再将优化好的权值和阈值带入神经网络中,完成对神经网络的优化,得到优化好的模型;
[0053]
训练模块,对步骤s3中优化好的模型,采用lm算法进行训练,得到最佳水质参数预测模型;
[0054]
预测模块,利用测试集对待预测的人工湿地氨氮浓度进行预测。
[0055]
作为本发明的进一步改进,所述水质指标包括进水cod(chemical oxygen demand,化学需氧量)值、tp值、ss((suspended solid,悬浮固体)值、tn(总氮)值、bod5(水质五日生化需氧量)值、ph值,所述水量指标包括进水流速和降雨量,所述大气环境指标包括温度、湿度、大气压;
[0056]
所述水质环境数据处理模块采用如下步骤进行处理:
[0057]
对各个指标数据进行标准化处理,转化为均值为0、方差为1的数列,采用主成分分析法进行数据降维,提取累计贡献率大于设定阈值的样本参数作为输入数据;
[0058]
所述标准化处理,采用如下公式进行:
[0059][0060]
其中,yi为该指标标准化处理后的值,max{xj}为该指标的最大值,min{xj}为该指标的最小值,xi为该指标进行标准化处理前的数值。
[0061]
作为本发明的进一步改进,所述遗传算法模块采用如下步骤进行处理:
[0062]
步骤s301,初始化种群,选择合适的编码方式;
[0063]
步骤s302,适应度函数的选择,根据个体得到bp神经网络的初始权值和阀值,用训练数据训练bp神经网络后预测系统输出,把预测输出和期望输出之间的误差绝对值和e作为个体适应度值f,计算公式为:
[0064]
式中,n为网络输出节点数,yi为bp神经网络第i个节点的期望输出,oi为第i个节点的预测输出,k为系数;
[0065]
步骤s303,选择操作采用轮盘赌法,即基于适应度比例策略,每个个体i的选择概率pi为:fi=k/fi,
[0066][0067]
式中,fi为个体i的适应度,由于适应度值越小越好,所以在个体选择前对适应度值取倒数,n为种群数目,k为系数;
[0068]
步骤s304,交叉操作,由于个体采用实数编码,所以交叉操作方法采用实数交叉法,第k个染色体ak和第l个染色体al在j位的交叉操作如下:
[0069][0070]
式中,b是[0,1]间的随机数;
[0071]
步骤s305,变异操作,选取第i个个体的第j个基因aij进行变异,变异操作方法如下:
[0072]
[0073]
式中,amax为基因aij的上界,amin为基因aij的下界,f(g)=r2(1-g/gmax)2,r2为一个随机数,g为当前迭代次数,gmax为最大进化次数,r为[0,1]间的随机数;
[0074]
步骤s306,将新染色体代替原来染色体,计算适应度,如果满足条件得到优化好的权值和阈值,否则转到步骤s303继续优化。
[0075]
作为本发明的进一步改进,所述训练模块采用如下步骤进行训练:
[0076]
步骤s401,获取训练集的数据;
[0077]
步骤s402,输入前期优化的权值和阈值,并设定精度;
[0078]
步骤s403,计算初始误差函数r(x);
[0079]
误差函数:r(x)=|f(x)-g(x)|
[0080]
其中f(x)为初始模型计算结果值,g(x)为真实值;
[0081]
步骤s404,构造雅可比矩阵,设定初始修正因子,解如下所述的超定方程:
[0082]
x
t+1
=x
t-(j
t
j+λin)-1jtr[0083]
其中j表示雅克比矩阵,in为单位矩阵,λ为修正因子,r为误差函数结果值;
[0084]
雅可比矩阵为:其中矩阵中的各项为误差函数模型的一阶偏导数;初始修正因子根据如下公式计算得到:
[0085]
a0=j(x0)
t
j(x0)
[0086][0087]
其中,j(x0)为x0的雅可比矩阵,u0为初始修正因子,x0为初始降维后所得输入值,为a0的对角线元素,τ为0~1间的随机值;
[0088]
步骤s405,将超定方程的计算结果x
t+1
,带入误差函数r(x)比较r(x
t
)与r(x
t+1
),调整修正因子大小;如果误差减小,则减少修正因子,同时修正权值和阈值;如果误差增大,则增大修正因子;直到达到设定的精度,输出最终解。
[0089]
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如上任意一项所述的基于混合神经网络的湿地出水氨氮浓度预测方法。
[0090]
本发明还公开了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上任意一项所述的基于混合神经网络的湿地出水氨氮浓度预测方法。
[0091]
与现有技术相比,本发明的有益效果为:
[0092]
采用本发明的技术方案,提高模型的鲁棒性和泛化能力,降低对出水氨氮浓度的预测误差,可以实时预测人工湿地的出水水质,从而为人工湿地的运维及管理提供科学依据,构建准确有效的人工湿地水质预测模型。
[0093]
而且,本发明的技术方案除了实现人工湿地出水浓度的预测功能外,同时在预测之前对待测湿地水质环境数据进行了平滑性处理,增强了数据集的完整性,减弱的异常值对预测结果的影响程度;利用ga解决了传统神经网络易陷入局部最小值的问题,充分利用
了ga良好的全局搜索能力,对神经网络的初始权值和阈值进行优化,减少了训练次数,缩短寻找最佳网络结构的时间。此外运用了bp神经网络对多元非线性关系的拟合能力。使用lm算法对模型进行训练,提升了模型准确性,可有效降低迭代时间和模型收敛时间;最后能有效处理冗余参数问题,使模型陷入局部极小值的机会大大减小。
附图说明
[0094]
图1是本发明实施例的基于混合神经网络的湿地出水氨氮浓度预测方法的流程图。
[0095]
图2是本发明实施例中ga遗传网络的示意图。
[0096]
图3是本发明实施例中bp神经网络的示意图。
[0097]
图4是本发明实施例中lm算法对模型进行训练的流程图。
具体实施方式
[0098]
下面对本发明的较优的实施例作进一步的详细说明。
[0099]
如图1~图4所示,一种基于混合神经网络的湿地出水氨氮浓度预测方法,其包括:
[0100]
步骤s1,对获取的人工湿地进水断面的水质环境数据进行预处理,得到输入数据;其中所述水质环境数据包括水质指标、水量指标和大气环境指标三类,所述水质环境数据的指标不少于8个;进一步的,所述水质环境数据的指标为11个。所述水质指标包括进水cod值、tp值、ss值、th值、bod5值、ph值,所述水量指标包括进水流速和降雨量,所述大气环境指标包括温度、湿度、大气压。
[0101]
此步骤中,先采用移动平均法对水质环境数据的指标进行平滑化处理,然后对各个指标数据进行标准化处理,转化为均值为0、方差为1的数列,采用主成分分析法进行数据降维,提取累计贡献率大于设定阈值的样本参数作为输入数据。
[0102]
所述标准化处理,采用如下公式进行:
[0103][0104]
其中,yi为该指标标准化处理后的值,max{xj}为该指标的最大值,min{xj}为该指标的最小值,xi为该指标进行标准化处理前的数值。
[0105]
步骤s2,采用输入数据构建训练集和测试集,采用bp神经网络构建预测模型,设置输入数据作为输入层,设置率定的神经元数为隐含层,得到的输出层为模拟的出水氨氮浓度。
[0106]
具体包括:通过matlab神经网络拟合工具建立预测模型,在率定隐含层神经元数前提下进行多次训练的结果,隐含层神经元数采用试错法确定,即分别构建了隐含层神经元数从2到35,层数由1到3的模型进行试错。各层间传递函数设为sigmod,输出函数设为tanh。氨氮参数优化模块的构建是通过matlabr2020b软件的genetic algorithm optimization toolbox工具完成。
[0107]
步骤s3,采用遗传算法对bp神经网络的权职和阈值进行优化,得到优化的权值和阈值,再将优化好的权值和阈值带入神经网络中,完成对神经网络的优化,得到优化好的模
型;本步骤中的优化包括:
[0108]
步骤s301,初始化种群,选择合适的编码方式;
[0109]
步骤s302,适应度函数的选择,根据个体得到bp神经网络的初始权值和阀值,用训练数据训练bp神经网络后预测系统输出,把预测输出和期望输出之间的误差绝对值和e作为个体适应度值f,计算公式为:
[0110]
式中,n为网络输出节点数,yi为bp神经网络第i个节点的期望输出,oi为第i个节点的预测输出,k为系数;
[0111]
步骤s303,选择操作采用轮盘赌法,即基于适应度比例策略,每个个体i的选择概率pi为:fi=k/fi,
[0112][0113]
式中,fi为个体i的适应度,由于适应度值越小越好,所以在个体选择前对适应度值取倒数,n为种群数目,k为系数;
[0114]
步骤s304,交叉操作,由于个体采用实数编码,所以交叉操作方法采用实数交叉法,第k个染色体ak和第l个染色体al在j位的交叉操作如下:
[0115][0116]
式中,b是[0,1]间的随机数;
[0117]
步骤s305,变异操作,选取第i个个体的第j个基因aij进行变异,变异操作方法如下:
[0118][0119]
式中,amax为基因aij的上界,amin为基因aij的下界,f(g)=r2(1-g/gmax)2,r2为一个随机数,g为当前迭代次数,gmax为最大进化次数,r为[0,1]间的随机数;
[0120]
步骤s306,将新染色体代替原来染色体,计算适应度,如果满足条件得到优化好的权值和阈值,否则转到步骤s303继续优化。
[0121]
步骤s4,对步骤s3中优化好的模型,采用lm(levenberg-marquardt)算法进行训练,得到最佳水质参数预测模型;
[0122]
如图4所示,采用lm算法进行训练包括:
[0123]
步骤s401,获取训练集的数据;
[0124]
步骤s402,输入前期优化的权值和阈值,并设定精度;
[0125]
步骤s403,计算初始误差函数r(x);
[0126]
误差函数:r(x)=|f(x)-g(x)|
[0127]
其中f(x)为初始模型计算结果值,g(x)为真实值;步骤s404,构造雅可比矩阵,设定初始修正因子,解如下所述的超定方程:
[0128]
x
t+1
=x
t-(j
t
j+λin)-1jtr[0129]
其中j表示雅克比矩阵,in为单位矩阵,λ为修正因子,r为误差函数结果值;
[0130]
雅可比矩阵为:其中矩阵中的各项为误差函数模型的一阶偏导数;初始修正因子根据如下公式计算得到:
[0131]
a0=j(x0)
t
j(x0)
[0132][0133]
其中,j(x0)为x0的雅可比矩阵,u0为初始修正因子,x0为初始降维后所得输入值,为a0的对角线元素,τ为0~1间的随机值;
[0134]
步骤s405,将超定方程的计算结果x
t+1
,带入误差函数r(x)比较r(x
t
)与r(x
t+1
),调整修正因子大小;如果误差减小,则减少修正因子,同时修正权值和阈值;如果误差增大,则增大修正因子;直到达到设定的精度,输出最终解。
[0135]
步骤s5,利用测试集对待预测的人工湿地氨氮浓度进行预测。
[0136]
步骤s6,获取多组实际数据,使用模型评价指标对构建的预测模型进行可靠性评估和反馈调试;其中,所述模型评价指标包括平均绝对误差、均方根误差、误差系数。
[0137]
根据验证后的预测模型,模拟出湿地出水浓度,对潜流湿地出水浓度进行长期持续预测。
[0138]
此技术方案挑选了三类不同的指标,包括水质指标、水量指标和大气环境指标,使对人工湿地这样一个复杂系统的模拟更加准确。在对数据的处理中,因所收集的各个变量比例相差过大(如进水cod与流速之间比例相差过大),采用pca主成分分析法不再是去中心化操作,而是标准化操作,首先将各单项数据转化为均值为0、方差为1的数列,之后再进行求协方差矩阵的操作,从而防止了因某些变量比例过大而掩盖掉比例过小变量的问题,使最终pca在尽可能降维的情况下,涵盖了大量信息。在模型训练过程中使用levenberg-marquardt算法,可有效避免参数过多,导致模型过拟合的问题,从而提升模型准确性;其次可有效降低迭代时间和模型收敛时间;最后能有效处理冗余参数问题,使模型陷入局部极小值的机会大大减小。其中,修正因子的选择很重要,选择合适的修正因子可以使模型更快收敛,避免陷入局部最小值,提高其精度。
[0139]
按照上面的方法结合实施例进行进一步的说明。
[0140]
实施例1
[0141]
收集人工湿地进水断面及出水断面的185组水质环境数据,收集的数据为一组11维的数据集,包括水质数据指标cod值、tp值、ss值、tn值、bod5(水质五日生化需氧量)值、ph值,所水量指标包括进水流速和降雨量,大气环境指标包括温度、湿度、大气压;数据如表1所示:
[0142]
表1
[0143]
[0144]
[0145]
[0146]
[0147][0148]
[0149]
步骤1:采用移动平均法,利用如下公式将已获取样本的输出指标:出水氨氮进行平滑化处理,具体包括:
[0150]
公式:y
t
=w
t
+w
t-1
+......+w
t-n
[0151]yt
:平均后t日的出水氨氮浓度,
[0152]wt
:t日的出水氨氮浓度。
[0153]
本实施例选用的3天数据进行平均,也就说用t-2、t-1、t日的数据进行平均,如表1所示。
[0154]
然后对已获取样本的输入指标进行标准化处理,具体包括:
[0155]
使用matlab中的mapminmax归一化处理,防止因数据位数过小而导致其特征被忽略,难以表达。
[0156]
x'=(x-x_min)/(x_max-x_min)
[0157]
x’:为归一化后数据;
[0158]
x:为原数据;
[0159]
x_min:为原数据中的最小值;
[0160]
x_max:为原数据中的最大值;
[0161]
最后将所得标准化数据进行主成分分析,以保留95%信息为提取标准,将11列数据中提取6列作为其主成分,将这4列数组成四维矩阵作为神经网络的输入指标。
[0162]
步骤3:建立bp神经网络
[0163]
预测模型的构建是在matlab神经网络拟合工具中完成,隐含层神经元数的确定采用试错法。
[0164]
本实施例中,氨氮预测生成模块的构建是在matlabr2020b软件中进行,具体是由其中的neural network fitting tool工具完成。建模过程中,输入层变量为:进水cod、tp、ss、ph、bod5、氨氮以及相应日子的降雨量、流量、温度、湿度、大气压等数据。输出层为氨氮浓度。收集的185组数据中,166组作为训练集,19组作为测试集。隐含层神经元数采用试错法确定:即分别构建了隐含层神经元数从2到35,层数由1到3的模型进行试错。各层间传递函数设为sigmod,输出函数设为tanh。氨氮参数优化模块的构建是通过matlabr2020b软件的genetic algorithm optimization toolbox工具完成。
[0165]
因为遗传算法优化的参数是bp神经网络的初始权值和阈值,只要网络的结构已知,权值和阈值的个数就已知了。
[0166]
首先采用二进制编码对神经网络权值和阈值编码,得到初始种群。初始种群中的每个个体都包含了一个网络所有权值和阈值,个体通过适应度函数(本实际例中以的倒数为适应度函数)。计算个体适应度值,遗传算法通过选择、交叉和变异操作找到最优适应度值对应的个体。在达到世代次数(本案例为200代,即gen=200)时结束,用遗传算法得到最优个体对网络进行初始权值和阈值的赋值,即开始训练。
[0167]
按照上述方法,对2021.7.14~2021.8.1的出水氨氮浓度进行预测,并以ga_bp3方法、bp3神经网络方法、ga_lm_bp方法进行对比,结果如表2所示。可见,采用本发明的技术方案,得到的结果更加准确。
[0168]
表2预测结果对比表
[0169][0170][0171]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

技术特征:
1.一种基于混合神经网络的湿地出水氨氮浓度预测方法,其特征在于,其包括:步骤s1,对获取的人工湿地进水断面的水质环境数据进行预处理,得到输入数据;其中所述水质环境数据包括水质指标、水量指标和大气环境指标三类,所述水质环境数据的指标不少于8个;步骤s2,采用输入数据构建训练集和测试集,采用bp神经网络构建预测模型;步骤s3,采用遗传算法对bp神经网络的权职和阈值进行优化,得到优化的权值和阈值,再将优化好的权值和阈值带入神经网络中,完成对神经网络的优化,得到优化好的模型;步骤s4,对步骤s3中优化好的模型,采用lm算法进行训练,得到最佳水质参数预测模型;步骤s5,利用测试集对待预测的人工湿地氨氮浓度进行预测。2.根据权利要求1所述的基于混合神经网络的湿地出水氨氮浓度预测方法,其特征在于:所述水质指标包括进水cod值、tp值、ss值、tn值、bod5值、ph值、出水氨氮值,所述水量指标包括进水流速和降雨量,所述大气环境指标包括温度、湿度、大气压。3.根据权利要求2所述的基于混合神经网络的湿地出水氨氮浓度预测方法,其特征在于:步骤s1中,对除出水氨氮外的各个指标数据进行标准化处理,转化为均值为0、方差为1的数列,采用主成分分析法进行数据降维,提取累计贡献率大于设定阈值的样本参数作为输入数据;所述标准化处理,采用如下公式进行:其中,y
i
为该指标标准化处理后的值,max{x
j
}为该指标的最大值,min{x
j
}为该指标的最小值,x
i
为该指标进行标准化处理前的数值。4.根据权利要求3所述的基于混合神经网络的湿地出水氨氮浓度预测方法,其特征在于:步骤s4采用lm算法进行训练包括:步骤s401,获取训练集的数据;步骤s402,输入前期优化的权值和阈值,并设定精度;步骤s403,计算初始误差函数r(x);误差函数:r(x)=|f(x)-g(x)|其中f(x)为初始模型计算结果值,g(x)为真实值;步骤s404,构造雅可比矩阵,设定初始修正因子,解如下所述的超定方程:x
t+1
=x
t-(j
t
j+λi
n
)-1
j
t
r其中j表示雅克比矩阵,i
n
为单位矩阵,λ为修正因子,r为误差函数结果值;雅可比矩阵为:其中矩阵中的各项为误差函数模型的一阶偏导数;初始修正因子根据如下公式计算得到:
a0=j(x0)
t
j(x0)其中,j(x0)为x0的雅可比矩阵,u0为初始修正因子,x0为初始降维后所得输入值,为a0的对角线元素,τ为0~1间的随机值;步骤s405,将超定方程的计算结果x
t+1
,带入误差函数r(x)比较r(x
t
)与r(x
t+1
),调整修正因子大小;如果误差减小,则减少修正因子,同时修正权值和阈值;如果误差增大,则增大修正因子;直到达到设定的精度,输出最终解。5.根据权利要求3所述的基于混合神经网络的湿地出水氨氮浓度预测方法,其特征在于:步骤s3中采用遗传算法对bp神经网络的权职和阈值进行优化包括:步骤s301,初始化种群,选择合适的编码方式;步骤s302,适应度函数的选择,根据个体得到bp神经网络的初始权值和阀值,用训练数据训练bp神经网络后预测系统输出,把预测输出和期望输出之间的误差绝对值和e作为个体适应度值f,计算公式为:式中,n为网络输出节点数,yi为bp神经网络第i个节点的期望输出,oi为第i个节点的预测输出,k为系数;步骤s303,选择操作采用轮盘赌法,即基于适应度比例策略,每个个体i的选择概率pi为:fi=k/fi,式中,fi为个体i的适应度,由于适应度值越小越好,所以在个体选择前对适应度值取倒数,n为种群数目,k为系数;步骤s304,交叉操作,由于个体采用实数编码,所以交叉操作方法采用实数交叉法,第k个染色体ak和第l个染色体al在j位的交叉操作如下:式中,b是[0,1]间的随机数;步骤s305,变异操作,选取第i个个体的第j个基因aij进行变异,变异操作方法如下:式中,amax为基因aij的上界,amin为基因aij的下界,f(g)=r2(1-g/gmax)2,r2为一个随机数,g为当前迭代次数,gmax为最大进化次数,r为[0,1]间的随机数;步骤s306,将新染色体代替原来染色体,计算适应度,如果满足条件得到优化好的权值和阈值,否则转到步骤s303继续优化。6.基于混合神经网络的湿地出水氨氮浓度预测系统,其特征在于:其包括:
水质环境数据处理模块,对获取的人工湿地进水断面的水质环境数据进行预处理,得到输入数据;其中所述水质环境数据包括水质指标、水量指标和大气环境指标三类,所述水质环境数据的指标不少于8个;预测模型构建模块,采用输入数据构建训练集和测试集,采用bp神经网络构建预测模型;遗传算法模块,采用遗传算法对bp神经网络的权职和阈值进行优化,得到优化的权值和阈值,再将优化好的权值和阈值带入神经网络中,完成对神经网络的优化,得到优化好的模型;训练模块,对步骤s3中优化好的模型,采用lm算法进行训练,得到最佳水质参数预测模型;预测模块,利用测试集对待预测的人工湿地氨氮浓度进行预测。7.根据权利要求6所述的基于混合神经网络的湿地出水氨氮浓度预测系统,其特征在于:所述水质指标包括进水cod值、tp值、ss值、tn值、bod5值、ph值,所述水量指标包括进水流速和降雨量,所述大气环境指标包括温度、湿度、大气压;所述水质环境数据处理模块采用如下步骤进行处理:对除出水氨氮外的各个指标数据进行标准化处理,转化为均值为0、方差为1的数列,采用主成分分析法进行数据降维,提取累计贡献率大于设定阈值的样本参数作为输入数据;所述标准化处理,采用如下公式进行:其中,y
i
为该指标标准化处理后的值,max{x
j
}为该指标的最大值,min{x
j
}为该指标的最小值,x
i
为该指标进行标准化处理前的数值。8.根据权利要求6所述的基于混合神经网络的湿地出水氨氮浓度预测系统,其特征在于:所述遗传算法模块采用如下步骤进行处理:步骤s301,初始化种群,选择合适的编码方式;步骤s302,适应度函数的选择,根据个体得到bp神经网络的初始权值和阀值,用训练数据训练bp神经网络后预测系统输出,把预测输出和期望输出之间的误差绝对值和e作为个体适应度值f,计算公式为:式中,n为网络输出节点数,yi为bp神经网络第i个节点的期望输出,oi为第i个节点的预测输出,k为系数;步骤s303,选择操作采用轮盘赌法,即基于适应度比例策略,每个个体i的选择概率pi为:fi=k/fi,式中,fi为个体i的适应度,由于适应度值越小越好,所以在个体选择前对适应度值取倒数,n为种群数目,k为系数;
步骤s304,交叉操作,由于个体采用实数编码,所以交叉操作方法采用实数交叉法,第k个染色体ak和第l个染色体al在j位的交叉操作如下:式中,b是[0,1]间的随机数;步骤s305,变异操作,选取第i个个体的第j个基因aij进行变异,变异操作方法如下:式中,amax为基因aij的上界,amin为基因aij的下界,f(g)=r2(1-g/gmax)2,r2为一个随机数,g为当前迭代次数,gmax为最大进化次数,r为[0,1]间的随机数;步骤s306,将新染色体代替原来染色体,计算适应度,如果满足条件得到优化好的权值和阈值,否则转到步骤s303继续优化;所述训练模块采用如下步骤进行训练:步骤s401,获取训练集的数据;步骤s402,输入前期优化的权值和阈值,并设定精度;步骤s403,计算初始误差函数r(x);误差函数:r(x)=|f(x)-g(x)|其中f(x)为初始模型计算结果值,g(x)为真实值;步骤s404,构造雅可比矩阵,设定初始修正因子,解如下所述的超定方程:x
t+1
=x
t-(j
t
j+λi
n
)-1
j
t
r其中j表示雅克比矩阵,i
n
为单位矩阵,λ为修正因子,r为误差函数结果值雅可比矩阵为:其中矩阵中的各项为误差函数模型的一阶偏导数;初始修正因子根据如下公式计算得到:a0=j(x0)
t
j(x0)其中,j(x0)为x0的雅可比矩阵,u0为初始修正因子,x0为初始降维后所得输入值,为a0的对角线元素,τ为0~1间的随机值;步骤s405,将超定方程的计算结果x
t+1
,带入误差函数r(x)比较r(x
t
)与r(x
t+1
),调整修正因子大小;如果误差减小,则减少修正因子,同时修正权值和阈值;如果误差增大,则增大修正因子;直到达到设定的精度,输出最终解。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1~5任意一项所述的基于混合神经网络的湿地出水氨氮浓度预测方法。
10.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1~5任意一项所述的基于混合神经网络的湿地出水氨氮浓度预测方法。

技术总结
本发明提供了一种基于混合神经网络的湿地出水氨氮浓度预测方法及系统,该方法包括:对获取的人工湿地进出水断面的水质环境数据进行主成分分析及移动平均处理,得到输入数据;所述水质环境数据的指标不少于8个;采用输入数据构建训练集和测试集,采用BP神经网络构建预测模型;采用遗传算法对BP神经网络的权职和阈值进行优化,得到优化的权值和阈值,再将优化好的权值和阈值带入神经网络中,完成对神经网络的优化,得到优化好的模型;对已优化好的模型,采用LM算法进行训练,得到最佳水质参数预测模型;利用测试集对待预测的人工湿地氨氮浓度进行预测。采用本发明的技术方案,提高模型的鲁棒性和泛化能力,提高了出水氨氮浓度预测的精准度。预测的精准度。预测的精准度。


技术研发人员:杨博文 冯骁驰
受保护的技术使用者:哈尔滨工业大学(深圳)
技术研发日:2022.02.11
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-7328.html

最新回复(0)