孫文兵
(邵陽學(xué)院 理學(xué)與信息科學(xué)系,湖南 邵陽,422000)
?
支持向量機(jī)在水資源質(zhì)量分類評價中的應(yīng)用
孫文兵
(邵陽學(xué)院 理學(xué)與信息科學(xué)系,湖南 邵陽,422000)
建立了一種支持向量機(jī)(SVM)的水資源質(zhì)量分類評價模型,采用“一對一”的多類別分類算法,核函數(shù)取徑向基函數(shù),分別用網(wǎng)格搜索法、遺傳算法和粒子群算法對SVM模型的控制參數(shù)進(jìn)行尋優(yōu).農(nóng)村水質(zhì)分類評價實驗表明:網(wǎng)格搜索方法能得到較高的分類準(zhǔn)確率而且泛化能力較強(qiáng),計算時間短等優(yōu)點(diǎn),該模型的實際應(yīng)用可以推廣.
支持向量機(jī);水質(zhì)分類評價;網(wǎng)格搜索; 參數(shù)尋優(yōu)
隨著經(jīng)濟(jì)快速發(fā)展,水資源污染嚴(yán)重威脅到人們的生產(chǎn)和生活,對水資源進(jìn)行正確的分類評價成為評估水質(zhì)污染程度的一項重要工作.常見的評價方法有綜合評價法、灰色聚類法、經(jīng)濟(jì)分析法、神經(jīng)網(wǎng)絡(luò)法等[1-3].每種方法有各自特點(diǎn)和不足,傳統(tǒng)方法雖然能反映水質(zhì)的部分情況但難以描述評價因子與水質(zhì)等級之間的復(fù)雜的非線性關(guān)系,通用性較差;神經(jīng)網(wǎng)絡(luò)有較強(qiáng)的處理非線性關(guān)系的能力,但是存在一些先天的缺陷,比如,網(wǎng)絡(luò)結(jié)構(gòu)難以確定,泛化能力差.
支持向量機(jī)(Support Vector Machine,SVM)是基于統(tǒng)計學(xué)理論,以結(jié)構(gòu)風(fēng)險最小化原理為基礎(chǔ)的一種新型機(jī)器學(xué)習(xí)方法.SVM方法廣泛應(yīng)用于統(tǒng)計分類、回歸預(yù)測等[4-5]問題,可以較好逼近非線性復(fù)雜系統(tǒng),能夠有效解決過學(xué)習(xí)、維數(shù)災(zāi)難以及局部最小等問題,具有良好的泛化能力和分類性能.本文根據(jù)測試水樣物質(zhì)成分的含量,嘗試?yán)肧VM方法構(gòu)建水質(zhì)分類模型,對農(nóng)村地表水進(jìn)行分類評價.
SVM是針對模式識別中的線性可分和線性不可分兩類問題構(gòu)造最優(yōu)超平面,實現(xiàn)分類求解.對于線性不可分的樣本,引入某種特定的非線性映射方法把樣本映射到一個高維特征空間轉(zhuǎn)化為線性可分問題.最優(yōu)分類超平面正是通過這樣一個高維特征空間構(gòu)造出來,從而實現(xiàn)分類.
假設(shè)訓(xùn)練樣本{xi,yi},i=1,2,…,l,xi∈Rm;yi∈{+1,-1},其中m為輸入維數(shù),即評價因子,l為樣本數(shù)目、k為輸出,即評價級別.
(1)
其中ξi,i=1,2,···,l,C為懲罰因子,控制對錯分樣本的懲罰程度.在線性可分的情況下可取ξi=1,C=0.
根據(jù)Lagrange函數(shù),得到原優(yōu)化問題的wolf對偶問題:
(2)
求解對偶問題得到最優(yōu)的α,最優(yōu)超平面僅依賴于不為零的α對應(yīng)的訓(xùn)練樣本,稱之為支持向量,進(jìn)一步得到分類函數(shù):
(3)
得到分類函數(shù)為:
(5)
根據(jù)不同的核函數(shù)可以得到不同的SVM,由于徑向基核函數(shù)在支持向量機(jī)水質(zhì)分類模型中有一定的優(yōu)勢[6],本文采用徑向基核函數(shù):
K(x,xi)=exp(-γ‖x-xi‖2),γ>0為核參數(shù).
2.1 控制參數(shù)尋優(yōu)
懲罰因子C和核參數(shù)γ是兩個控制參數(shù),而這兩個控制參數(shù)是影響 SVM 性能的關(guān)鍵因素[8].因此,核函數(shù)參數(shù)和懲罰因子C 的選擇對 SVM 的性能至關(guān)重要,只有選擇合適的控制參數(shù),SVM 的優(yōu)越性才能更好地發(fā)揮出來.因此,本文分別利用網(wǎng)格搜索法、遺傳算法(GA)和粒子群算法(PSO)對 SVM 模型的參數(shù)進(jìn)行尋優(yōu)選擇.
2.2 SVM分類預(yù)測步驟
第一步 選定包含所有類別特征參數(shù)的訓(xùn)練樣本集和測試樣本集;
第二步 選取合適的核函數(shù)K(xi,xj),用參數(shù)尋優(yōu)方法確定最佳參數(shù)C,γ,訓(xùn)練SVM分類器;
第三步 待檢驗樣本輸入訓(xùn)練好的SVM分類器,得到分類函數(shù)的輸出值,對測試集進(jìn)行預(yù)測驗證.
3.1 水質(zhì)標(biāo)準(zhǔn)和評價指標(biāo)的選取
采用《國家地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)》(GB3838-2002)作為水質(zhì)評價的標(biāo)準(zhǔn),水質(zhì)評價參數(shù)指標(biāo)有很多,本文選擇對水體質(zhì)量影響較大的5項指標(biāo):溶解氧、化學(xué)需氧量、高猛酸鹽指數(shù)、總磷和總氮,根據(jù)各種參數(shù)指標(biāo)將水質(zhì)分成五個等級,見表1.
表1 地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)Table 1 Standards of surface water environmental quality
3.2 數(shù)據(jù)采集以及標(biāo)準(zhǔn)化
本文以邵陽市某農(nóng)村生活生產(chǎn)用水的調(diào)查數(shù)據(jù)為例,主要檢測以上五項參數(shù)指標(biāo)值,選取池塘、水庫、居民自建水井等10處樣本進(jìn)行檢測,數(shù)據(jù)見表2,用SVM分類算法對10件樣品進(jìn)行分類評價.訓(xùn)練數(shù)據(jù)根據(jù)地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)數(shù)據(jù)(表1)采用等隔均勻內(nèi)插方式生成,分類級別輸出,取0~1.5,1.5~2.5,2.5~3.5,3.5~4.5,4.5~5分別對應(yīng)水質(zhì)評價的1,2,3,4,5級,總共生成250個訓(xùn)練樣本.取1-200號樣本訓(xùn)練SVM模型,201-250號樣本作為測試數(shù)據(jù),檢驗SVM分類的準(zhǔn)確性,最后用訓(xùn)練好的SVM分類算法對10件采集的樣本進(jìn)行分類預(yù)測.
由于數(shù)據(jù)綱量的差異,為了提高訓(xùn)練速度和預(yù)測精度,對250組訓(xùn)練測試數(shù)據(jù)和10組采樣數(shù)據(jù)分別用如下公式進(jìn)行歸一化處理,使得歸一化后的數(shù)據(jù)分布在[0,1]之間.
(6)
3.3 三種參數(shù)優(yōu)化模型的分類評價結(jié)果及分析
3.3.1 模型參數(shù)尋優(yōu)
SVM分類參數(shù)尋優(yōu),目前并沒有統(tǒng)一的模式,本文根據(jù)前人的研究經(jīng)驗嘗試?yán)镁W(wǎng)格搜索法、遺傳算法和粒子群算法對SVM模型的參數(shù)進(jìn)行優(yōu)選.
(1)網(wǎng)格搜索(Grid Search),先采用K-CV(取K=3)方法在一個大范圍內(nèi)粗略尋找較優(yōu)的參數(shù)結(jié)果為c=0.143587 Best g=36.7583(g即為參數(shù)γ),再通過觀察粗略尋優(yōu)結(jié)果在參數(shù)附近較小范圍內(nèi)再次精細(xì)尋優(yōu),結(jié)果為Best c=1.41421 Best g=5.65685.利用Libsvm-mat-2.89軟件包的函數(shù)SVMcgForClass實現(xiàn)這一過程,精細(xì)尋優(yōu)結(jié)果見圖1,測試集的分類準(zhǔn)確率為98%(49/50),對真實數(shù)據(jù)的預(yù)測結(jié)果見表2.
SVC參數(shù)選擇結(jié)果圖(3D視圖)[GridSearchMethod]
Best c=1.4142 g=5.6569 CVAccuracy=98.5%
圖1 網(wǎng)格搜索參數(shù)精細(xì)尋優(yōu)結(jié)果圖Fig.1 Fine optimization results of grid search parameters
(2) 遺傳算法(GA)尋優(yōu),GA是一種基于生物遺傳和進(jìn)化機(jī)制的自適應(yīng)概率優(yōu)化技術(shù),本文將訓(xùn)練集在CV(交叉驗證)意義下的準(zhǔn)確率作為遺傳算法的適應(yīng)度函數(shù),利用Libsvm-mat -2.89軟件包的函數(shù)gaSVMcgForClass來實現(xiàn)這一過程,遺傳算法中的參數(shù)設(shè)置采用函數(shù)gaSVMcgForClass的默認(rèn)參數(shù)便可,得到最佳參數(shù)為Best c=75.2239 Best g=90.3403,適應(yīng)度曲線隨進(jìn)化代數(shù)的變化關(guān)系如圖2,測試集的分類準(zhǔn)確率為98%(49/50),對真實數(shù)據(jù)的預(yù)測結(jié)果見表2.
適應(yīng)度曲線Accuracy[GAmethod]
(終止代數(shù)=200,種群數(shù)量pop=20)
Best c=75.2239 g=90.3403 CVAccuracy=99%
圖2 GA尋優(yōu)的適應(yīng)度曲線Fig.2 Fitness curve of GA optimization
(3)粒子群算法(PSO)尋優(yōu),PSO是一種基于群體智能的優(yōu)化算法,粒子通過搜索空間中每一個可能解,以更新自己,并對模型推廣能力的估計值作出評價,使得泛化誤差最小化,對訓(xùn)練集進(jìn)行CV意義下的準(zhǔn)確率作為PSO的適應(yīng)度函數(shù).利用Libsvm-mat -2.89軟件包的函數(shù)psoSVMcgForClass來實現(xiàn)這一參數(shù)尋優(yōu)過程,粒子群算法中的參數(shù)設(shè)置采用函數(shù)psoSVMcgForClass的默認(rèn)參數(shù),得到最佳參數(shù)為c=5.50832 Best g=1000,適應(yīng)度曲線隨進(jìn)化代數(shù)的變化關(guān)系如圖3,測試集的分類準(zhǔn)確率為98%(49/50),對真實數(shù)據(jù)的預(yù)測結(jié)果見表2.
適應(yīng)度曲線Accuracy[PSOmethod]
(參數(shù)c1=1.5,c2=1.7,終止代數(shù)=200,種群數(shù)量pop=20)
Best c=5.5083 g=1000 CVAccuracy=99%
圖3 PSO尋優(yōu)的適應(yīng)度曲線Fig.3 Fitness curve of PSO optimization
3.3.2 分類結(jié)果以及模型評價
利用三種參數(shù)尋優(yōu)方法尋找最佳控制參數(shù),并用所得的SVM分類模型對10個樣本數(shù)據(jù)進(jìn)行分類預(yù)測,結(jié)果如表2.
表2 農(nóng)村水質(zhì)評價指標(biāo)實測值以及分類結(jié)果Table 2 The classification results and measured values of rural water quality evaluation index
從試驗結(jié)果可以看出,三種方法對SVM分類模型控制參數(shù)尋優(yōu)得到驗證集的分類準(zhǔn)確率很高均為98%,50個驗證樣本中只有一個分類出現(xiàn)失誤,其余49個分類正確,然而兩個控制參數(shù)中的懲罰因子C的值一般不宜過大,因為C值過大會導(dǎo)致過學(xué)習(xí)狀態(tài)發(fā)生,即 C 越大,訓(xùn)練樣本數(shù)據(jù)的擬合程度越高,但泛化能力反而降低.三種尋優(yōu)方法中網(wǎng)格搜索法和粒子群算法找到的C值較小,網(wǎng)格搜索法得到的C值僅為1.41421,而且網(wǎng)格搜索法計算時間最短,粒子群方法計算時間最長.因此,SVM分類模型對農(nóng)村水質(zhì)分類預(yù)測采用網(wǎng)格搜索方法對參數(shù)尋優(yōu)結(jié)果是最理想的.
本文采用SVM多分類算法對農(nóng)村地表水質(zhì)量分級進(jìn)行預(yù)測評價,在只能獲得水質(zhì)物質(zhì)含量的前提下可以比較客觀準(zhǔn)確的對水質(zhì)進(jìn)行分類評價.利用三種方法對SVM模型的控制參數(shù)進(jìn)行尋優(yōu)比較,發(fā)現(xiàn)網(wǎng)格搜索法能得到較高的分類準(zhǔn)確率高而且泛化能力較強(qiáng),計算時間短等優(yōu)點(diǎn),實際應(yīng)用中可以推廣.
[1]王高駿,王曉昌,劉言正,等.基于熵權(quán)-集對分析的多級生態(tài)塘功效綜合評價[J].環(huán)境 工程學(xué)報,2016,10(4):2093-2098.
[2]王學(xué)超,劉海瀅.基于矢量量化神經(jīng)網(wǎng)絡(luò)模型的水環(huán)境質(zhì)量評價研究[J].水利發(fā)展研究,2015,10:21-24.
[3]譚洪濤,黃 勝,朱琳.基于灰色聚類法的安昌江綿陽段水環(huán)境質(zhì)量評價[J].西南科技大 學(xué)學(xué)報,2014,29(3):33-39.
[4]武雪玲,沈少青,牛瑞卿.GIS支持下應(yīng)用PSO-SVM 模型預(yù)測滑坡易發(fā)性[J].武漢大學(xué)學(xué)報(信息科學(xué)版).2016,41(5):665-671.
[5]李小琳,孫 玥,劉 洋. 基于SVM修正的模糊時間序列模型在滬指預(yù)測中的應(yīng)用[J]. 中國科學(xué)技術(shù)大學(xué)學(xué)報,2016,46( 3) :238-246.
[6]劉坤,劉賢趙,孫 瑾,等.基于支持向量機(jī)的水環(huán)境質(zhì)量綜合評價[J].中國環(huán)境監(jiān)測,2007,23(3):81-84.
[7]MATLAB中文論壇編著.MATLAB神經(jīng)網(wǎng)絡(luò)30個案例分析[M].北京:北京航空航天大學(xué)出版社.2010.
[8]Vapnik V N.統(tǒng)計學(xué)習(xí)理論的本質(zhì)[M].北京:清華大學(xué)出版社,2000.
Application of support vector machine in classification and evaluation of water resources quality
SUN Wenbing
(Department of Science and Information Science ,Shaoyang University,Shaoyang 422000,China)
A water quality classification and evaluation model based on support vector machine (SVM) was established.Multi class classification algorithm was designed by using "one against one" method and taking radial basis function (RBF) as kernel function.Grid search method,genetic algorithm(GA) and particle swarm optimization (PSO)algorithm were used to optimize the control parameters of SVM.The rural water quality classification evaluation experiment show that Grid search method can achieve higher classification accuracy and better generalization ability,and the computation time is shortest.The practical application of the SVM model can be popularized.
support vector machine (SVM); classification and evaluation of water quality; grid search; parameter optimization
1672-7010(2016)02-0011-05
2015-12-09
邵陽市科技計劃項目(2015NC43)
孫文兵(1978-),男,湖南隆回人,碩士,講師,從事智能算法及應(yīng)用研究
O234;X824
A