发明名称 一种污水处理过程中生化需氧量BOD的软测量方法
摘要 一种污水处理过程中生化需氧量BOD的软测量方法属于污水处理领域。污水处理过程的生产条件恶劣,随机干扰严重,具有强非线性、大时变、严重滞后的特点,难以通过机理分析建立精确的数学模型,而神经网络对于高度非线性和严重不确定性系统的控制问题有巨大的潜力。本发明针对污水处理过程中关键水质参数生化需氧量BOD(Biochemical Oxygen Demand)无法在线监测的问题,采用了基于神经计算学的污水水质软测量建模方法,利用可删减型神经网络对污水处理过程中生化需氧量BOD在线软测量,取得了较好的效果,提高污水处理的质量和效率、降低污水处理成本,既可节约投资和运行成本,又能及时监测出水质和相关参数,从而促使污水处理厂高效稳定运行。
申请公布号 CN101387632A 申请公布日期 2009.03.18
申请号 CN200810224496.5 申请日期 2008.10.17
申请人 北京工业大学 发明人 乔俊飞;韩红桂;李荣;李淼;樊瑞元;关小杰
分类号 G01N33/18(2006.01)I;G06F19/00(2006.01)I 主分类号 G01N33/18(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 代理人 刘 萍
主权项 1.一种污水处理过程中生化需氧量BOD软测量的方法,其特征在于,包括以下步骤:(1)设计的污水水质BOD软测量动态神经网络拓扑结构;网络分为三层:输入层、隐含层、输出层;输入为污水调节池进水水质指标,输出为生化需氧量BOD;初始化神经网络:确定神经网络p-n-1的连接方式,即输入层神经元为p个,隐含层神经元为n个,输出层神经元为1个;对神经网络的权值进行随机赋值;神经网络的输入表示为x<sub>1</sub>,x<sub>2</sub>,…,x<sub>p</sub>,神经网络的期望输出表示为y<sub>d</sub>;设共有m个训练样本,则第k个训练样本为x<sub>1</sub>(k),x<sub>2</sub>(k),…,x<sub>p</sub>(k),y<sub>d</sub>(k),用第k个训练样本训练神经网络时,神经网络各层的计算功能是:输入层,该层由p个神经元组成:<maths num="0001"><![CDATA[<math><mrow><msubsup><mi>In</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><msubsup><mi>Out</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>In</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><mrow><mo>(</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mi>p</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>                 (1)<img file="A200810224496C00022.GIF" wi="152" he="50" /><img file="A200810224496C00023.GIF" wi="152" he="50" />分别表示输入层的输入和输出;隐含层,该层由n个神经元组成:<maths num="0002"><![CDATA[<math><mrow><msubsup><mi>In</mi><mi>j</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>p</mi></munderover><msubsup><mi>w</mi><mrow><mi>j</mi><mo>,</mo><mi>i</mi></mrow><mn>2</mn></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><msubsup><mi>Out</mi><mi>j</mi><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>f</mi><mi>j</mi></msub><mrow><mo>(</mo><msubsup><mi>In</mi><mi>j</mi><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>,</mo><mrow><mo>(</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mi>p</mi><mo>.</mo><mi>j</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mi>n</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>                             (2)<img file="A200810224496C00025.GIF" wi="157" he="56" /><img file="A200810224496C00026.GIF" wi="158" he="56" />分别表示隐含层的输入和输出,<img file="A200810224496C00027.GIF" wi="116" he="55" />表示第i个输入层神经元与第j个隐含层神经元之间的联结权值,f(·)为sigmoid函数,其形式为:<maths num="0003"><![CDATA[<math><mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><msup><mi>e</mi><mrow><mo>-</mo><mi>x</mi></mrow></msup></mrow></mfrac></mrow></math>]]></maths>        (3)输出层,该层只有1个神经元:<maths num="0004"><![CDATA[<math><mrow><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>Out</mi><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msubsup><mi>w</mi><mi>j</mi><mn>3</mn></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msubsup><mi>Out</mi><mi>j</mi><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><mrow><mo>(</mo><mi>j</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mi>n</mi><mo>)</mo></mrow></mrow></math>]]></maths>              (4)Out<sup>(3)</sup>(k)表示输出层的输出,<img file="A200810224496C000210.GIF" wi="99" he="55" />表示第j个隐含层神经元与输出层神经元之间的联结权值,y(k)为神经网络的实际输出;定义误差函数为<maths num="0005"><![CDATA[<math><mrow><mi>E</mi><mo>=</mo><mfrac><mn>1</mn><mi>m</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msup><mrow><mo>(</mo><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>y</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mi>T</mi></msup><mrow><mo>(</mo><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>y</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow></mrow></math>]]></maths>       (5)T为(y(k)-y<sub>d</sub>(k))的转置,m为训练样本总数,训练神经网络的目的是使得式(5)定义的误差函数达到期望值E<sub>d</sub>;(2)对样本数据进行校正;设t个数据样本x(<sub>1</sub>),x(<sub>2</sub>),…,x(t),均值为x,每一个样本的偏差为D(q)=x(q)-x,q=1,2,…,t,按照Bessel公式计算出标准偏差:<maths num="0006"><![CDATA[<math><mrow><mi>&sigma;</mi><mo>=</mo><msqrt><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>t</mi></munderover><mfrac><msup><mrow><mo>(</mo><mi>x</mi><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mfrac></msqrt></mrow></math>]]></maths>           (6)若某一个样本x(q)的偏差满足:|D(q)|≥3σ,q=1,2,…,t;           (7)则认为样本x(q)是异常数据,应予以剔除,得到校正后的数据,该数据作为神经网络的训练样本和测试样本;(3)用校正后的部分数据训练神经网络,在训练过程中利用快速OBS修剪算法对神经网络的冗余隐神经元进行修剪;具体为:①训练给定神经网络至较小误差;②进行结构调整,利用递归公式计算Hessian矩阵的逆矩阵H<sup>-1</sup>,矩阵中的元素H<sub>j,j</sub>的计算公式如(8);<maths num="0007"><![CDATA[<math><mrow><msub><mi>H</mi><mrow><mi>j</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo>(</mo><mfrac><mrow><mo>&PartialD;</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>r</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow><msub><mrow><mo>&PartialD;</mo><mi>r</mi></mrow><mi>j</mi></msub></mfrac><mo>)</mo></mrow><msup><mrow><mo>(</mo><mfrac><mrow><mo>&PartialD;</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>r</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow><msub><mrow><mo>&PartialD;</mo><mi>r</mi></mrow><mi>j</mi></msub></mfrac><mo>)</mo></mrow><mi>T</mi></msup></mrow></math>]]></maths>         (8)<maths num="0008"><![CDATA[<math><mrow><msub><mi>r</mi><mi>j</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msubsup><mi>w</mi><mi>ij</mi><mn>2</mn></msubsup><mo>&CenterDot;</mo><msub><mi>x</mi><mi>i</mi></msub></mrow></math>]]></maths>         (9)其中,f(·)为sigmoid函数,其形式如(3),x<sub>i</sub>是输入样本;③计算每个隐含层神经元的显著性S<sub>j</sub>;利用与第j个神经元相连的所有p个权值的均值w<sub>j</sub>计算S<sub>j</sub>,令:<maths num="0009"><![CDATA[<math><mrow><msub><mover><mi>w</mi><mo>&OverBar;</mo></mover><mi>j</mi></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>p</mi></munderover><msubsup><mi>w</mi><mi>ij</mi><mn>2</mn></msubsup></mrow><mi>p</mi></mfrac></mrow></math>]]></maths> (10)<img file="A200810224496C00035.GIF" wi="41" he="55" />表示隐含层间第j个神经元与输入层第i个神经元之间的联结权值;第j个神经元的显著性为:<maths num="0010"><![CDATA[<math><mrow><msub><mi>S</mi><mi>j</mi></msub><mo>=</mo><mfrac><msubsup><mover><mi>w</mi><mo>&OverBar;</mo></mover><mi>j</mi><mn>2</mn></msubsup><mrow><mn>2</mn><msub><mrow><mo>[</mo><msup><mi>H</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>]</mo></mrow><mrow><mi>j</mi><mo>,</mo><mi>j</mi></mrow></msub></mrow></mfrac></mrow></math>]]></maths>                     (11)H<sup>-1</sup>为Hessian矩阵的逆矩阵,[H<sup>-1</sup>]<sub>j,j</sub>是这个逆矩阵的第(j,j)个元素;④如果显著性S<sub>j</sub>远小于误差值,那么删除相应的神经元j,并转第⑤步;否则,转第⑥步;⑤通过应用如下调整校正网络中所有的突触权值:<maths num="0011"><![CDATA[<math><mrow><mi>&Delta;w</mi><mo>=</mo><mo>-</mo><mfrac><msub><mover><mi>w</mi><mo>&OverBar;</mo></mover><mi>j</mi></msub><msub><mrow><mo>[</mo><msup><mi>H</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>]</mo></mrow><mrow><mi>j</mi><mo>,</mo><mi>j</mi></mrow></msub></mfrac><msup><mi>H</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mn>1</mn><mi>j</mi></mrow></math>]]></maths>        (12)w=w+Δw                           (13)w′为训练后的联结权值,w为训练钱的联结权值;其中H<sup>-1</sup>是Hessian矩阵H的逆矩阵,[H<sup>-1</sup>]<sub>j,j</sub>是这个逆矩阵的第(j,j)个元素,I<sub>j</sub>是除了第j个元素等于单位1之外其他所有元素均为零的单位向量;Δw是权值增长变量,w<sub>j</sub>是与隐含层中第j个神经元相连的所有p个权值的均值,其形式如(10);⑥当不再有神经元被删除时停止神经网络结构调整计算,否则转第②步继续进行神经网络结构调整;如果不再有神经元被删除,重新训练神经网络;判断神经网络当前误差是否小于期望误差E<sub>d</sub>;如果前误差小于期望误差E<sub>d</sub>则神经网络停止训练,否则对神经网络进行重新训练;(4)对预测样本进行预测:将预测样本数据作为训练好的神经网络的输入,神经网络的输出即为出水BOD的预测结果。
地址 100124北京市朝阳区平乐园100号