聶篤憲,魏偉康,莊澤鴻,吳海童,卜加慧
(華南農(nóng)業(yè)大學(xué) 數(shù)學(xué)與信息學(xué)院,廣州510642)
傳統(tǒng)的水質(zhì)評價方法多參照水質(zhì)類別標(biāo)準(zhǔn),基于多元統(tǒng)計[1-2]對常規(guī)的幾種水資源污染因子進(jìn)行權(quán)重計算,建立綜合評價指標(biāo)。該方法操作簡單,得到了廣泛應(yīng)用,但卻未能解決水質(zhì)評價中污染物的不確定性與非線性[3]。隨著人工智能技術(shù)的發(fā)展,BP神經(jīng)網(wǎng)絡(luò)[4]、支持向量機[5]與決策樹[6]等方法逐漸被應(yīng)用于水質(zhì)評價中,且取得了不錯效果。但這些方法都存在著不足,BP神經(jīng)網(wǎng)絡(luò)要求大量的樣本數(shù)據(jù)提高分類準(zhǔn)確率,且容易陷入局部極小值;SVM對參數(shù)選取具有盲目性,即求得的預(yù)測模型不是最優(yōu)解;決策樹對于不均衡的水質(zhì)樣本數(shù)據(jù),信息增益會偏向于那些更多數(shù)值的特征,從而產(chǎn)生過擬合。因此,許多學(xué)者采取了粒子群優(yōu)化PSO、遺傳算法GA等優(yōu)化水質(zhì)評價模型參數(shù),并取得了一定成果。如郭建青等[7]將PSO算法應(yīng)用于估計河流水質(zhì)參數(shù)的函數(shù)優(yōu)化問題,提高了運算過程的收斂性;王冬生等[8]用PSO算法訓(xùn)練RBF神經(jīng)網(wǎng)絡(luò),提高了水質(zhì)評價精度。
本文利用基于PSO算法和遺傳算法GA的混合算法HPSOCS搜尋SVM訓(xùn)練的最優(yōu)參數(shù),從而降低了SVM對參數(shù)選擇的盲目性,并將改進(jìn)的HPSOCSSVM算法應(yīng)用于山東省菏澤市水質(zhì)評價中,實驗結(jié)果表明,HPSOCS算法提高了水質(zhì)評價模型分類的準(zhǔn)確度,評價效果更優(yōu),體現(xiàn)了該優(yōu)化算法良好的性能。
支持向量機SVM的基本原理是結(jié)構(gòu)風(fēng)險最小化,思路是在樣本空間中,找到一個最優(yōu)超平面將樣本空間分成兩類,使得被分成兩類的樣本集與最優(yōu)超平面的距離最大。在使用支持向量機之前,先把分類問題分成兩種,一種是線性可分,另一種是線性不可分。
1.1.1 解決線性可分問題
設(shè)樣本集為(xi,yi),i=1,2,…,n;其中yi={+1,-1}是類別符號,利用分類面將樣本正確地分成兩類,且令分類間隔最大,也就是使‖w‖2最小(w為分類面的法向量),其中分類面的方程為:
w·x+b=0
而想要分類面在對所有樣本進(jìn)行分類時不出現(xiàn)錯誤,就要滿足以下條件:
yi[w·x+b]-1≥0,i=1,2,3,...,n
滿足以上條件和令‖w‖達(dá)到最小的分類面就是得到的最優(yōu)分類面。
1.1.2 解決線性不可分問題
引入松弛變量,同時增加核函數(shù)K(x,xj)和懲罰因子c來進(jìn)行分析,將低維空間的輸入數(shù)據(jù)通過非線性變換轉(zhuǎn)換成高維空間,使之成為線性樣本,從而求出最優(yōu)分類超平面。
求解超平面轉(zhuǎn)換為最優(yōu)化問題為:
本文選取RBF徑向基核函數(shù)K(x,xj)=exp(-||x-xj||2)/2g,其中,g為核函數(shù)參數(shù)。
判別函數(shù)為:
通過推導(dǎo)過程看出,核函數(shù)參數(shù)g和懲罰因子c的選取對SVM的分類性能至關(guān)重要,因此本文用基于粒子群優(yōu)化算法和遺傳算法的混合算法來優(yōu)化SVM參數(shù)。
粒子群優(yōu)化是一種模擬鳥群捕食行為的群體智能演化算法[9],該算法的基本步驟為:初始化粒子群的規(guī)模X={x1,x2,…,xn}與每個粒子的位置Xi=(xi1,xi2,…,xiD)T和速度Vi=(vi1,vi2,…,viD)T。在每一次迭代中,計算每個粒子的適應(yīng)度,通過個體極值(pbest)與全局極值(gbest)來更新每一個粒子的位置和速度,當(dāng)達(dá)到尋優(yōu)條件時即退出迭代。
位置、速度更新方程為:
遺傳算法GA 是由Holland 提出的一種進(jìn)化計算模型[10],包括選擇、交叉和變異等遺傳操作。GA算法已被廣泛用于函數(shù)優(yōu)化、機器學(xué)習(xí)、智能控制、模式識別等許多領(lǐng)域。
遺傳算法和粒子群優(yōu)化算法各有自身的優(yōu)勢和某些不足,許多學(xué)者結(jié)合兩者的優(yōu)勢做了大量研究工作[11-12],本文采用文獻(xiàn)[12]中提出的HPSOCS算法對SVM參數(shù)進(jìn)行優(yōu)化。在HPSOCS算法中,將交叉和選擇操作引用到PSO算法中,構(gòu)造一種結(jié)合PSO和GA的混合優(yōu)化算法。
利用SVM進(jìn)行訓(xùn)練測試時,核函數(shù)參數(shù)g和懲罰因子c的選取對模型的泛化能力影響較大。目前常用的SVM 參數(shù)尋優(yōu)方法為基于交叉驗證(Cross Validation)下的網(wǎng)格搜索法(grid search)。本文將基于粒子群優(yōu)化和遺傳算法的混合算法與支持向量機結(jié)合,對其參數(shù)進(jìn)行優(yōu)化。采用默認(rèn)的RBF核函數(shù),動態(tài)設(shè)置參數(shù)c和參數(shù)g(RBF核函數(shù)中的方差),分別作為粒子的位置坐標(biāo)。適應(yīng)度函數(shù)為支持向量機對樣本數(shù)據(jù)訓(xùn)練的分類準(zhǔn)確率,即在每一次迭代過程中,通過更新參數(shù)計算分類準(zhǔn)確率,即構(gòu)造出基于混合算法的支持向量機。
改進(jìn)的支持向量機算法流程如圖1。
圖1 HPSOCS-SVM算法流程
本文研究數(shù)據(jù)來自廣州某環(huán)境監(jiān)測技術(shù)公司提供的山東省菏澤市10個水質(zhì)自動監(jiān)測站的監(jiān)測數(shù)據(jù),采樣時間為2018年4月6日至4月27日。根據(jù)GB 3838—2002《地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)》,本次評價將溶解氧DO、高錳酸鹽、化學(xué)需氧量COD、氨氮NH3-N、總磷TP納入評價體系,依據(jù)標(biāo)準(zhǔn)進(jìn)行水質(zhì)評價分級,如表1。
表1 地表水環(huán)境質(zhì)量分級標(biāo)準(zhǔn) 單位:mg/L
先對原數(shù)據(jù)進(jìn)行Z-score標(biāo)準(zhǔn)化后,剔除z分?jǐn)?shù)大于3的異常數(shù)據(jù),再用Matlab對數(shù)據(jù)進(jìn)行mapminmax歸一化處理,消除污染物量綱及濃度不同帶來的影響,從而得到最終的實驗數(shù)據(jù)。
本文從預(yù)處理后的數(shù)據(jù)中抽取729作為訓(xùn)練集,剩余131作為測試集。將訓(xùn)練集代入支持向量機中訓(xùn)練并用混合算法優(yōu)化參數(shù),得到分類準(zhǔn)確率最高的參數(shù),模型參數(shù)優(yōu)化選擇。由于該SVM 模型屬于非線性分類,需要確定懲罰因子c 和核參數(shù)g。文中HPSOCS-SVM模型參數(shù)初始化為c和核參數(shù)g的HPSOCS搜索區(qū)間范圍分別設(shè)為[0.1,100]和[0.1,10];種群規(guī)模20;最大迭代次數(shù)為200;c1=1.5,c2=1.7。支持向量機和HPSOCS算法均采用MATLAB編程計算。最終迭代尋優(yōu)得到最優(yōu)參數(shù)為:c=173.0571,g=1.2779。
將參數(shù)優(yōu)化后的HPSOCS-SVM算法應(yīng)用于測試集,得到結(jié)果如圖2(a),其分類準(zhǔn)確率達(dá)到95.3%,說明其準(zhǔn)確率高,能夠應(yīng)用于水質(zhì)評價中。
為了比較HPSOCS-SVM算法的優(yōu)劣,在相同數(shù)據(jù)集下,本文還分別建立了SVM模型、BP神經(jīng)網(wǎng)絡(luò)模型和PSO-SVM模型,并對求解結(jié)果進(jìn)行比較。比較結(jié)果分別如圖2(a),圖2(b),圖3(a),圖3(b),執(zhí)行效率比較如表2。
圖2 HPSOCS-SVM和PSO-SVM分類結(jié)果
圖3 傳統(tǒng)SVM分類和BP神經(jīng)網(wǎng)絡(luò)分類結(jié)果
表2 不同模型分類準(zhǔn)確率與效率比較
由圖2,圖3及表2對比可看出,優(yōu)化效果HPSOCS-SVM算法最好,其次是PSO-SVM算法,BP神經(jīng)網(wǎng)絡(luò)介于PSO-SVM與SVM之間;而執(zhí)行效率HPSOCS-SVM算法耗時明顯增大,當(dāng)數(shù)據(jù)量較大時,HPSOCS-SVM算法耗時明顯增大。利用BP神經(jīng)網(wǎng)絡(luò)建立的水質(zhì)分類模型要求大量的數(shù)據(jù)進(jìn)行訓(xùn)練才能提高模型分類的準(zhǔn)確度,而水質(zhì)評價三級的數(shù)據(jù)太少而導(dǎo)致三級分類準(zhǔn)確率低,且神經(jīng)網(wǎng)絡(luò)也存在容易陷入局部極小點、權(quán)重和閥值的選取比較困難等問題。
HPSOCS-SVM模型相比于PSO-SVM模型,充分利用了粒子群優(yōu)化和遺傳算法的優(yōu)勢,混合算法具有更強的參數(shù)尋優(yōu)能力,同時克服了SVM對于參數(shù)選擇的盲目性,得到了更加精確的模型參數(shù),使得分類結(jié)果更加精確,說明HPSOCS混合算法優(yōu)化SVM參數(shù)的有效性,能夠應(yīng)用于水質(zhì)評價中。
(1)以山東省菏澤市2018年4月6日至4月27日間860組水質(zhì)監(jiān)測數(shù)據(jù)為實驗對象,基于PSO和GA的混合算法(HPSOCS)優(yōu)化支持向量機模型參數(shù)并構(gòu)建了水質(zhì)評價模型,與PSO、BP神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)的SVM算法相對比,該方法具有更高的水質(zhì)分類準(zhǔn)確率。
(2)由于HPSOCS優(yōu)化支持向量機收斂準(zhǔn)確率高、效果好,具有較好的推廣性,可廣泛應(yīng)用于水體質(zhì)量的評估,為水資源的防控治理提供科學(xué)的理論依據(jù)。