居錦武
摘 要: 設(shè)計(jì)一種六價(jià)鉻自動測量系統(tǒng),為提高測量的準(zhǔn)確度,使用最小二乘支持向量機(jī)(LSSVM)算法建立預(yù)測模型,并使用混合蛙跳算法優(yōu)化LSSVM算法的參數(shù),可避免算法收斂于局部最優(yōu),增強(qiáng)算法的泛化能力,減少算法對異常樣本的預(yù)測偏差,提高精度。通過對神經(jīng)網(wǎng)絡(luò)模型及LSSVM模型進(jìn)行仿真對比,結(jié)果顯示LSSVM模型的六價(jià)鉻含量預(yù)測誤差更小。
關(guān)鍵詞: 支持向量機(jī); 六價(jià)鉻; 預(yù)測偏差; 自動測量系統(tǒng)
中圖分類號: TN911?34; TP391 文獻(xiàn)標(biāo)識碼: 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 引 言
六價(jià)鉻的測量是評價(jià)水體重金屬污染情況的重要測量項(xiàng)目[1],為了實(shí)現(xiàn)對水質(zhì)六價(jià)鉻的自動在線測量,基于GB7467?87(2)測試標(biāo)準(zhǔn),設(shè)計(jì)一種六價(jià)鉻自動測量系統(tǒng)。測量原理是在被測水樣中加入磷酸和硫酸,然后再加入二苯碳酰二肼,水樣中六價(jià)鉻與之反應(yīng)[2],生成紫紅色化合物,采用紫外線分光光度法測量,進(jìn)而測量出六價(jià)鉻的含量。分光光度法具有生成化合物速度快,吸光度分辨率高的優(yōu)點(diǎn),是一種有效的測量方法,特別適合設(shè)計(jì)成六價(jià)鉻自動測量系統(tǒng)。但是,分光光度法的缺點(diǎn)是試劑的成本較高,測量周期較長,數(shù)據(jù)量少,外部環(huán)境因素易對測量產(chǎn)生影響,重復(fù)性誤差<±5%,數(shù)據(jù)準(zhǔn)備急需提高。通過使用神經(jīng)網(wǎng)絡(luò)[3?4]、支持向量機(jī)[5]等技術(shù)對六價(jià)鉻的測量建立數(shù)據(jù)分析預(yù)測模型,可以有效提高測量可靠性。神經(jīng)網(wǎng)絡(luò)較適合用于數(shù)據(jù)量大的場合,而采用分光光度法測量六價(jià)鉻,所得數(shù)據(jù)量不多,較適合使用支持向量機(jī)技術(shù)。配方采用最小二乘支持向量機(jī)(LSSVM)技術(shù),以改善基本支持向量機(jī)的缺點(diǎn)。同時(shí)使用混合蛙跳算法,優(yōu)化LSSVM的參數(shù),進(jìn)一步提高算法的泛化能力,減少異常數(shù)據(jù)的預(yù)測偏差。
1 LSSVM算法
1.1 基本理論
SVM算法基于統(tǒng)計(jì)理論的機(jī)器學(xué)習(xí)方法,依據(jù)結(jié)構(gòu)風(fēng)險(xiǎn)最小原則,使得算法具有較好的學(xué)習(xí)泛化能力,適用于統(tǒng)計(jì)樣本數(shù)量不多的場合。通過改善約束條件和目標(biāo)優(yōu)化函數(shù),LSSVM算法使泛化能力得到進(jìn)一步提高[6]。
LSSVM算法設(shè)置如式(1)的決策函數(shù):
[y(x)=ω?(x)+b+ξk] (1)
這樣,算法的目標(biāo)優(yōu)化函數(shù)[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)
選擇徑向基核函數(shù)(RBF)[8?9],以確定參數(shù)[b,][α,]RBF函數(shù):
[K(xi,xj)=exp-xi-xj22σ2] (4)
LSSVM算法的效果直接取決于參數(shù)[C]和參數(shù)[σ,]為獲取最優(yōu)化的參數(shù)值,使用混合蛙跳算法進(jìn)行優(yōu)化選擇。
1.2 混合蛙跳算法尋優(yōu)
混合蛙跳算法是一種群智能進(jìn)化算法,結(jié)合了模因算法和粒子群算法的優(yōu)點(diǎn),具有可控參數(shù)數(shù)量少、簡單、容易實(shí)現(xiàn)的特點(diǎn),適用于解決算法參數(shù)優(yōu)化問題,將混合蛙跳算法用于優(yōu)化LSSVM算法的參數(shù)最優(yōu)解,可取得良好的效果。使用混合蛙跳算法對LSSVM算法參數(shù)尋優(yōu)的步驟如下:
(1) 初始化混合蛙跳算法各參數(shù),如個(gè)體數(shù)量、模因組數(shù)量、進(jìn)化次數(shù)、最大迭代次數(shù)等。
(2) 建立初始群體,分為[k]個(gè)子群,每個(gè)子群中包括[n]個(gè)個(gè)體。
(3) 根據(jù)適應(yīng)度函數(shù)計(jì)算每個(gè)個(gè)體的適應(yīng)度值,并據(jù)此排序,再將群體分為[m]個(gè)子群。
(4) 對每個(gè)子群計(jì)算其最優(yōu)最差解,再更新子群中的最差個(gè)體,反復(fù)迭代,混合新的子群,替代原來的[m]個(gè)子群。
(5) 對每個(gè)子群,計(jì)算其適應(yīng)度方差、變異概率,并對子群進(jìn)行變異操作,更新子群的最優(yōu)解。
(6) 反復(fù)迭代至第(4)步,當(dāng)達(dá)到最大迭代次數(shù),獲得最優(yōu)解。
2 六價(jià)鉻自動測量系統(tǒng)
六價(jià)鉻自動測量系統(tǒng),基于分光光度法測量水體的六價(jià)鉻含量,其系統(tǒng)設(shè)計(jì)結(jié)構(gòu)如圖1所示,測量系統(tǒng)的實(shí)物圖片見圖2。
整個(gè)監(jiān)測系統(tǒng)由工業(yè)控制計(jì)算機(jī)(IPC)、光度檢測裝置、微型泵、液位計(jì)量器、電磁閥及多種試劑組成,IPC控制液位計(jì)量器和電磁閥,控制樣品與試劑的混合反應(yīng),通過光度檢測裝置讀取反應(yīng)色度信號,得到參比光強(qiáng)和測量光強(qiáng),進(jìn)而計(jì)算出六價(jià)鉻含量。其基本操作流程如下:
(1) IPC控制電磁閥和微型泵,水樣進(jìn)入液位計(jì)量器。
(2) 達(dá)到規(guī)定容量后,水樣送入光度檢測裝置。
(3) 控制電磁閥,將磷酸送入液位計(jì)量器,達(dá)到規(guī)定容量后,再送入光度檢測裝置。
(4) 控制電磁閥,將硫酸送入液位計(jì)量器,達(dá)到規(guī)定容量后,再送入光度檢測裝置。
(5) 控制電磁閥,將顯色劑送入液位計(jì)量器,達(dá)到規(guī)定容量后,再送入光度檢測裝置。
(6) 等待10 min,讀取光度檢測裝置的數(shù)據(jù),計(jì)算出測量光強(qiáng)。
(7) 控制電磁閥,將反應(yīng)化合物送到廢液瓶。
(8) 控制電磁閥,將蒸餾水經(jīng)液位計(jì)量器送入光度檢測裝置,清洗所有管道,再送到廢液瓶。整個(gè)過程反復(fù)3次。清洗同時(shí),讀取光度檢測裝置數(shù)據(jù),計(jì)算出參比光強(qiáng)。
3 預(yù)測分析模型
基于分光光度法設(shè)計(jì)的六價(jià)鉻自動測量系統(tǒng)使用分光光度檢測裝置,測量參比光強(qiáng)及測量光強(qiáng),再通過式(5)計(jì)算出六價(jià)鉻的含量:
[六價(jià)鉻含量=K*log測量光強(qiáng)參比光強(qiáng)+B] (5)
式中:K和B為系數(shù),通過儀器標(biāo)定來確定。選取30組標(biāo)準(zhǔn)六價(jià)鉻溶液,其含量從0 mg/L遞增至4.5 mg/L,間隔0.15 mg/L。系統(tǒng)測量的總樣本數(shù)據(jù)為30個(gè),選取15個(gè)樣本為訓(xùn)練樣本,另外15個(gè)為測試樣本,部分樣本如表1所示。
將混合蛙跳算法應(yīng)用于LSSVM算法的參數(shù)優(yōu)化過程中,確定其最優(yōu)參數(shù)[C]為4.257 8,參數(shù)[σ]為25.367 5。基于神經(jīng)網(wǎng)絡(luò)及LSSVM算法,建立六價(jià)鉻預(yù)測模型,仿真數(shù)據(jù)如表2所示。兩種預(yù)測模型的結(jié)果對比如圖3所示。
從表2數(shù)據(jù)可見,基于神經(jīng)網(wǎng)絡(luò)的六價(jià)鉻預(yù)測模型的結(jié)果誤差極值為9.78%,均值為4.68%,而基于LSSVM算法的預(yù)測模型的誤差極值為2.77%,均值為1.62%,對比顯示LSSVM預(yù)測模型獲得了更高的精度。
4 結(jié) 語
本文介紹了一種六價(jià)鉻自動測量系統(tǒng)的設(shè)計(jì),并將LSSVM技術(shù)應(yīng)用到數(shù)據(jù)分析工作中,建立數(shù)據(jù)預(yù)測模型,其預(yù)測結(jié)果與實(shí)際含量的對比顯示,這種預(yù)測模型可以有效地提高數(shù)據(jù)準(zhǔn)確性,可以應(yīng)用到實(shí)際的數(shù)據(jù)分析預(yù)測工作中。基于LSSVM的預(yù)測模型使用簡便,可控參數(shù)數(shù)量少,只需確定參數(shù)C和參數(shù)[σ]即可,使用混合蛙跳算法能夠有效優(yōu)化兩個(gè)參數(shù),提高LSSVM預(yù)測模型的精度,在數(shù)據(jù)分析預(yù)測模型的建立方面具有廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1] 唐清霞,盛杰.六價(jià)鉻的危害性評價(jià)及其檢測研究[J].資源節(jié)約與環(huán)保,2015(7):49.
[2] 程柏森,陳永玉.二苯碳酰二肼分光光度法測定堿式氯化銅中六價(jià)鉻[J].廣州化工,2015,43(15):144?145.
[3] 童敏明,張愉,齊美星.基于BP神經(jīng)網(wǎng)絡(luò)的可燃混合氣體分析方法的研究[J].計(jì)量學(xué)報(bào),2006,27(2):169?171.
[4] 侯迪波,陳玥,趙海峰,等.基于RBF神經(jīng)網(wǎng)絡(luò)和小波分析的水質(zhì)異常檢測方法[J].傳感器與微系統(tǒng),2013,32(2):138?141.
[5] 黃苜,程小平.基于支持向量機(jī)回歸粒子濾波器的運(yùn)動員實(shí)時(shí)跟蹤方法[J].西南大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,30(5):165?169.
[6] 曾燕,成新文,王紅旗,等.基于加權(quán)最小二乘支持向量機(jī)的下水道可燃?xì)怏w分析[J].西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),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.