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