摘 要: 建立了一種基于支持向量機(jī)的地表水環(huán)境質(zhì)量分類模型,并將其用于浙江省主要市界交界面的地表水環(huán)境質(zhì)量分類。該模型采用徑向基核函數(shù),以一對(duì)多方式實(shí)現(xiàn)多分類。分別以網(wǎng)格搜索、粒子群優(yōu)化和遺傳算法三種優(yōu)化方法對(duì)支持向量機(jī)的控制參數(shù)進(jìn)行尋優(yōu)。實(shí)驗(yàn)表明,采用網(wǎng)格搜索法確定支持向量機(jī)控制參數(shù)可以得到最好的水質(zhì)分類結(jié)果,分類準(zhǔn)確率可達(dá)到82%,由此證明以支持向量機(jī)對(duì)水質(zhì)進(jìn)行分類是可行的。
關(guān)鍵詞: 支持向量機(jī);水質(zhì)分類;分類模型;網(wǎng)格搜索;主成分分析
0 引言
地表水環(huán)境質(zhì)量分類是進(jìn)行水環(huán)境治理保護(hù)的一項(xiàng)重要內(nèi)容,建立地表水環(huán)境質(zhì)量分類模型是對(duì)地表水環(huán)境質(zhì)量進(jìn)行正確分類的一項(xiàng)基礎(chǔ)工作。近年來(lái),常見(jiàn)的水環(huán)境質(zhì)量分類方法有綜合指數(shù)法[1]、灰色聚類法[2]、人工神經(jīng)網(wǎng)絡(luò)[3]等,但前兩類方法中的模型屬于傳統(tǒng)模型,并沒(méi)有很好地解決水環(huán)境質(zhì)量分類中的評(píng)價(jià)因子和水質(zhì)等級(jí)之間存在的非線性關(guān)系[4]。
支持向量機(jī)(Support Vector Machine, SVM)[5]作為近年發(fā)展起來(lái)的一種機(jī)器學(xué)習(xí)方法,是一種建立在統(tǒng)計(jì)學(xué)習(xí)理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則基礎(chǔ)上的監(jiān)督式學(xué)習(xí)方法[6],能很好地解決小樣本、非線性、高維數(shù)和局部極小點(diǎn)等問(wèn)題,已成為機(jī)器學(xué)習(xí)界的研究熱點(diǎn)之一[7]。目前,SVM已廣泛應(yīng)用于統(tǒng)計(jì)分類、回歸分析和時(shí)間序列預(yù)測(cè)等實(shí)際問(wèn)題。SVM作為分類模型,無(wú)論是訓(xùn)練速度還是分類準(zhǔn)確率均明顯優(yōu)于神經(jīng)網(wǎng)絡(luò)[8]。因此,本文嘗試將SVM分類模型用于地表水環(huán)境質(zhì)量分類。
1 支持向量機(jī)分類
SVM的研究最初是針對(duì)模式識(shí)別中的二類線性可分問(wèn)題,對(duì)于二類線性不可分問(wèn)題則通過(guò)非線性映射,將數(shù)據(jù)由低維空間映射到高維特征空間,使其在高維空間線性可分,進(jìn)而得到最優(yōu)分類超平面,實(shí)現(xiàn)問(wèn)題的求解。
設(shè)輸入空間Rn中的訓(xùn)練集為:
通過(guò)非線性映射到高維Hilbert空間H,得到新的訓(xùn)練集:
若在高維特征空間建立一最優(yōu)超平面:
其中,是最優(yōu)超平面的法向量,b是最優(yōu)超平面的偏移量。對(duì)于部分不能被最優(yōu)超平面直接分開(kāi)的數(shù)據(jù),通過(guò)引入松弛變量ξi使約束條件弱化,同時(shí)由懲罰因子C控制對(duì)錯(cuò)分樣本的懲罰程度。則二類線性不可分的原始問(wèn)題可以轉(zhuǎn)化為:
再引入拉格朗日乘數(shù)αi≥0,βi≥0,得:
根據(jù)Wolfe對(duì)偶定義,對(duì)L關(guān)于、b、ξ求極小,可得:
然后將上述極值條件代入拉格朗日函數(shù),對(duì)α求極大,獲得其對(duì)偶問(wèn)題:
同時(shí)得到分類函數(shù):
其中,為核函數(shù)。最優(yōu)超平面僅依賴于相應(yīng)αi不為零的訓(xùn)練點(diǎn)(xi,yi)所對(duì)應(yīng)的輸入xi,稱其為支持向量(Support Vector, SV)。選擇不同的核函數(shù),可以生成不同的SVM,本文選用徑向基核函數(shù):,γ為核函數(shù)寬度。
2 支持向量機(jī)地表水環(huán)境質(zhì)量分類模型
用SVM對(duì)地表水環(huán)境質(zhì)量進(jìn)行分類有兩個(gè)問(wèn)題需要考慮:首先水質(zhì)分類問(wèn)題屬于多分類問(wèn)題,要采用多分類的SVM;其次從SVM分類算法可以看出,懲罰因子C及徑向基核函數(shù)寬度γ是SVM的兩個(gè)控制參數(shù),訓(xùn)練時(shí)需對(duì)它們進(jìn)行調(diào)整,即存在控制參數(shù)尋優(yōu)問(wèn)題。
2.1 多分類方法
SVM多分類的方法有多種[9],常用的有一對(duì)一(One Against One)和一對(duì)多(One Against All)兩種方法[10],由于一對(duì)一分類器訓(xùn)練速度比較慢,故本文采用一對(duì)多方法。
2.2 控制參數(shù)尋優(yōu)
交叉驗(yàn)證(Cross Validation, CV)是一種用來(lái)驗(yàn)證分類器性能的統(tǒng)計(jì)分析方法,常用的CV方法有幾種,本文采用k-fold Cross Validation(k-CV),其基本思想是將原始樣本分成k組,每個(gè)子集樣本分別做一次驗(yàn)證集,同時(shí)剩下的k-1組子集樣本作為訓(xùn)練集,得到k個(gè)模型,取這k個(gè)模型驗(yàn)證集的分類準(zhǔn)確率的平均值作為此分類器的性能指標(biāo)。
采用徑向基核函數(shù)時(shí)需要調(diào)節(jié)懲罰因子C和核函數(shù)寬度γ兩個(gè)SVM控制參數(shù),本文使用3種控制參數(shù)尋優(yōu)方法,分別是網(wǎng)格搜索法(Grid Search)、粒子群優(yōu)化算法(Particle Swarm Optimization, PSO)和遺傳算法(Genetic Algorithm, GA)。
網(wǎng)格搜索法分兩步進(jìn)行,其基本原理是先在大范圍內(nèi)粗略尋找較佳參數(shù),采用k-CV方法對(duì)訓(xùn)練集進(jìn)行測(cè)試,并得到使分類準(zhǔn)確率較高的控制參數(shù)。再在上述控制參數(shù)附近的小范圍內(nèi)精確搜索,再次進(jìn)行尋優(yōu),找到最優(yōu)參數(shù)。PSO是一種基于群體智能的演化計(jì)算方法,它是通過(guò)粒子在解空間追隨最優(yōu)的粒子進(jìn)行搜索的。本文中利用PSO對(duì)SVM參數(shù)優(yōu)化時(shí)以對(duì)訓(xùn)練集進(jìn)行CV得到的準(zhǔn)確率作為適應(yīng)度函數(shù),最大進(jìn)化次數(shù)設(shè)置為200,種群最大數(shù)量設(shè)置為20。GA是通過(guò)模擬“優(yōu)勝劣汰,適者生存”的自然界演化法則而生成的一種并行隨機(jī)搜索最優(yōu)化方法。本文中GA以對(duì)訓(xùn)練集進(jìn)行CV得到的準(zhǔn)確率為適應(yīng)度函數(shù),最大進(jìn)化代數(shù)設(shè)置為500,種群最大數(shù)量設(shè)置為20。
3 實(shí)驗(yàn)
3.1 實(shí)驗(yàn)數(shù)據(jù)集
實(shí)驗(yàn)數(shù)據(jù)來(lái)源于浙江省環(huán)境保護(hù)廳網(wǎng)站(http://www.zjepb.gov.cn)發(fā)布的浙江省主要市界交界面水質(zhì)自動(dòng)監(jiān)測(cè)月報(bào)(2009年1月~2012年1月)。其中主要檢測(cè)項(xiàng)目為PH值、溶解氧(DO)、高錳酸鹽指數(shù)(CODMn)、氨氮(NH3-N)這4個(gè)參數(shù)。根據(jù)《地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)》(GB 3838-2002),水質(zhì)分類有Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ類,如表1所示。
3.2 監(jiān)測(cè)數(shù)據(jù)分析
主成分分析(Principal Component Analysis, PCA)是一種分析、簡(jiǎn)化數(shù)據(jù)集的技術(shù)。PCA可以在盡可能減少信息損失的情況下,將高維數(shù)據(jù)降至低維,在二維或三維空間以圖形方式直觀顯示數(shù)據(jù)的分布情況[11],因此本文采用PCA觀測(cè)地表水環(huán)境監(jiān)測(cè)數(shù)據(jù)的復(fù)雜程度。在本實(shí)驗(yàn)中,監(jiān)測(cè)數(shù)據(jù)總共有360個(gè)樣本,除Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ類之外,對(duì)于低于Ⅴ類的水質(zhì),本文稱之為劣Ⅴ類,這樣一共有6類,即本文需解決的地表水環(huán)境質(zhì)量分類問(wèn)題是6分類問(wèn)題。對(duì)其監(jiān)測(cè)數(shù)據(jù)進(jìn)行PCA分析后得到前4個(gè)主成分分量的貢獻(xiàn)率如圖1所示,相應(yīng)前2個(gè)及前3個(gè)主成分分量數(shù)據(jù)分布分別如圖2與圖3所示。
由圖1可知,PCA分析結(jié)果中前4個(gè)主成分的貢獻(xiàn)率分別為52.067 6%、22.555 4%、14.899 6%和10.477 4%,這說(shuō)明PCA分析后的每個(gè)主成分分量都比較重要,若降維則會(huì)對(duì)水質(zhì)分類結(jié)果有較大的影響,因此本文對(duì)訓(xùn)練與測(cè)試SVM分類模型的數(shù)據(jù)不進(jìn)行降維處理。從圖2及圖3可以看出,待分類處理的檢測(cè)數(shù)據(jù)分布是比較復(fù)雜的,例如圖2的Ⅲ類與Ⅳ類、Ⅴ類與劣Ⅴ類以及圖3中的Ⅰ類、Ⅱ類和Ⅳ類之間都存在比較嚴(yán)重混疊,用常規(guī)方法難以準(zhǔn)確分類。因此,本文通過(guò)建立SVM分類模型,實(shí)現(xiàn)地表水環(huán)境質(zhì)量的分類。在360個(gè)樣本中取其中的182個(gè)樣本數(shù)據(jù)作為SVM的訓(xùn)練集,剩余的178個(gè)樣本數(shù)據(jù)作為SVM的測(cè)試集。
3.3 實(shí)驗(yàn)結(jié)果與分析
使用網(wǎng)格搜索法、PSO參數(shù)尋優(yōu)法和GA參數(shù)尋優(yōu)法3種方法得到的訓(xùn)練集交叉驗(yàn)證(CV)分類準(zhǔn)確率、測(cè)試集分類準(zhǔn)確率及整個(gè)程序運(yùn)行所需要的時(shí)間如表2所示(每種控制參數(shù)尋優(yōu)方法均運(yùn)行3次)。
從表2可以看出,網(wǎng)格搜索法的測(cè)試集分類準(zhǔn)確率可以達(dá)到82.022 5%,PSO參數(shù)尋優(yōu)法雖然也可以達(dá)到82.022 5%,但是沒(méi)有網(wǎng)格搜索法穩(wěn)定,且整個(gè)程序運(yùn)行所需要的時(shí)間是網(wǎng)格搜索法的3倍多。GA參數(shù)尋優(yōu)法的測(cè)試集分類準(zhǔn)確率則普遍沒(méi)有PSO參數(shù)尋優(yōu)法高,且整個(gè)程序運(yùn)行所需要的時(shí)間也比PSO參數(shù)尋優(yōu)法長(zhǎng)。通過(guò)比較這3種控制參數(shù)尋優(yōu)方法可知,用網(wǎng)格搜索法對(duì)SVM中的參數(shù)進(jìn)行尋優(yōu)是可行的,且得到的水質(zhì)分類結(jié)果最好。
4 結(jié)論
本文通過(guò)建立SVM多分類模型實(shí)現(xiàn)地表水環(huán)境質(zhì)量分類,并在建模過(guò)程中以網(wǎng)格搜索法、PSO參數(shù)尋優(yōu)法和GA參數(shù)尋優(yōu)法分別對(duì)SVM的控制參數(shù)進(jìn)行了尋優(yōu)。從實(shí)驗(yàn)結(jié)果可知,采用網(wǎng)格搜索法進(jìn)行SVM參數(shù)尋優(yōu),可以得到較高的測(cè)試集分類精度,表明采用SVM多分類模型進(jìn)行地表水環(huán)境質(zhì)量分類是可行的。
參考文獻(xiàn)
[1] 王文強(qiáng). 綜合指數(shù)法在地下水質(zhì)評(píng)價(jià)中的應(yīng)用[J]. 水利科技與經(jīng)濟(jì),2008, 14(1): 54-55.
[2] 鄧聚龍. 灰色理論系統(tǒng)[M]. 武漢:華中科技大學(xué)出版社, 2002.
[3] FARMAKI E G, THOMAIDIS N S, EFSTATHIOU C E. Artificial neural networks in water analysis: theory and application [J]. International Journal of Environmental Analytical Chemistry, 2010, 90(2): 85-105.
[4] 鄭一華. 基于支持向量機(jī)的水質(zhì)評(píng)價(jià)和預(yù)測(cè)研究[D]. 南京:河海大學(xué),2006.
[5] CORTES C, VAPNIK V. Support-vector networks [J]. Machine Learning, 1995, 20(3): 273-297.
[6] 張學(xué)工. 關(guān)于統(tǒng)計(jì)學(xué)習(xí)理論與支持向量機(jī)[J]. 自動(dòng)化學(xué)報(bào),2000, 26(1): 32-42.
[7] 鄧乃揚(yáng),田英杰. 數(shù)學(xué)挖掘中的新方法:支持向量機(jī)[M]. 北京:科學(xué)出版社,2004.
[8] Cao Jian, Hu Hongsheng, Qian Suxiang, et al. Research on the water quality forecast method based on SVM [C]. SPIE, 2009,7500.
[9] 聶盼盼, 臧洌, 劉雷雷. 基于對(duì)支持向量機(jī)的多分類算法在入侵檢測(cè)中的應(yīng)用[J]. 計(jì)算機(jī)應(yīng)用, 2013, 33(2): 426-429.
[10] JOUTSIJOKI H, JUHOLA M. Comparing the one-vs-one and one-vs-all methods in benthic macroinvertebrate image classification [C]. Proceeding in 7th International Conference, MLDM 2011, NewYork, USA, 2011:399-413.
[11] PARDO M, SBERYEGLIERI G. Coffee analysis with an electronic nose [J]. IEEE Transactions on Instrumentation and Measurement, 2002, 51(6): 1334-1339.