APP下载

基于改进蛙跳算法优化的支持向量回归机ORP预测∗

2016-05-16南新元曾庆凯孟宪强

关键词:蛙跳适应度电位

南新元,曾庆凯,孟宪强

(新疆大学电气工程学院,新疆乌鲁木齐830049)

0 引言

在生物冶金生产过程中,生物氧化预处理是其中一个极其重要的工艺环节,对提高黄金的产量及品质至关重要.在此过程中影响提金率的关键指标是氧化还原电位(oxidation reduction potential,ORP),ORP反映了细菌氧化精金矿的程度,对生产过程的稳定和工艺参数优化具有重要意义[1].生物氧化预处理过程是典型的非线性、多变量、强耦合系统,工作机理十分复杂,很难对其建立一个精确的数学模型,所以必须采用泛化能力强的算法对ORP进行预测[2].

进入二十一世纪以来,生物氧化提金技术在国内外得到了快速的发展.由于适宜细菌生长繁殖的温度较高,所以绝大多数国内外生物氧化厂均建在纬度较低的地区以保证细菌的活性[3].新疆拥有丰富的金矿资源,但其地处高寒高海拔地区,不利于细菌的生存,如不能准确的掌控细菌的生存状态将有可能导致细菌死亡,造成严重的经济损失.经过学者的研究发现,ORP可以准确的反应细菌的生存状态[4].ORP的大小主要是受细菌的氧化进程影响,当细菌活性较高时,氧化反应过程剧烈,ORP较高,反之则较低[4].因此,将氧化还原电位维持在一个合适的范围内,使细菌活性最高,从而能够获得较高的提金率.若能提前预知氧化还原电位的大小,就可以动态的调整矿浆的反应温度、PH值及进风量,从而达到优化控制的目的,因此氧化还原电位的预测在实际生产过程中具有重要意义.

文献[5]通过引入迭代算法和最小二乘支持向量机离线对生物氧化提金预处理工艺参数进行预测,进而完成工艺参数的优化.文献[6]采用粒子群算法对最小二乘支持向量机中的关键参数进行优化,从而提高氧化还原电位的预测精度.文献[7]提出用遗传算法优化Elman神经网络预测氧化还原电位.以上学者建立的预测模型虽然均可以对氧化还原电位进行预测但是预测精度不高,由于实际生产过程中氧化还原电位的细微改变对整个工艺的参数影响较大,因此建立高精度的预测模型是十分必要的.本文提出一种改进的蛙跳算法优化支持向量回归机的关键参数,用于提高氧化还原电位的预测精度,并将本文提出的ISFLA-SVR模型与SVR、SFLA-SVR模型进行比较,来验证改进的模型具有较高的预测精度.

1 改进的蛙跳算法

1.1 基本蛙跳算法(SFLA)

蛙跳算法(Shuffled frog leaping algorithm,SFLA)是Eusuf f[8]等人于2003年在粒子群算法(Particle Swarm Optimization,PSO)的基础上,结合混合竞争进化算法(Shuffled complex evolution,SCE)提出的一种根据自然界生物繁衍、觅食而产生的协同搜索算法.

蛙跳算法的核心思想为:在D维空间里随机生成F只青蛙组成的初始种群;f(xi)为初始种群内第i只青蛙的适应度值,依据适应度值对种群内的青蛙进行降序排列,按冒泡排序法将依据排列好的个体依次分配到m个子种群,每个子种群有n只青蛙(F=m×n).初始种群中适应度最好的个体记为xg;子种群中适应度最好的个体记为xb,适应度最差个体记为xw;通过对每个子种群中最差个体xw更新完成局部寻优.其基本的局部更新规则如下

式中rand为0至1之间的随机数,smax表示最差个体更新时所能移动的最大步长,子种群中最差个体的更新公式如下

经过上述公式更新后,如果新个体优于原来的xw,则取代xw;如果未改进,则用xg替换xb,按式(1)和(2)进行更新;若经过以上两种策略仍未改进,则随机产生一个介于xw与xb之间的个体代替原来个体.重复上述局部搜索c次,完成局部搜索后将所有的青蛙重新混合,依次进行排序和种群划分,进行局部搜索,如此反复,直到达到全局混合迭代次数C或定义的收敛条件为止.

1.2 改进的蛙跳算法

蛙跳算法采用随机方式进行初始化;子种群中xw采用公式(1)和(2)进行更新,寻优的方式单一容易过早陷入局部最优;种群间信息没有得到充分交流.针对上述问题提出以下三点改进.

(1)种群初始化改进

种群个体的随机初始化势必会增加算法的盲目性,反向差分相比于随机初始化可以较好的产生一组初始解.反向差分:若x=(x1,x2,···,xn)为N维空间内的一点,xi∈[ai,bi],i=1,2,···,n,则x的反向点的表达式为

由文献[9]可知,反向解能更大概率的接近函数的最优值.进行初始化后,根据公式(3)计算当前解x的反向解,分别计算x与ˆx的适应度值,取当前解和反向解各一半较优的个体组成初始种群.

(2)局部进化方式的改进

蛙跳算法通过最差个体与局部最优或全局最优个体之间的信息交流,促使自身得到进化,某些个体有可能只是受到了局部最优个体的影响而未受全局最优个体的影响,使这些个体更新的速度缓慢.加强信息交流必须同时接受局部最优与全局最优个体的信息.新的搜索方式如下

其中c1和c2为非负恒定加速度,k是收缩因子.通过改进的局部进化方式对局部最差解进行更新.

2 支持向量回归机SVR

支持向量回归机(Support vector machine regression,SVR)已成为支持向量机(SVM)研究的一个重要方向,并且在有关回归预测问题中得到广泛的应用.

假设一组已知的样本数据x={(xi,yi)|xi∈Rn,yn∈R,i=1,2,···,n},回归问题可以理解为寻找一个函数f∈F={f|f:Rn→R}(F为假设函数集),使得在训练样本上该函数值f(x)与期望值y之间的误差不大于给定值ε,构造函数

其中w为权重矢量,b为阀值.引入不敏感函数ε和松弛变量ξi和ξ∗i,为了达到最小的估计风险,把SVR表示成一个二次规划问题

其中C>0为惩罚参数,通过调整C的值,可以使回归模型在复杂度与精度之间达到平衡,经验表明,C的值越大,拟合效果越好.利用对偶原理并引入拉格朗日乘子αi和及核函数,其对偶问题为

其中,核函数K(xi,xj)=φ(xi)·φ(xj),可以将较高维的内积运算变为低维的核函数计算,避免了“维数灾难”等问题,解决由于输入函数φ而使得w无法显示表达的问题.采用较为优秀的高斯径向基核函数,其表达式如下

式(12)使SVR具有更强的非线性预测能力,最终得到支持向量回归机函数

3 基于ISFLA-SVR的ORP预测模型

SVR模型的泛化能力和回归精度与惩罚函数C和RBF函数的参数δ2直接相关,采用改进的蛙跳算法对参数(C,δ2)进行优化.

3.1 数据预处理

实验数据来源于现场工业过程的生产数据,由于实际生产过程复杂,可变因素较多,如设备损坏和误操作等,获得的数据有可能存在坏值和丢失等现象.针对坏值现象,本文采用基于统计学基础的分布方法,具体采用拉依达法,又称3σ准则.设数据样本X=(x1,x2,···,xn),样本均值为¯x,各数据与平均值的差记作,则样本标准差为

如果某一数据的偏差值出现|e|>3σ,那么则认为该值为坏值,需要剔除.

其次由于样本数据之间的量纲不同、数据之间数值相差较大,直接用于计算,可能造成数据信息丢失,计算不稳定等问题.为确保预测结果准确,需要对样本数据进行归一化处理.

式中,xi,j为样本值的第i行第j列原始数据值,xmax代表极大值,xmin代表极小值.

3.2 适应度函数的选取

优化SVR的参数是为了减少预测值与真实值之间的偏差,选取一个好的适应度函数对提高预测精度是非常重要的,适应度函数选取为

f(xi)为适应度函数,yi为训练样本真实值,为训练样本预测值,f(xi)的值越大,则说明选取的优化参数效果越好.

3.3 ISFLA-SVR预测流程

Step1:设置SFLA算法参数.F为种群中青蛙的总个数,m为子种群个数,n为子种群个体中青蛙的个数,D为青蛙个体(解)的维数,c为子种群局部迭代次数,C为种群全局混合迭代次数,Smax为允许更新的最大步长;

Step2:随机产生初始解x=[x1,x2,···,xn],利用公式(3)计算x的反向解,计算随机解与反向解的适应度值,若,则选择xi,反之,则选择,取当前解和反向解各一半较优的个体组成初始种群;

Step3:根据初始种群个体的适应度值从优到劣来排序,并确定全局最优个体xg;

Step4:将个体依次划分到各个子种群中,共分为m个子种群;

Step5:在每个子种群中,重复执行以下步骤c次:

(1)根据种群个体的适应度值确定当前迭代子种群的最优个体xb和全局最优个体xg,并确定当前子种群中最差个体xw;

(2)按公式(4-7)对局部最差个体进行更新,如果得到的新个体适应度较优,则用代替xw;

(3)若通过以上迭代仍未得到改进,则随机产生一个解;

Step6:判断是否达到最大迭代次数C或者达到定义的误差界内,则进化更新结束,输出全局最优值;否则,将种群个体全部混合,转至Step3重新计算;

Step7:算法终止,输出最优解.

4 仿真实验与分析

影响氧化还原电位的因素有温度T、矿浆浓度、PH、充气量K、干矿量等[10].选取温度T、充气量K、酸碱度PH作为模型的输入,ORP作为模型的输出.本次实验选取新疆某金矿的生产数据180组,经过先前介绍的预处理方法处理后剩余168组,其中120组用于模型训练样本,48组作为测试样本.为了验证本文建模算法的有效性,对预测模型采用以下评价指标.

(1)平均绝对误差(MAE)

(2)平均相对误差(MRE)

(3)均方根误差(RMSE)

在上述评价指标中,是预测结果,yi是实际值,n为预测样本总数.在Matlab2012a仿真环境下,种群个数F=150,子种群个数m=15,变量维数D=5,局部迭代次数c=50,全局迭代次数C=100,最大移动步长Smax=0.01,c1、c2为2.05,k为0.729.

图1 SVR模型预测图

图2 SFLA-SVR模型预测图

图3 ISFLA-SVR模型预测图

从图1至图3可以看出,较于SVR模型和SFLA-SVR模型,本文提出的ISFLA-SVR模型预测结果更接近氧化还原电位真实值.由此可知,ISFLA-SVR模型对氧化还原电位有较高的预测精度.采用本文提到的评价指标评价模型预测效果的优劣,结果如表1所示.

表1 模型性能对比

由表1数据可以看出,相比于SVR预测模型和SFLA-SVR预测模型,本文采用的ISFLA-SVR预测模型预测误差更小,预测效果较好.

5 结语

本文采用改进的蛙跳算法优化支持向量回归机模型的关键参数对ORP进行预测,建立ISFLA-SVR预测模型.首先分析了支持向量机回归进行ORP预测的优缺点;然后,针对支持向量机回归的缺点,提出ISFLA算法优化支持向量机回归;最终,建立ISFLA-SVR预测模型,对ORP进行预测.通过对现场实际数据分析,选定样本数据进行数据预处理,将本文模型与改进前模型以及SVR模型进行对比,结果表明本文所建预测模型的预测效果更好.

参考文献:

[1]孙理鑫.难处理金矿生物氧化过程及其反应器的工程基础研究[D].上海:华东理工大学,2012.

[2]杨玮.复杂难处理金精矿提取及综合回收的基础研究与应用[D].长沙:中南大学,2011.

[3]郑晔.高寒环境下生物氧化提金工艺研究与应用[J].中国矿业,2013,22(6):70-74.

[4]Kjaergaard L.The redox potential:Its use and control in biotechnology[J].Advances in Biochemical Engineering and Biotechnology,1977:131-150.

[5]高丙朋,南新元,魏霞.基于迭代LS-SVM生物氧化提金预处理工艺参数优化算法的研究[J].贵金属,2012,33(2):40-43.

[6]李伟,南新元,吴琼.生物氧化提金中基于PSO-LSSVM的氧化还原电位建模研究[J].贵金属,2014,35(4):60-64.

[7]蔡鑫,南新元,孔军.改进Elman神经网络在氧化还原电位预测中的应用[J].安徽大学学报(自然科学版),2014,38(2):27-32.

[8]Eusuf fM M,Lansey K E.Optimization of waterdistribution network design using the shuffled frog leaping algorithm[J].J of Water Resources Planning and Management,2003,129(3):210-225.

[9]欧鹏杰.模糊聚类算法及其在协同过滤推荐中的应用[D].长沙:中南大学,2013.

[10]朱长亮,杨洪英,汤兴光,等.含砷难处理金矿的细菌氧化预处理研究现状[J].贵金属,2010,31(1):48-52.

猜你喜欢

蛙跳适应度电位
改进的自适应复制、交叉和突变遗传算法
“三层七法”:提高初中生三级蛙跳能力的实践研究
耳蜗微音器电位临床操作要点
电位滴定法在食品安全检测中的应用
一种基于改进适应度的多机器人协作策略
三坐标测量在零件安装波动中的应用
基于空调导风板成型工艺的Kriging模型适应度研究
简析线性电路电位与电压的关系
基于二维自适应hp有限元的自然电位高精度计算