发明名称 高斯人工蜂群优化的稀土矿区地下水氨氮浓度预测方法
摘要 本发明公开了一种高斯人工蜂群优化的稀土矿区地下水氨氮浓度预测方法。本发明采用支持向量机作为稀土矿区地下水氨氮浓度的预测模型,利用高斯人工蜂群算法来优化设计支持向量机的惩罚因子C、径向基核参数g和不敏感损失函数中参数ε。在高斯人工蜂群算法中,将每个个体邻域中的优秀个体及其邻域中个体的平均值融合到高斯变异策略中产生新个体,并在侦察蜂过程中执行以最优个体为参考点的反向学策略。本发明能够提高稀土矿区地下水氨氮浓度的预测精度。
申请公布号 CN105930685A 申请公布日期 2016.09.07
申请号 CN201610486213.9 申请日期 2016.06.27
申请人 江西理工大学 发明人 郭肇禄;杨火根;刘小生;岳雪芝;刘松华;邹玮刚;周才英
分类号 G06F19/12(2011.01)I;G06F19/24(2011.01)I 主分类号 G06F19/12(2011.01)I
代理机构 赣州凌云专利事务所 36116 代理人 曾上
主权项 一种高斯人工蜂群优化的稀土矿区地下水氨氮浓度预测方法,其特征在于:包括以下步骤:步骤1,在需要预测的稀土矿区内连续MD天采集地下水样,并检测采集到地下水样的水质指标:水温、pH值、亚硝酸盐氮、硝酸盐氮、总氮、溶解氧、五日生化需氧量、氨氮,将采集到的地下水质指标数据作为样本数据集;然后归一化处理所采集到的稀土矿区地下水质指标样本数据集,并将前70%设置为支持向量机的训练数据集,后30%设置为测试数据集;步骤2,用户初始化参数,所述初始化参数包括预测跨度天数KD,种群大小Popsize,最大未更新次数Limit,邻域半径NK,最大评价次数MAX_FEs;步骤3,当前演化代数t=0,当前评价次数FEs=0,并令支持向量机的优化设计参数个数D=3;步骤4,随机初始化种群<img file="FDA0001030350340000011.GIF" wi="670" he="87" />其中:个体下标i=1,2,...,Popsize,并且<img file="FDA0001030350340000012.GIF" wi="416" he="63" />表示种群P<sub>t</sub>中的第i个个体,其随机产生公式为:<maths num="0001"><math><![CDATA[<mrow><msubsup><mi>B</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>=</mo><msub><mi>LB</mi><mi>j</mi></msub><mo>+</mo><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><msub><mi>UB</mi><mi>j</mi></msub><mo>-</mo><msub><mi>LB</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0001030350340000013.GIF" wi="830" he="71" /></maths>其中维数下标j=1,2,3;<img file="FDA0001030350340000014.GIF" wi="53" he="62" />表示了支持向量机的3个优化设计参数的值,即<img file="FDA0001030350340000015.GIF" wi="69" he="69" />为支持向量机的惩罚因子C,<img file="FDA0001030350340000016.GIF" wi="77" he="63" />为支持向量机的径向基核参数g,<img file="FDA0001030350340000017.GIF" wi="78" he="70" />为支持向量机的不敏感损失函数中参数ε;rand(0,1)表示在[0,1]之间产生随机实数的函数,LB<sub>j</sub>和UB<sub>j</sub>分别表示支持向量机的第j个优化设计参数的搜索下界和上界;步骤5,计算种群P<sub>t</sub>中每个个体<img file="FDA0001030350340000018.GIF" wi="50" he="61" />的适应值<img file="FDA0001030350340000019.GIF" wi="206" he="62" />其中个体下标i=1,2,...,Popsize,个体<img file="FDA00010303503400000110.GIF" wi="57" he="62" />的适应值<img file="FDA00010303503400000112.GIF" wi="171" he="61" />的计算方法为:以个体<img file="FDA00010303503400000111.GIF" wi="51" he="63" />作为支持向量机的训练参数,并利用训练数据集对支持向量机进行训练,其中支持向量机的输入变量为归一化的一天的稀土矿区地下水质指标数据:水温、pH值、亚硝酸盐氮、硝酸盐氮、总氮、溶解氧、五日生化需氧量、氨氮;支持向量机的输出为归一化的KD天后的稀土矿区地下水氨氮浓度值;然后计算训练好的支持向量机在测试数据集上的均方误差ME<sub>i</sub>,并令个体<img file="FDA0001030350340000021.GIF" wi="51" he="63" />的适应值<img file="FDA0001030350340000022.GIF" wi="434" he="127" />步骤6,令种群P<sub>t</sub>中所有个体的未更新次数<img file="FDA0001030350340000023.GIF" wi="195" he="61" />其中个体下标i=1,2,...,Popsize;步骤7,令当前评价次数FEs=FEs+Popsize;步骤8,保存种群P<sup>t</sup>中的最优个体Best<sup>t</sup>;步骤9,雇佣蜂执行其搜索操作;步骤10,根据种群P<sub>t</sub>中个体的适应值计算所有个体的选择概率;步骤11,观察蜂根据种群P<sub>t</sub>中每个个体的选择概率选择出个体执行高斯变异操作生成新个体,然后选择优秀个体进入下一代种群并计算个体的未更新次数,具体步骤如下:步骤11.1,令计数器i=1;步骤11.2,根据种群P<sub>t</sub>中每个个体的选择概率采用轮盘赌策略选择出个体<img file="FDA0001030350340000024.GIF" wi="102" he="63" />并令新个体<img file="FDA0001030350340000025.GIF" wi="215" he="63" />步骤11.3,令邻域下标RNI=(SI‑NK+Popsize)%Popsize,其中SI表示轮盘赌策略选择出个体的下标,%表示取余运算符;步骤11.4,令邻域最优个体<img file="FDA0001030350340000026.GIF" wi="331" he="62" />邻域均值个体<img file="FDA0001030350340000027.GIF" wi="355" he="63" />并令计数器mt=1;步骤11.5,令邻域下标RNI=(RNI+1)%Popsize;步骤11.6,如果个体<img file="FDA0001030350340000028.GIF" wi="99" he="63" />比RBest<sup>t</sup>更优,则令<img file="FDA0001030350340000029.GIF" wi="323" he="63" />否则保持RBest<sup>t</sup>不变;步骤11.7,令邻域均值个体<img file="FDA0001030350340000031.GIF" wi="579" he="63" />然后令计数器mt=mt+1;步骤11.8,如果mt小于或等于NK×2,则转到步骤11.5,否则转到步骤11.9;步骤11.9,令邻域均值个体RMean<sup>t</sup>=RMean<sup>t</sup>/(NK×2+1),然后在[1,D]之间随机产生一个正整数RDI;步骤11.10,令随机权值RW=rand(0,1);步骤11.11,令均值<img file="FDA0001030350340000032.GIF" wi="1080" he="63" />步骤11.12,令标准差<img file="FDA0001030350340000033.GIF" wi="851" he="85" />步骤11.13,以GMean为均值,GSD为标准差产生一个高斯随机实数Val,如果Val的值超出了[LB<sub>RDI</sub>,UB<sub>RDI</sub>]之间的范围,则采用同样的方法重新产生高斯随机实数Val,直到Val的值不超出[LB<sub>RDI</sub>,UB<sub>RDI</sub>]之间的范围,然后令<img file="FDA0001030350340000034.GIF" wi="259" he="63" />步骤11.14,计算新个体U<sup>t</sup>的适应值Fit(U<sup>t</sup>),然后在个体<img file="FDA0001030350340000035.GIF" wi="70" he="63" />与新个体U<sup>t</sup>之间选择优秀个体进入下一代种群,并计算个体<img file="FDA0001030350340000036.GIF" wi="72" he="63" />的未更新次数<img file="FDA0001030350340000037.GIF" wi="123" he="62" />步骤11.15,令计数器i=i+1;步骤11.16,如果计数器i小于或等于Popsize,则转到步骤11.2,否则转到步骤12;步骤12,令当前评价次数FEs=FEs+Popsize×2;步骤13,侦察蜂找出种群P<sub>t</sub>中未更新次数最大的个体,并标记该个体为<img file="FDA0001030350340000038.GIF" wi="142" he="63" />如果个体<img file="FDA0001030350340000039.GIF" wi="107" he="63" />的未更新次数小于Limit,则转到步骤14,否则对个体<img file="FDA00010303503400000310.GIF" wi="103" he="63" />执行以最优个体为参考点的反向学习策略,其中以最优个体为参考点的反向学习策略的具体步骤如下:步骤13.1,令计数器j=1;步骤13.2,令反向个体<img file="FDA0001030350340000041.GIF" wi="290" he="63" />步骤13.3,令随机重建个体<img file="FDA0001030350340000042.GIF" wi="291" he="63" />步骤13.4,令<img file="FDA0001030350340000043.GIF" wi="555" he="71" />其中Best<sup>t</sup>为种群P<sup>t</sup>中的最优个体;步骤13.5,令RNB<sub>j</sub>=LB<sub>j</sub>+rand(0,1)×(UB<sub>j</sub>‑LB<sub>j</sub>);步骤13.6,令j=j+1;步骤13.7,如果j大于D则转到步骤13.8,否则转到步骤13.4;步骤13.8,计算个体BRB和个体RNB的适应值,并令当前评价次数FEs=FEs+2;步骤13.9,令个体EXB为个体BRB和个体RNB两者之间的更优秀者;步骤13.10,用个体EXB替换种群P<sub>t</sub>中的个体<img file="FDA0001030350340000044.GIF" wi="138" he="63" />然后转到步骤14;步骤14,保存种群P<sub>t</sub>中最优个体Best<sup>t</sup>;步骤15,令当前演化代数t=t+1;步骤16,重复步骤9至步骤15直至当前评价次数FEs达到MAX_FEs后结束,将执行过程中得到的最优个体Best<sup>t</sup>作为支持向量机的训练参数,并用训练数据集来训练支持向量机,将归一化的一天的稀土矿区溪水指标数据:水温、pH、亚硝酸盐氮、硝酸盐氮、总氮、溶解氧、五日生化需氧量、氨氮输入到训练好的支持向量机,计算支持向量机的输出即可预测稀土矿区地下水KD天后的氨氮浓度值。
地址 341000 江西省赣州市红旗大道86号