年福耿
(海軍士官學(xué)校,安徽 蚌埠233012)
隨著我國經(jīng)濟快速發(fā)展,水資源短缺和水資源污染嚴重威脅到人們的生產(chǎn)和生活,對水資源進行快速正確的分類評價,已經(jīng)成為評估水質(zhì)污染程度的一項重要工作。常見的評價方法有綜合評價法、神經(jīng)網(wǎng)絡(luò)法等,每種方法有各自優(yōu)點和不足,傳統(tǒng)方法雖然能反映水質(zhì)的部分情況,但難以描述評價因子與水質(zhì)等級之間的復(fù)雜的關(guān)系,通用性較差;神經(jīng)網(wǎng)絡(luò)有較強的處理能力,但是存在一些先天的缺陷,比如網(wǎng)絡(luò)結(jié)構(gòu)難以確定,泛化能力差等,所以要在此基礎(chǔ)上分析研究出適用于水質(zhì)的分類評價的模型及方案。
基于水質(zhì)監(jiān)測網(wǎng)站上的監(jiān)測數(shù)據(jù),數(shù)據(jù)集一共包涵376 條已分類監(jiān)測數(shù)據(jù),10 個變量,其中變量水質(zhì)類別為因變量,部分數(shù)據(jù)如表1 所示。

表1 水質(zhì)監(jiān)測網(wǎng)站上的監(jiān)測數(shù)據(jù)
因為監(jiān)測數(shù)據(jù)中有的站點存在儀器故障現(xiàn)象,存在導(dǎo)致監(jiān)測數(shù)據(jù)缺失,導(dǎo)致水質(zhì)類別不準確,所以先對數(shù)據(jù)進行預(yù)處理,剔除無效數(shù)據(jù). 通過刪除缺失數(shù)據(jù)處理,已分類監(jiān)測數(shù)據(jù)還有322 條。
通過第一部刪除缺失數(shù)據(jù)后,數(shù)據(jù)中的站點情況、斷面屬性這兩個變量,對水質(zhì)分類影響不大,所以進行剔除,斷面名稱及測量時間作為數(shù)據(jù)對應(yīng)的屬性,水質(zhì)類別的確定重點根據(jù)pH值、溶解氧、氨氮、高錳酸鹽指數(shù)四個屬性進行確定。
由于采集數(shù)據(jù)存在綱量的差異,為了提高后續(xù)實驗訓(xùn)練的速度和預(yù)測的精度,對處理好的322 組訓(xùn)練測試數(shù)據(jù),用下面的公式進行歸一化處理,使得處理后的數(shù)據(jù)分布在[0,1]之間。

支持向量機(簡稱SVM)是基于統(tǒng)計學(xué)理論,以結(jié)構(gòu)風(fēng)險最小化原理為基礎(chǔ)的一種新型機器學(xué)習(xí)方法,SVM方法廣泛應(yīng)用于統(tǒng)計分類、回歸預(yù)測等問題,可以較好逼近非線性復(fù)雜系統(tǒng),能夠有效解決過學(xué)習(xí)、維數(shù)災(zāi)難以及局部最小等問題,具有良好的泛化能力和分類性能,本文根據(jù)測試水樣物質(zhì)成分的含量,利用SVM方法構(gòu)建水質(zhì)分類模型,對水質(zhì)進行分類評價。


圖1 線性可分SVM 示意圖
為了使分類器的劃分超平面有最大間隔,并求解出模型中的參數(shù),則有:

在很多情況下,樣本空間并不是線性可分的,對于樣本空間中的非線性分類情況,可以使用非線性變換的方法,將它轉(zhuǎn)化成某個維的特征空間中的線性分類問題,在高維特征空間中學(xué)習(xí)線性支持向量機。

圖2 非線性可分SVM 示意圖
假設(shè)給定數(shù)據(jù)所得圖像如圖2 左圖所示,顯然我們沒法用一條直線將“·”和“+”分開,如果用一個橢圓,將會得到很好的效果,我們希望將這個非線性分類問題變換為線性問題,通過變換后的線性問題的方法求解原來的非線性問題,我們可以將圖2 左圖的橢圓變換成右圖中的直線,將非線性分類問題變換為線性分類問題。
因此,對于線性不可分的樣本集,可以通過引入核函數(shù)把輸入向量映射到高維的特征空間中,從而使樣本在特征空間內(nèi)線性可分,主要的非線性核函數(shù)如下:

通過預(yù)處理后的數(shù)據(jù)共322 組水質(zhì)數(shù)據(jù),挑選數(shù)據(jù)中的75%水質(zhì)樣本數(shù)據(jù)作為訓(xùn)練集,另外25%水質(zhì)樣本數(shù)據(jù)作為測試集。
采用多次實驗對比線性SVM和非線SVM在水質(zhì)分類上的準確率,實驗322 組數(shù)據(jù),使用Python 編程進行實驗,主要代碼如圖3 所示。

圖3 線性SVM 和非線性SVM 主要程序
線性SVM 模型經(jīng)過交叉驗證后,得到最佳懲罰系數(shù)C 為0.5,可得到SVM模型在訓(xùn)練集上的平均準確率只有83.3%,在測試集上的準確率為81.5%. 可見基于線性SVM的水質(zhì)分類效果一般。基于核函數(shù)的非線性SVM模型,經(jīng)過交叉驗證后,得到最佳懲罰系數(shù)C 為5,最佳的核函數(shù)為徑向基核函數(shù),模型在訓(xùn)練數(shù)據(jù)集上的平均正確率高達95.8%,而且在測試集的預(yù)測準確率也接近93.8%. 可見基于核技術(shù)的非線性SVM表現(xiàn)效果較好。利用81 組測試集的預(yù)測值和真實值畫出數(shù)據(jù)的線性SVM和非線性SVM混淆矩陣,如圖4 所示。

圖4 線性SVM 和非線性SVM 模型的混淆矩陣
進行對比分析,可發(fā)現(xiàn)兩種模型在Ⅴ類水質(zhì)上都分類的較好,線性SVM分類水質(zhì)時會把Ⅰ、Ⅱ、Ⅲ、Ⅳ類的少部分數(shù)據(jù)分類錯誤,容易提高一檔或者降低一檔,非線性SVM分類水質(zhì)時,準確率較高,但也存在會把Ⅰ、Ⅱ、Ⅲ、Ⅳ類的極少部分數(shù)據(jù)分類時會提高一檔或者降低一檔。通過實驗可以發(fā)現(xiàn),線性SVM模型在水質(zhì)分類上表現(xiàn)一般,不太適合水質(zhì)分類;基于RBF 核函數(shù)的非線性SVM在水質(zhì)分類研究上表現(xiàn)的較為理想,可進一步的推廣應(yīng)用。