发明名称 应用反向传播神经网络模型评价游泳池水质的方法
摘要 本发明涉及借助于测定材料的化学或物理性质来测试或分析材料的方法领域,具体为一种应用反向传播神经网络模型评价游泳池水质的方法。一种应用反向传播神经网络模型评价游泳池水质的方法,包括a.指标筛选、b.标准选定、c.划定分级和d.模型拟合。本发明减少人工评价工作量,提高评价结果准确性和客观性。
申请公布号 CN104007243B 申请公布日期 2016.01.06
申请号 CN201410014790.9 申请日期 2014.01.13
申请人 上海市长宁区卫生局卫生监督所 发明人 黄丽红
分类号 G01N33/18(2006.01)I;G06N3/02(2006.01)I 主分类号 G01N33/18(2006.01)I
代理机构 上海天协和诚知识产权代理事务所 31216 代理人 李彦
主权项 一种应用反向传播神经网络模型评价游泳池水质的方法,包括a.指标筛选、b.标准选定、c.划定分级和d.模型拟合,其特征是:按如下步骤依次实施:a.指标筛选:选定如下7个指标:①游离性余氯,单位mg/L;②氰尿酸,单位mg/L;③氧化还原电位,单位mV;④pH值;⑤总碱度,单位mg/L;⑥钙硬度,单位mg/L和⑦尿素,单位mg/L;b.标准选定:a步骤选定的7个指标从①至⑦的标准限值依次为:[0.2,1.0]、≤150、≥650、[7.0,7.8]、[60,200]、[200,450]和≤3.5;c.划定分级:各指标的分级标准如下表所示:<img file="FDA0000785770240000011.GIF" wi="1816" he="1430" />d.模型拟合:d.1训练样本的建立:将c步骤表所列的7个指标的分级标准中的数据进行归一化处理,即按照y=(x‑最小值)/(最大值‑最小值)规则将具体数值转化为[0,1]区间上的数据,把水质分级标准作为训练样本,将其输入到网络的输入节点;采用产生随机数原理,在至少两种水质的水样中,在每种水样中各抽取不低于100份的样本,将全体样本进行训练和建模;d.2神经网络初始化:设定输入层、隐含层和输出层的节点数,并初始化其神经元之间的连接权值ω<sub>ij</sub>和ω<sub>jk</sub>、隐含层阀值a和输出层阀值b,给定学习速率和神经元激励函数,选取输入输出序列(X,Y);d.3隐含层输出计算:根据输入向量X、输入层和隐含层间的连接权值ω<sub>ij</sub>以及隐含层阀值a,计算隐含层输出H,其计算式如式(1)所示:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>H</mi><mi>j</mi></msub><mo>=</mo><mi>f</mi><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>&omega;</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><msub><mi>a</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>,</mo><mi>j</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>...</mo><mi>m</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000785770240000021.GIF" wi="864" he="128" /></maths>式(1)中f为激励函数,激励函数的表达形式为经典的Sigmoid函数,其计算式如式(2)所示:<maths num="0002" id="cmaths0002"><math><![CDATA[<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><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000785770240000022.GIF" wi="463" he="138" /></maths>d.4输出层输出计算:根据隐含层输入H、隐含层和输出层间的连接权值ω<sub>jk</sub>以及输出层阀值b,计算预测输出O,其计算式如式(3)所示:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>O</mi><mi>k</mi></msub><mo>=</mo><mi>f</mi><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>H</mi><mi>j</mi></msub><msub><mi>&omega;</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo>-</mo><msub><mi>b</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>,</mo><mi>k</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>...</mo><mn>1</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000785770240000023.GIF" wi="891" he="152" /></maths>d.5误差计算:根据预测输出O和期望输出Y获得预测误差e,其计算式如式(4)所示:e<sub>k</sub>=Y<sub>k</sub>‑O<sub>k</sub>,k=1,2……l——(4);d.6权值更新:根据预测误差e对连接权值ω<sub>ij</sub>、ω<sub>jk</sub>进行更新,其计算如式(5)和式(6)所示:式(5)和式(6)中的η为学习速率,<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>&omega;</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><msub><mi>&omega;</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>+</mo><msub><mi>&eta;H</mi><mi>j</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>H</mi><mi>j</mi></msub><mo>)</mo></mrow><msub><mi>x</mi><mi>i</mi></msub><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mn>1</mn></munderover><msub><mi>&omega;</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi>e</mi><mi>k</mi></msub><mo>,</mo><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>...</mo><mo>...</mo><mi>n</mi><mo>;</mo><mi>j</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>...</mo><mo>...</mo><mi>m</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000785770240000024.GIF" wi="1353" he="159" /></maths>ω<sub>jk</sub>=ω<sub>jk</sub>+ηH<sub>j</sub>e<sub>k</sub>,j=1,2……m;k=1,2……l——(6);d.7阀值更新:根据预测误差e对阀值a和b进行更新,其计算如式(7)和式(8)所示:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>a</mi><mi>j</mi></msub><mo>=</mo><msub><mi>a</mi><mi>j</mi></msub><mo>+</mo><msub><mi>&eta;H</mi><mi>j</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>H</mi><mi>j</mi></msub><mo>)</mo></mrow><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mn>1</mn></munderover><msub><mi>&omega;</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi>e</mi><mi>k</mi></msub><mo>,</mo><mi>j</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>...</mo><mo>...</mo><mi>m</mi><mo>;</mo><mi>k</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>...</mo><mo>...</mo><mn>1</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000785770240000025.GIF" wi="1272" he="148" /></maths>b<sub>k</sub>=b<sub>k</sub>+e<sub>k</sub>,k=1,2……l——(8);d.8判断算法迭代是否结束:若迭代结束,表示训练过程可以结束,模型建立完成;若迭代还没有结束,则返回隐含层输出计算步骤重新开始一个新的训练调整过程,直至算法迭代得以结束;算法迭代结束后,根据输出的数据和步骤c中确定的分级标准表最终确定水质级别。
地址 200051 上海市长宁区云雾山路39号5-6楼