基于LSSVM的六价铬含量预测模型
居锦武
摘 要: 设计一种六价铬自动测量系统,为提高测量的准确度,使用最小二乘支持向量机(LSSVM)算法建立预测模型,并使用混合蛙跳算法优化LSSVM算法的参数,可避免算法收敛于局部最优,增强算法的泛化能力,减少算法对异常样本的预测偏差,提高精度。通过对神经网络模型及LSSVM模型进行仿真对比,结果显示LSSVM模型的六价铬含量预测误差更小。
关键词: 支持向量机; 六价铬; 预测偏差; 自动测量系统
中图分类号: TN911?34; TP391 文献标识码: A 文章编号: 1004?373X(2017)03?0100?03
Hexavalent chromium content prediction model based on LSSVM
JU Jinwu
(School of Computer Science, Sichuan University of Science and Engineering, Zigong 643000, China)
Abstract: A hexavalent chromium automatic measuring system was designed to improve the measurement accuracy. The least square support vector machine (LSSVM) algorithm is used to establish the prediction model, and the shuffled frog leaping algorithm is used to optimize the parameters of LSSVM algorithm to prevent the algorithm converging to the local optimum, enhance the generalization ability of the algorithm, reduce the algorithm′s prediction deviation for the abnormal samples, and improve the accuracy. The neural network model and LSSVM model are simulated respectively. The results show that the prediction error of the hexavalent chromium content predicted with LSSVM model is much smaller.
Keywords: support vector machine; hexavalent chromium; prediction deviation; automatic measuring system
0 引 言
六價铬的测量是评价水体重金属污染情况的重要测量项目[1],为了实现对水质六价铬的自动在线测量,基于GB7467?87(2)测试标准,设计一种六价铬自动测量系统。测量原理是在被测水样中加入磷酸和硫酸,然后再加入二苯碳酰二肼,水样中六价铬与之反应[2],生成紫红色化合物,采用紫外线分光光度法测量,进而测量出六价铬的含量。分光光度法具有生成化合物速度快,吸光度分辨率高的优点,是一种有效的测量方法,特别适合设计成六价铬自动测量系统。但是,分光光度法的缺点是试剂的成本较高,测量周期较长,数据量少,外部环境因素易对测量产生影响,重复性误差<±5%,数据准备急需提高。通过使用神经网络[3?4]、支持向量机[5]等技术对六价铬的测量建立数据分析预测模型,可以有效提高测量可靠性。神经网络较适合用于数据量大的场合,而采用分光光度法测量六价铬,所得数据量不多,较适合使用支持向量机技术。配方采用最小二乘支持向量机(LSSVM)技术,以改善基本支持向量机的缺点。同时使用混合蛙跳算法,优化LSSVM的参数,进一步提高算法的泛化能力,减少异常数据的预测偏差。
1 LSSVM算法
1.1 基本理论
SVM算法基于统计理论的机器学习方法,依据结构风险最小原则,使得算法具有较好的学习泛化能力,适用于统计样本数量不多的场合。通过改善约束条件和目标优化函数,LSSVM算法使泛化能力得到进一步提高[6]。
LSSVM算法设置如式(1)的决策函数:
[y(x)=ω?(x)+b+ξk] (1)
这样,算法的目标优化函数[7]如下:
[Min J(ω,ξ)=12ω2+Ci=1Nυiξ2ks.t. yk=?(xk)ωT+b+ξk] (2)
使用Lagrange法求解式(2):
[L(ω,b,ξ,α)=12ω2+Ci=1Nξ2k-i=1Nαk(ωT?(xk)+b+ξk)-yk] (3)
选择径向基核函数(RBF)[8?9],以确定参数[b,][α,]RBF函数:
[K(xi,xj)=exp-xi-xj22σ2] (4)
LSSVM算法的效果直接取决于参数[C]和参数[σ,]为获取最优化的参数值,使用混合蛙跳算法进行优化选择。
1.2 混合蛙跳算法寻优
混合蛙跳算法是一种群智能进化算法,结合了模因算法和粒子群算法的优点,具有可控参数数量少、简单、容易实现的特点,适用于解决算法参数优化问题,将混合蛙跳算法用于优化LSSVM算法的参数最优解,可取得良好的效果。使用混合蛙跳算法对LSSVM算法参数寻优的步骤如下:
(1) 初始化混合蛙跳算法各参数,如个体数量、模因组数量、进化次数、最大迭代次数等。
(2) 建立初始群体,分为[k]个子群,每个子群中包括[n]个个体。
(3) 根据适应度函数计算每个个体的适应度值,并据此排序,再将群体分为[m]个子群。
(4) 对每个子群计算其最优最差解,再更新子群中的最差个体,反复迭代,混合新的子群,替代原来的[m]个子群。
(5) 对每个子群,计算其适应度方差、变异概率,并对子群进行变异操作,更新子群的最优解。
(6) 反复迭代至第(4)步,当达到最大迭代次数,获得最優解。
2 六价铬自动测量系统
六价铬自动测量系统,基于分光光度法测量水体的六价铬含量,其系统设计结构如图1所示,测量系统的实物图片见图2。
整个监测系统由工业控制计算机(IPC)、光度检测装置、微型泵、液位计量器、电磁阀及多种试剂组成,IPC控制液位计量器和电磁阀,控制样品与试剂的混合反应,通过光度检测装置读取反应色度信号,得到参比光强和测量光强,进而计算出六价铬含量。其基本操作流程如下:
(1) IPC控制电磁阀和微型泵,水样进入液位计量器。
(2) 达到规定容量后,水样送入光度检测装置。
(3) 控制电磁阀,将磷酸送入液位计量器,达到规定容量后,再送入光度检测装置。
(4) 控制电磁阀,将硫酸送入液位计量器,达到规定容量后,再送入光度检测装置。
(5) 控制电磁阀,将显色剂送入液位计量器,达到规定容量后,再送入光度检测装置。
(6) 等待10 min,读取光度检测装置的数据,计算出测量光强。
(7) 控制电磁阀,将反应化合物送到废液瓶。
(8) 控制电磁阀,将蒸馏水经液位计量器送入光度检测装置,清洗所有管道,再送到废液瓶。整个过程反复3次。清洗同时,读取光度检测装置数据,计算出参比光强。
3 预测分析模型
基于分光光度法设计的六价铬自动测量系统使用分光光度检测装置,测量参比光强及测量光强,再通过式(5)计算出六价铬的含量:
[六价铬含量=K*log测量光强参比光强+B] (5)
式中:K和B为系数,通过仪器标定来确定。选取30组标准六价铬溶液,其含量从0 mg/L递增至4.5 mg/L,间隔0.15 mg/L。系统测量的总样本数据为30个,选取15个样本为训练样本,另外15个为测试样本,部分样本如表1所示。
将混合蛙跳算法应用于LSSVM算法的参数优化过程中,确定其最优参数[C]为4.257 8,参数[σ]为25.367 5。基于神经网络及LSSVM算法,建立六价铬预测模型,仿真数据如表2所示。两种预测模型的结果对比如图3所示。
从表2数据可见,基于神经网络的六价铬预测模型的结果误差极值为9.78%,均值为4.68%,而基于LSSVM算法的预测模型的误差极值为2.77%,均值为1.62%,对比显示LSSVM预测模型获得了更高的精度。
4 结 语
本文介绍了一种六价铬自动测量系统的设计,并将LSSVM技术应用到数据分析工作中,建立数据预测模型,其预测结果与实际含量的对比显示,这种预测模型可以有效地提高数据准确性,可以应用到实际的数据分析预测工作中。基于LSSVM的预测模型使用简便,可控参数数量少,只需确定参数C和参数[σ]即可,使用混合蛙跳算法能够有效优化两个参数,提高LSSVM预测模型的精度,在数据分析预测模型的建立方面具有广泛的应用前景。
参考文献
[1] 唐清霞,盛杰.六价铬的危害性评价及其检测研究[J].资源节约与环保,2015(7):49.
[2] 程柏森,陈永玉.二苯碳酰二肼分光光度法测定碱式氯化铜中六价铬[J].广州化工,2015,43(15):144?145.
[3] 童敏明,张愉,齐美星.基于BP神经网络的可燃混合气体分析方法的研究[J].计量学报,2006,27(2):169?171.
[4] 侯迪波,陈玥,赵海峰,等.基于RBF神经网络和小波分析的水质异常检测方法[J].传感器与微系统,2013,32(2):138?141.
[5] 黄苜,程小平.基于支持向量机回归粒子滤波器的运动员实时跟踪方法[J].西南大学学报(自然科学版),2008,30(5):165?169.
[6] 曾燕,成新文,王红旗,等.基于加权最小二乘支持向量机的下水道可燃气体分析[J].西南师范大学学报(自然科学版),2014,39(9):94?99.
[7] SUYKENS J A K, VANDEWALLE J, BRABANTER J D, et al. Least squares support vector machine classifiers [J]. Neural processing letters, 1999, 9(3): 293?300.
[8] WEN W, HAO Z F, YANG X W. A heuristic weight?setting strategy and iteratively updating algorithm for weighted least squares support vector regression [J]. Neurocomputing, 2008, 71(16/18): 3096?3103.
[9] SUYKENS J A K, VANDEWALLE J. Recurrent least squares support vector machines [J]. IEEE transactions on circuits and system, 2000, 47(7): 1109?1114.
摘 要: 设计一种六价铬自动测量系统,为提高测量的准确度,使用最小二乘支持向量机(LSSVM)算法建立预测模型,并使用混合蛙跳算法优化LSSVM算法的参数,可避免算法收敛于局部最优,增强算法的泛化能力,减少算法对异常样本的预测偏差,提高精度。通过对神经网络模型及LSSVM模型进行仿真对比,结果显示LSSVM模型的六价铬含量预测误差更小。
关键词: 支持向量机; 六价铬; 预测偏差; 自动测量系统
中图分类号: TN911?34; TP391 文献标识码: A 文章编号: 1004?373X(2017)03?0100?03
Hexavalent chromium content prediction model based on LSSVM
JU Jinwu
(School of Computer Science, Sichuan University of Science and Engineering, Zigong 643000, China)
Abstract: A hexavalent chromium automatic measuring system was designed to improve the measurement accuracy. The least square support vector machine (LSSVM) algorithm is used to establish the prediction model, and the shuffled frog leaping algorithm is used to optimize the parameters of LSSVM algorithm to prevent the algorithm converging to the local optimum, enhance the generalization ability of the algorithm, reduce the algorithm′s prediction deviation for the abnormal samples, and improve the accuracy. The neural network model and LSSVM model are simulated respectively. The results show that the prediction error of the hexavalent chromium content predicted with LSSVM model is much smaller.
Keywords: support vector machine; hexavalent chromium; prediction deviation; automatic measuring system
0 引 言
六價铬的测量是评价水体重金属污染情况的重要测量项目[1],为了实现对水质六价铬的自动在线测量,基于GB7467?87(2)测试标准,设计一种六价铬自动测量系统。测量原理是在被测水样中加入磷酸和硫酸,然后再加入二苯碳酰二肼,水样中六价铬与之反应[2],生成紫红色化合物,采用紫外线分光光度法测量,进而测量出六价铬的含量。分光光度法具有生成化合物速度快,吸光度分辨率高的优点,是一种有效的测量方法,特别适合设计成六价铬自动测量系统。但是,分光光度法的缺点是试剂的成本较高,测量周期较长,数据量少,外部环境因素易对测量产生影响,重复性误差<±5%,数据准备急需提高。通过使用神经网络[3?4]、支持向量机[5]等技术对六价铬的测量建立数据分析预测模型,可以有效提高测量可靠性。神经网络较适合用于数据量大的场合,而采用分光光度法测量六价铬,所得数据量不多,较适合使用支持向量机技术。配方采用最小二乘支持向量机(LSSVM)技术,以改善基本支持向量机的缺点。同时使用混合蛙跳算法,优化LSSVM的参数,进一步提高算法的泛化能力,减少异常数据的预测偏差。
1 LSSVM算法
1.1 基本理论
SVM算法基于统计理论的机器学习方法,依据结构风险最小原则,使得算法具有较好的学习泛化能力,适用于统计样本数量不多的场合。通过改善约束条件和目标优化函数,LSSVM算法使泛化能力得到进一步提高[6]。
LSSVM算法设置如式(1)的决策函数:
[y(x)=ω?(x)+b+ξk] (1)
这样,算法的目标优化函数[7]如下:
[Min J(ω,ξ)=12ω2+Ci=1Nυiξ2ks.t. yk=?(xk)ωT+b+ξk] (2)
使用Lagrange法求解式(2):
[L(ω,b,ξ,α)=12ω2+Ci=1Nξ2k-i=1Nαk(ωT?(xk)+b+ξk)-yk] (3)
选择径向基核函数(RBF)[8?9],以确定参数[b,][α,]RBF函数:
[K(xi,xj)=exp-xi-xj22σ2] (4)
LSSVM算法的效果直接取决于参数[C]和参数[σ,]为获取最优化的参数值,使用混合蛙跳算法进行优化选择。
1.2 混合蛙跳算法寻优
混合蛙跳算法是一种群智能进化算法,结合了模因算法和粒子群算法的优点,具有可控参数数量少、简单、容易实现的特点,适用于解决算法参数优化问题,将混合蛙跳算法用于优化LSSVM算法的参数最优解,可取得良好的效果。使用混合蛙跳算法对LSSVM算法参数寻优的步骤如下:
(1) 初始化混合蛙跳算法各参数,如个体数量、模因组数量、进化次数、最大迭代次数等。
(2) 建立初始群体,分为[k]个子群,每个子群中包括[n]个个体。
(3) 根据适应度函数计算每个个体的适应度值,并据此排序,再将群体分为[m]个子群。
(4) 对每个子群计算其最优最差解,再更新子群中的最差个体,反复迭代,混合新的子群,替代原来的[m]个子群。
(5) 对每个子群,计算其适应度方差、变异概率,并对子群进行变异操作,更新子群的最优解。
(6) 反复迭代至第(4)步,当达到最大迭代次数,获得最優解。
2 六价铬自动测量系统
六价铬自动测量系统,基于分光光度法测量水体的六价铬含量,其系统设计结构如图1所示,测量系统的实物图片见图2。
整个监测系统由工业控制计算机(IPC)、光度检测装置、微型泵、液位计量器、电磁阀及多种试剂组成,IPC控制液位计量器和电磁阀,控制样品与试剂的混合反应,通过光度检测装置读取反应色度信号,得到参比光强和测量光强,进而计算出六价铬含量。其基本操作流程如下:
(1) IPC控制电磁阀和微型泵,水样进入液位计量器。
(2) 达到规定容量后,水样送入光度检测装置。
(3) 控制电磁阀,将磷酸送入液位计量器,达到规定容量后,再送入光度检测装置。
(4) 控制电磁阀,将硫酸送入液位计量器,达到规定容量后,再送入光度检测装置。
(5) 控制电磁阀,将显色剂送入液位计量器,达到规定容量后,再送入光度检测装置。
(6) 等待10 min,读取光度检测装置的数据,计算出测量光强。
(7) 控制电磁阀,将反应化合物送到废液瓶。
(8) 控制电磁阀,将蒸馏水经液位计量器送入光度检测装置,清洗所有管道,再送到废液瓶。整个过程反复3次。清洗同时,读取光度检测装置数据,计算出参比光强。
3 预测分析模型
基于分光光度法设计的六价铬自动测量系统使用分光光度检测装置,测量参比光强及测量光强,再通过式(5)计算出六价铬的含量:
[六价铬含量=K*log测量光强参比光强+B] (5)
式中:K和B为系数,通过仪器标定来确定。选取30组标准六价铬溶液,其含量从0 mg/L递增至4.5 mg/L,间隔0.15 mg/L。系统测量的总样本数据为30个,选取15个样本为训练样本,另外15个为测试样本,部分样本如表1所示。
将混合蛙跳算法应用于LSSVM算法的参数优化过程中,确定其最优参数[C]为4.257 8,参数[σ]为25.367 5。基于神经网络及LSSVM算法,建立六价铬预测模型,仿真数据如表2所示。两种预测模型的结果对比如图3所示。
从表2数据可见,基于神经网络的六价铬预测模型的结果误差极值为9.78%,均值为4.68%,而基于LSSVM算法的预测模型的误差极值为2.77%,均值为1.62%,对比显示LSSVM预测模型获得了更高的精度。
4 结 语
本文介绍了一种六价铬自动测量系统的设计,并将LSSVM技术应用到数据分析工作中,建立数据预测模型,其预测结果与实际含量的对比显示,这种预测模型可以有效地提高数据准确性,可以应用到实际的数据分析预测工作中。基于LSSVM的预测模型使用简便,可控参数数量少,只需确定参数C和参数[σ]即可,使用混合蛙跳算法能够有效优化两个参数,提高LSSVM预测模型的精度,在数据分析预测模型的建立方面具有广泛的应用前景。
参考文献
[1] 唐清霞,盛杰.六价铬的危害性评价及其检测研究[J].资源节约与环保,2015(7):49.
[2] 程柏森,陈永玉.二苯碳酰二肼分光光度法测定碱式氯化铜中六价铬[J].广州化工,2015,43(15):144?145.
[3] 童敏明,张愉,齐美星.基于BP神经网络的可燃混合气体分析方法的研究[J].计量学报,2006,27(2):169?171.
[4] 侯迪波,陈玥,赵海峰,等.基于RBF神经网络和小波分析的水质异常检测方法[J].传感器与微系统,2013,32(2):138?141.
[5] 黄苜,程小平.基于支持向量机回归粒子滤波器的运动员实时跟踪方法[J].西南大学学报(自然科学版),2008,30(5):165?169.
[6] 曾燕,成新文,王红旗,等.基于加权最小二乘支持向量机的下水道可燃气体分析[J].西南师范大学学报(自然科学版),2014,39(9):94?99.
[7] SUYKENS J A K, VANDEWALLE J, BRABANTER J D, et al. Least squares support vector machine classifiers [J]. Neural processing letters, 1999, 9(3): 293?300.
[8] WEN W, HAO Z F, YANG X W. A heuristic weight?setting strategy and iteratively updating algorithm for weighted least squares support vector regression [J]. Neurocomputing, 2008, 71(16/18): 3096?3103.
[9] SUYKENS J A K, VANDEWALLE J. Recurrent least squares support vector machines [J]. IEEE transactions on circuits and system, 2000, 47(7): 1109?1114.