一种基于动态模糊神经网络的出水总氮智能检测方法

文档序号:32745744发布日期:2022-12-30 22:02阅读:26来源:国知局
一种基于动态模糊神经网络的出水总氮智能检测方法

1.本发明涉及城市污水处理出水总氮智能检测方法;建立了基于动态模糊神经网络的出水总氮智能检测模型,进而实现了对出水总氮的实时准确检测。既属于城市污水处理领域,又属于智能建模领域。


背景技术:

2.随着我国城市化进程的不断加快以及人口的持续增长,城市用水量大幅增加,污水排放量也随之急剧增长。为了充分循环利用水资源、保护生态环境,污水处理成为近年来学术界和工业界的热门话题。氮是导致水体富营养化的主要营养物质,对出水总氮进行实时准确检测对于提高污水处理厂脱氮效率、保障污水处理厂正常稳定运行来说至关重要。然而,受限于检测环境、仪器仪表成本等因素,仍然难以获取出水总氮的可靠测量值。
3.随着数据挖掘、人工智能等方法技术的飞速发展,数据驱动的软测量方法已成为城市污水处理关键参数实时检测领域的研究热点,其中,人工神经网络凭借其强大的自学习能力和非线性逼近能力,成为建立数据驱动模型的主流方法。本发明提出了一种基于动态模糊神经网络的出水总氮智能检测方法。一方面,联合自组织增删机制和快速二阶梯度算法构建模糊神经网络,以快速获得结构精简的智能检测模型。另一方面,设计了一种模糊神经网络更新策略,确保了模型在非平稳环境中具有良好的性能。该方法能够实现对出水总氮的实时、准确检测,有效提高了非平稳环境中出水总氮的测量精度,具有重要的理论意义与应用价值。


技术实现要素:

4.本发明的目的在于提出一种基于动态模糊神经网络的城市污水处理出水总氮智能检测方法,采用动态模糊神经网络构建出水总氮智能检测模型,实现对出水总氮的实时准确测量。
5.本发明采用了如下的技术方案及实现步骤:
6.(1)确定出水总氮智能检测模型的输入变量与输出变量:根据污水处理基准仿真模型平台上的数据,采用基于互信息的辅助变量选择方法确定出水总氮智能检测模型的输入,分别为:混合液悬浮固体、出水固体悬浮物、出水化学需氧量、进水总氮、进水化学需氧量以及进水流量,模型输出变量为出水总氮检测值;
7.(2)构建出水总氮智能检测模型;
8.利用动态模糊神经网络建立出水总氮智能检测模型,动态模糊神经网络结构包括:输入层、rbf层、规则化层、输出层;初始时刻,神经网络的结构为6-0-0-1,输入层有6个神经元,网络的输入向量为x=(x1,x2,...,x6)
t
,x1,x2,x3,x4,x5,x6分别为混合液悬浮固体、出水固体悬浮物、出水化学需氧量、进水总氮、进水化学需氧量、进水流量;rbf层与规则化层没有神经元;输出层有1个神经元,输出值为出水总氮的检测值;定义动态模糊神经网络的输出为y,计算如下:
9.①
输入层:该层由6个神经元组成,每个神经元的输出为:
10.ui=xi,i=1,2,...,6
ꢀꢀꢀ
(1)
11.其中,ui是k时刻第i个输入层神经元的输出;
12.②
rbf层:该层由k个神经元组成,每个神经元的输出为:
[0013][0014]
其中,表示第j个rbf层神经元的对应输出,c
ij
和σ
ij
分别为高斯隶属函数的中心与宽度;
[0015]

规则化层:该层由k个神经元组成,每个神经元的输出为:
[0016][0017]
其中,hj表示该层第j个神经元的输出;
[0018]

输出层:输出层输出为:
[0019][0020]
其中,wj为第j个规则化层神经元到输出层神经元的连接权值;
[0021]
(3)基于一种自组织增删机制以及二阶梯度算法构建动态模糊神经网络,具体为:
[0022]

初始时刻,网络中不含有规则;
[0023]

寻找具有最大绝对期望输出值的样本,根据该样本增加第一个规则,
[0024]
初始时刻,规则个数为0,首先寻找具有最大绝对期望输出的样本p1:
[0025]
p1=argmax[||y
d1
||,||y
d2
||,...,||y
dp
||,...||y
dp
||]
ꢀꢀꢀ
(5)
[0026]
其中,y
dp
为第p个样本的期望输出,y
p
为动态模糊神经网络对第p个样本的实际输出,p为训练样本数,相应地,第一个规则的初始参数分别设置如下:
[0027][0028]
σ1=d1ꢀꢀꢀ
(7)
[0029][0030]
其中,x
p1
,y
dp1
为第p1个样本的输入与输出,d1=[d1,...,d1]∈im为元素值d1均为1的向量;
[0031]

采用二阶梯度算法调整当前网络参数,计算公式如下:
[0032]
ψ
t+1
=ψ
t-(q
t
+μi)-1gt
ꢀꢀꢀ
(9)
[0033]
其中,ψ为参数向量,包含所有需要调整的网络参数(即中心、宽度、权值),q为类海森矩阵,μ为学习率,i为单位矩阵,g为梯度向量。为了提高计算效率,将类海森矩阵的计算可转化为对p个类海森子矩阵的求和。类似地,对梯度向量g的计算可转化为对p个梯度子向
量的求和,如下式所示:
[0034][0035][0036]
其中,类海森子矩阵和梯度子向量可由下式计算:
[0037][0038][0039]
其中,雅可比向量j
p
的计算如下:
[0040][0041]
其中,k为规则个数,m为输入向量维数,利用微分链式法则,上式中雅可比向量中的元素可由下式计算:
[0042][0043][0044][0045]

计算网络当前误差向量,找到误差峰值点所在样本,并在该处新增一个规则,然后根据公式(9)-(17)调整网络参数,
[0046]
k时刻,误差向量计算如下:
[0047]
e(k)=[e1(k),e2(k)...,e
p
(k),...,e
p
(k)]
ꢀꢀꢀ
(18)
[0048]
其中,e
p
(k)为k时刻第p个样本的误差:
[0049]ep
(k)=y
dp-y
p
(k)
ꢀꢀꢀ
(19)
[0050]
其中,y
dp
和y
p
(k)分别为第p个样本的期望输出以及k时刻实际输出;寻找当前误差峰值点所在样本位置pk:
[0051]
pk=argmax||e(k)||
ꢀꢀꢀ
(20)
[0052]
基于该样本新增一个规则,新增规则的初始参数分别设置如下:
[0053][0054]
σk=dkꢀꢀꢀꢀ
(22)
[0055][0056]
其中,x
pk
,y
dpk
分别是第pk个样本的输入与输出,dk=[dk,...,dk]∈m为元素值
的向量,表示当前新增rbf层神经元与现有rbf层神经元之间的最小欧氏距离。完成新规则的增长后,按照步骤

对网络参数进行调整。
[0057]

在规则增长过程中,采用均方根误差(root mean square error,rmse)度量网络学习精度:
[0058][0059]
若规则个数达到k
max
或网络学习精度达到ed,则存储当前均方误差rmse1,并进入步骤

,否则按照步骤

继续进行规则的增长。
[0060]

计算网络中所有规则的激活强度,删除激活强度最小的规则(相应rbf层神经元与规则化层神经元),并用按照步骤

对网络参数进行调整,计算修剪后网络的学习精度rmse2,
[0061]
定义网络中第j个规则的激活强度如下:
[0062][0063][0064]
其中,表示第p个样本的第i维输入;
[0065]

对规则删除前后网络的学习精度rmse1和rmse2进行比较,如果当前rmse2小于或等于rmse1,则转到步骤

继续修剪过程;否则,恢复到规则修剪前的结构,动态模糊神经网络结构构建完成。
[0066]
(4)将测试样本作为已训练好的动态模糊神经网络的输入,同时采用分级更新策略对模糊神经网络进行更新,网络的输出即为出水总氮浓度的测量值,具体为:
[0067]

对于t时刻在线样本{x(t),yd(t)},更新滑动窗口内的数据并计算当前累积误差:
[0068][0069]
其中,e
t
为t时刻计算得到的累积误差,λ为遗忘因子,ei(t)为t时刻第i个在线样本的误差,λ∈(0,1)为遗忘因子,为了平衡新样本与历史样本在累计误差中的比重,取λ=0.5;
[0070]

根据当前累积误差e
t
,计算激活强度阈值:
[0071][0072]
其中,η
max
为激活强度最大值,根据当前激活强度实际值设置η
max
=0.3;
[0073]

计算当前网络中所有规则的激活强度,若存在规则激活强度大于η
t
,则采用如下递归最小二乘算法对激活强度大于阈值的规则后件参数进行更新,并转到步骤


[0074]w*
(t)=w
*
(t-1)+h(t)p(t-1)(yd(t)-y(t))
ꢀꢀꢀ
(29)
[0075][0076]
其中,k
*
为激活强度大于阈值的规则个数,h(t)为规则化层输出矩阵,p为协方差矩阵,p(0)=αi,α=105;
[0077]

若所有规则激活强度均小于阈值,则根据公式(9)-(17)对网络中所有的规则前后件参数均进行更新,首先,计算t时刻滑动窗口内所有样本对应的模型差异性:
[0078][0079]
其中,代表t-1时刻的模型,代表基于t时刻样本更新后的模型。在每次需要进行整体更新时,计算窗口内所有样本对应的模型更新差异性,找到差异性最大的样本基于根据公式(9)-(17)对所有规则前后件参数进行更新;
[0080]

按照步骤
①‑④
不断对模型进行更新,当模型基于所有在线数据更新完毕后,可计算得到动态模糊神经网络的输出即为出水总氮浓度的检测值。
[0081]
本发明与现有技术相比,具有以下明显的优势和有益效果:
[0082]
1、针对当前城市污水处理出水总氮测量中存在的问题,本发明根据模糊神经网络具有良好的学习能力与推理能力的特点,采用了自组织增删机制与二阶学习算法构建动态模糊神经网络,建立了结构精简的出水总氮智能检测模型,实现对于出水总氮的高精度实时测量。
[0083]
2、本发明建立智能检测模型所采用的动态模糊神经网络能够根据当前环境的变化自适应地进行更新,提高了模型的自适应性,保证了出水总氮智能检测模型在非平稳环境中始终具有较高的测量精度。
附图说明
[0084]
图1本发明的动态模糊神经网络拓扑结构;
[0085]
图2本发明方法的流程图;
[0086]
图3本发明的动态模糊神经网络测试结果图;
[0087]
图4本发明的动态模糊神经网络测试误差图;
具体实施方式
[0088]
本发明利用污水处理基准仿真模型平台上的数据,通过互信息分析选取了6个与出水总氮相关性较大的变量作为智能检测模型的输入,出水总氮作为模型输出。实验前数据中所有变量均需要进行归一化,同时对网络输出结果进行反归一化。选择672组仿真数据作为训练数据集,用于建立出水总氮智能检测模型,其余672组仿真数据作为测试数据集,用于更新模型和评价模型,在microsoft windows 11,matlab 2020b环境下进行仿真。
[0089]
(1)确定出水总氮智能检测模型的输入变量与输出变量:根据污水处理基准仿真模型平台上的数据,采用基于互信息的辅助变量选择方法确定出水总氮智能检测模型的输
入,分别为:混合液悬浮固体、出水固体悬浮物、出水化学需氧量、进水总氮、进水化学需氧量以及进水流量,模型输出变量为出水总氮检测值;
[0090]
(2)构建出水总氮智能检测模型;
[0091]
利用动态模糊神经网络建立出水总氮智能检测模型,动态模糊神经网络结构包括:输入层、rbf层、规则化层、输出层;初始时刻,神经网络的结构为6-0-0-1,输入层有6个神经元,网络的输入向量为x=(x1,x2,...,x6)
t
,x1,x2,x3,x4,x5,x6分别为混合液悬浮固体、出水固体悬浮物、出水化学需氧量、进水总氮、进水化学需氧量、进水流量;rbf层与规则化层没有神经元;输出层有1个神经元,输出值为出水总氮的检测值;定义动态模糊神经网络的输出为y,计算如下:
[0092]

输入层:该层由6个神经元组成,每个神经元的输出为:
[0093]
ui=xi,i=1,2,...,6
ꢀꢀꢀꢀꢀ
(32)
[0094]
其中,ui是k时刻第i个输入层神经元的输出;
[0095]

rbf层:该层由k个神经元组成,每个神经元的输出为:
[0096][0097]
其中,表示第j个rbf层神经元的对应输出,c
ij
和σ
ij
分别为高斯隶属函数的中心与宽度;
[0098]

规则化层:该层由k个神经元组成,每个神经元的输出为:
[0099][0100]
其中,hj表示该层第j个神经元的输出;
[0101]

输出层:输出层输出为:
[0102][0103]
其中,wj为第j个规则化层神经元到输出层神经元的连接权值;
[0104]
(3)基于一种自组织增删机制以及二阶梯度算法构建动态模糊神经网络,具体为:
[0105]

初始时刻,网络中不含有规则;
[0106]

寻找具有最大绝对期望输出值的样本,根据该样本增加第一个规则,
[0107]
初始时刻,规则个数为0,首先寻找具有最大绝对期望输出的样本p1:
[0108]
p1=argmax[||y
d1
||,||y
d2
||,...,||y
dp
||,...||y
dp
||]
ꢀꢀꢀ
(36)
[0109]
其中,y
dp
为第p个样本的期望输出,y
p
为动态模糊神经网络对第p个样本的实际输出,p为训练样本数,相应地,第一个规则的初始参数分别设置如下:
[0110][0111]
σ1=d1ꢀꢀꢀꢀꢀ
(38)
[0112][0113]
其中,x
p1
,y
dp1
为第p1个样本的输入与输出,d1=[d1,...,d1]∈m为元素值d1均为1的向量;
[0114]

采用二阶梯度算法调整当前网络参数,计算公式如下:
[0115]
ψ
t+1
=ψ
t-(q
t
+μi)-1gt
ꢀꢀꢀ
(40)
[0116]
其中,ψ为参数向量,包含所有需要调整的网络参数(即中心、宽度、权值),q为类海森矩阵,μ为学习率,i为单位矩阵,g为梯度向量。为了提高计算效率,将类海森矩阵的计算可转化为对p个类海森子矩阵的求和。类似地,对梯度向量g的计算可转化为对p个梯度子向量的求和,如下式所示:
[0117][0118][0119]
其中,类海森子矩阵和梯度子向量可由下式计算:
[0120][0121][0122]
其中,雅可比向量j
p
的计算如下:
[0123][0124]
其中,k为规则个数,m为输入向量维数,利用微分链式法则,上式中的雅可比向量中的元素可由下式计算:
[0125][0126][0127][0128]

计算网络当前误差向量,找到误差峰值点所在样本,并在该处新增一个规则,然后根据公式(40)-(48)调整网络参数,
[0129]
k时刻,误差向量计算如下:
[0130]
e(k)=[e1(k),e2(k)...,e
p
(k),...,e
p
(k)]
ꢀꢀꢀ
(49)
[0131]
其中,e
p
(k)为k时刻第p个样本的误差:
[0132]ep
(k)=y
dp-y
p
(k)
ꢀꢀꢀ
(50)
[0133]
其中,y
dp
和y
p
(k)分别为第p个样本的期望输出以及k时刻实际输出;寻找当前误差峰值点所在样本位置pk:
[0134]
pk=arg max||e(k)||
ꢀꢀꢀ
(51)
[0135]
基于该样本新增一个规则,新增规则的初始参数分别设置如下:
[0136][0137]
σk=dkꢀꢀꢀ
(53)
[0138][0139]
其中,分别是第pk个样本的输入与输出,dk=[dk,...,dk]∈m为元素值的向量,表示当前新增rbf层神经元与现有rbf层神经元之间的最小欧氏距离。完成新规则的增长后,按照步骤

对网络参数进行调整。
[0140]

在规则增长过程中,采用均方根误差(root mean square error,rmse)度量网络学习精度:
[0141][0142]
若规则个数达到k
max
或网络学习精度达到ed,则存储当前均方误差rmse1,并进入步骤

,否则按照步骤

继续进行规则的增长。
[0143]

计算网络中所有规则的激活强度,删除激活强度最小的规则(相应rbf层神经元与规则化层神经元),并用按照步骤

对网络参数进行调整,计算修剪后的网络的学习精度rmse2,
[0144]
定义网络中第j个规则的激活强度如下:
[0145][0146][0147]
其中,表示第p个样本的第i维输入;
[0148]

对规则删除前后网络的学习精度rmse1和rmse2进行比较,如果当前rmse2小于或等于rmse1,则转到步骤

继续修剪过程;否则,恢复到规则修剪前的结构,动态模糊神经网络结构构建完成。
[0149]
(4)将测试样本作为已训练好的动态模糊神经网络的输入,同时采用分级更新策略对模糊神经网络进行更新,网络的输出即为出水总氮浓度的检测值,具体为:
[0150]

对于t时刻在线样本{x(t),yd(t)},更新滑动窗口内的数据并计算当前累积误差:
[0151][0152]
其中,e
t
为t时刻计算得到的累积误差,λ为遗忘因子,ei(t)为t时刻第i个在线样本的误差,λ∈(0,1)为遗忘因子,为了平衡新样本与历史样本在累计误差中的比重,取λ=
0.5;
[0153]

根据当前累积误差e
t
,计算激活强度阈值:
[0154][0155]
其中,η
max
为激活强度最大值,根据当前激活强度实际值设置η
max
=0.3;
[0156]

计算当前网络中所有规则的激活强度,若存在规则激活强度大于η
t
,则采用如下递归最小二乘算法对激活强度大于阈值的规则后件参数进行更新,并转到步骤


[0157]w*
(t)=w
*
(t-1)+h(t)p(t-1)(yd(t)-y(t))
ꢀꢀꢀ
(60)
[0158][0159]
其中,w
*
(t)=[w1(t),...,w
j*
(t),...,w
k*
(t)],k
*
为激活强度大于阈值的规则个数,h(t)为规则化层输出矩阵,p为协方差矩阵,p(0)=αi,α=105;
[0160]

若所有规则激活强度均小于阈值,则采用根据公式(40)-(48)对网络中所有的规则前后件参数均进行更新,首先,计算t时刻滑动窗口内所有样本对应的模型差异性:
[0161][0162]
其中,代表t-1时刻的模型,代表基于t时刻样本更新后的模型。在每次需要进行整体更新时,计算窗口内所有样本对应的模型更新差异性,找到差异性最大的样本基于根据公式(40)-(48)对所有规则前后件参数进行更新;
[0163]

按照步骤
①‑④
不断对模型进行更新,当模型基于所有在线数据更新完毕后,可计算得到神经网络的输出即为出水总氮浓度的检测结果,如图3所示,x轴为测试样本个数,y轴为出水总氮测量值,单位为毫克/升,实线为实际输出值,带有“.”标识符的虚线为动态模糊神经网络输出值;出水总氮浓度检测误差如图4所示,x轴为测试样本个数,y轴为出水总氮检测误差值,单位为毫克/升。
[0164]
显然,本领域的技术人员可以对本发明进行各种改动和变形而不脱离本发明的精神和范围。应注意到的是,以上所述仅为本发明的具体实施例,并不限制本发明,凡在本发明的精神和原则之内,所做的调制和优化,皆应属本发明权利要求的涵盖范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1