張 瑩,謝仕義,鄧偉彬,彭發(fā)定,余昱昕, 張培珍
(廣東海洋大學(xué) a.數(shù)學(xué)與計算機學(xué)院;b.電子與信息工程學(xué)院,湛江 524088)
隨著我國經(jīng)濟社會的迅速發(fā)展和城市化進程的不斷加快,水資源短缺、水體污染嚴重已成為制約經(jīng)濟社會可持續(xù)發(fā)展和人民生活水平提高的重要因素。《2017年中國海洋生態(tài)環(huán)境狀況公報》顯示,我國海洋生態(tài)環(huán)境狀況不容樂觀,近岸局部海域污染依然嚴重。全國417個監(jiān)測點位中,一類海水比例為34.5%;二類為33.3%;三類為10.1%;四類為6.5%;劣四類為15.6%,加強對所屬海域的環(huán)境監(jiān)測和保護工作迫在眉睫。
海洋水質(zhì)評價的內(nèi)容就是根據(jù)海水水體的主要物質(zhì)成分及其含量,分析各類水質(zhì)的時空分布狀況[1-2]。已有的評價方法主要有單因子指數(shù)法[3-4]、綜合指數(shù)法[4-6]、分級評價法[7-9]等,以及模糊理論、灰色系統(tǒng)理論、投影尋蹤及神經(jīng)網(wǎng)絡(luò)等方法[9-11]。相比這些傳統(tǒng)的統(tǒng)計學(xué)、模式識別領(lǐng)域的算法,大數(shù)據(jù)下的機器學(xué)習(xí)大大擴充了樣本的數(shù)量,使很多問題的分類都有豐富的樣本作為支撐[12],能夠有效解決這種多維因子組成系統(tǒng)的評價問題。因此,本研究擬利用數(shù)據(jù)量豐富的樣本,選擇適當(dāng)?shù)挠糜诙嗵卣鞫喾诸悊栴}的機器學(xué)習(xí)算法,構(gòu)建適用于海水水質(zhì)的綜合評價理論模型。
按照GB3097-1997《國家海水水質(zhì)標準》[13](表1),建立40×104個站位組成,每個站位包含13個水質(zhì)指標信息的理論假設(shè)樣本。
決策樹是最簡單的機器學(xué)習(xí)算法,它易于實現(xiàn),高度可解釋,完全符合人類的直覺思維。簡單地說,決策樹是二叉或多叉樹,它判斷數(shù)據(jù)的屬性并獲得分類或回歸結(jié)果[14]。決策樹是支持多類分類問題的判別模型。在預(yù)測中,某個屬性值(特征向量的某個組成部分)用于樹的內(nèi)部節(jié)點,根據(jù)判斷結(jié)果確定要進入哪個分支節(jié)點,直到到達葉子節(jié)點,并獲得分類或回歸結(jié)果。決策樹的這些規(guī)則是通過機器訓(xùn)練而不是人為獲得的。
表1 國家海水水質(zhì)標準
在訓(xùn)練時,我們需要找到一個拆分規(guī)則,將訓(xùn)練樣本集分成兩個子集。通過一種衡量標準,來計算通過不同特征進行分支選擇后的分類情況,找出來最好的那個當(dāng)成根節(jié)點,以此類推。對于分類問題,確保左右子樹的樣本在分裂后盡可能純,即它們的樣本盡可能接近某個類。為此,定義一個不純的指標:當(dāng)樣本屬于某一類時,不純度為0;當(dāng)樣品均勻的屬于不同類時,Gini不純度最大。
使用樣本集中每種類型樣本的概率值構(gòu)建雜質(zhì)指標。因此,首先計算每個類的出現(xiàn)概率,設(shè)訓(xùn)練樣本集中總樣本數(shù)為N,其中第i類樣本數(shù)為Ni,則每個類的出現(xiàn)概率可表示為式(1)。
pi=Ni/Ni=1,2,…,n
(1)
樣本集的熵不純度[15]可表示為式(2)。
(2)
熵是表示隨機變量不確定性的度量。當(dāng)樣本僅屬于一個類時,熵是最小的,當(dāng)樣本在所有類中均勻分布時,熵是最大的。所以找到一個分裂讓熵最小,即為最佳分裂。
樣本集的Gini不純度[15]可表示為式(3)。
i=1,2,…,n
(3)
當(dāng)樣本屬于某一類時,Gini不純度的值最小,最小值為0;當(dāng)樣品均勻分布時Gini不純度值最大。
樣本集的不純度[15]可表示為式4)。
E(D)=1-max(pi)i=1,2,…,n
(4)
以上定義的是樣本集的混亂程度。需要評估的是分裂的質(zhì)量,分割規(guī)則將節(jié)點的訓(xùn)練樣本集分成兩個左右子集。分裂目標是將數(shù)據(jù)分成兩部分,兩個子集盡可能純。因此,計算左右子集的不純度之和為分裂的不純度。實際上,求和需要加權(quán)以反映兩側(cè)的訓(xùn)練樣本的數(shù)量。
設(shè)G(DL)是左子集的不純度NR,NL是左子集的樣本數(shù),G(Dn)是右子集的不純度,NR是右子集的樣本數(shù),N是樣本總數(shù),得到的分裂不純度計算公式為[16]式5)。
(5)
如果采用Gini不純度作為劃分標準,代入式(5)得式(6)。
i=1,2,…,n
(6)
式(6)值越小,樣本越純。要查找最佳分割,需要在將樣本集拆分后計算此值,并在值為最小值時找到相應(yīng)的分割,這是最好的分裂。
2.1.2 貝葉斯
貝葉斯分類器是可以處理多分類問題的生成模型,并且是非線性模型。樸素貝葉斯分類器基于貝葉斯分類方法,數(shù)學(xué)基礎(chǔ)是貝葉斯定理,它描述了統(tǒng)計條件概率之間的關(guān)系。貝葉斯分類器的核心就是將樣本判定為后驗概率最大的類[17]。
已知樣本的特征向量為x={a1,a2,…,an},類別標簽為L={y1,y2,…,yn},根據(jù)貝葉斯公式,樣本屬于每個類的條件概率(后驗概率)為[18]式(7)。
i=1,2,…,m
(7)
對于所有的分類標簽y1、y2、…、ym,其P(x)都是相同的,在比較P(yi|x),…,P(y4|x)的時候我們可以忽略P(x)這個參數(shù)。所以分類器的判別函數(shù)為式(8)。
argmaxyP(x|yi)P(yi)
(8)
對于給定的觀測數(shù)據(jù),一個猜測是好是壞 ,取決于“這個猜測本身獨立的可能性大小即先驗概率”和“這個猜測生成我們觀測到的數(shù)據(jù)的可能性大小”。
假設(shè)樣本服從高斯分布,在訓(xùn)練期間確定先驗概率分布的參數(shù),通常使用最大似然估計,即最大化對數(shù)似然函數(shù)。
2.1.3 支持向量機
支持向量機(SVM)是非常強大和靈活的有監(jiān)督學(xué)習(xí)算法,可用于分類和回歸。SVM的目標是通過使用分界線(2D空間中的線或曲線)或流形體(多維空間中的曲線,曲面等)來分離各種類型的數(shù)據(jù),得到的分類超平面不僅可以正確地對每個樣本進行分類,并且還要使得每一類樣本中距離超平面最近的樣本到分類線的距離盡可能遠,支持向量機實際上是邊界最大化評估器[19]。
最大間隔和最佳超平面僅完全由落在邊界上的采樣點確定。這樣的采樣點稱為支持向量[20],其余的非支持向量采樣點對確定分類超平面無效,找到最優(yōu)超平面等同于確定支持向量,并且由支持向量確定的線性分類器稱為線性支持向量機。
設(shè)訓(xùn)練樣本的特征向量為xi,i=1、2、…、n,類別標簽為y∈{+1,-1},則分類超平面方程[21]可表示為:
(w·x)+b=0
(9)
其中:w為權(quán)重向量;b為偏置項,是一個標量。為了能正確分類并且有一定間隔,要求分類超平面方程滿足以下約束:
yi[(w·xi)+b]≥1i=1,2,…,n
(10)
(11)
最后通過構(gòu)造拉格朗日子乘函數(shù)得到最優(yōu)分類函數(shù)為:
(12)
其中:sgn為符號函數(shù);αi、b為確定最優(yōu)劃分超平面的參數(shù);(xix)為兩個向量的點積。
創(chuàng)建一個簡單的支持向量機線性分類器,如圖1所示。支持向量機的優(yōu)化目標就是找到一條線,使得離該線最近的點能夠最遠,此外藍色標記的點為擬合數(shù)據(jù)的關(guān)鍵支持點,稱之為支持向量。分類器可以成功擬合的關(guān)鍵因素是這些支持向量的位置,遠離邊界的數(shù)據(jù)點對分類器完全沒有影響。
對于線性不可分割的情況,支持向量機的主要思想是通過一個二元函數(shù)k(x,y)即核函數(shù)將特征向量映射到高維特征向量空間,并在特征空間中構(gòu)造最優(yōu)分類面,使得原來線性不可分的數(shù)據(jù)在映射之后變得線性可分。
使用核函數(shù)k后,非線性支持向量機分類器的最終分類決策函數(shù)為:
(13)
常用的核函數(shù)見表2。
圖1 支持向量機線性分類器
表2 常用核函數(shù)
除了選擇核函數(shù)外,非線性支持向量機模型還需要為參數(shù)C及gamma設(shè)置恰當(dāng)?shù)闹?。參?shù)C越大則精度越高,反之則分類邊界線容錯率更高,泛化能力很強。參數(shù)gamma是多項式核、徑向基函數(shù)核及sigmoid核的參數(shù)。參數(shù)對分類器的性能至關(guān)重要,為SVM獲取最優(yōu)的參數(shù)使非線性支持向量機模型能對數(shù)據(jù)有更好的擬合。
水質(zhì)評價問題中,G=4,分別代表四類水質(zhì);每類水質(zhì)100 000個樣本,即n1=n2=n3=n4=100 000,N=400 000,m=13。
3.1.1 數(shù)據(jù)讀取
將13個海水水質(zhì)評價指標作為樣本特征x,將四種水質(zhì)類別作為分類標簽y,最終機器學(xué)習(xí)是通過樣本特征x得出具體水質(zhì)分類y。
3.1.2 數(shù)據(jù)切分
先把數(shù)據(jù)集x、y按相同的隨機方式進行洗牌,然后把數(shù)據(jù)集切分成訓(xùn)練集和測試集。訓(xùn)練集占80%共32×104個數(shù)據(jù),設(shè)x_train為訓(xùn)練集的特征屬性,y_train為訓(xùn)練集的分類標簽;測試集占20%共8×104個數(shù)據(jù),設(shè)x_test為測試集的特征屬性,y_test為測試集的分類標簽。
3.1.3 數(shù)據(jù)標準化
由于水質(zhì)指標的量綱不相等,因此必須對數(shù)據(jù)進行標準化以消除量綱影響, 將原始數(shù)據(jù)集x_train和x_test歸一化為均值為0、方差1的數(shù)據(jù)集,使得在最開始的時候,各個特征之間的重要程度的是一樣。標準化公式為式(14)。
(14)
其中:μ、σ分別為原始數(shù)據(jù)集的均值和方差。
3.1.4 機器學(xué)習(xí)模型
1)決策樹:通過預(yù)剪枝策略指定決策樹模型的最大葉子節(jié)點為13,以此避免決策樹過擬合,切分標準為熵不純度。構(gòu)建好模型就可以對x_train、y_train訓(xùn)練集數(shù)據(jù)進行訓(xùn)練。決策樹的每一個節(jié)點中都有分類特征的判斷,熵不純度entropy,樣本數(shù)量samples及分類的數(shù)據(jù)values。其中熵值為2.0,樣本數(shù)量為320 000,數(shù)據(jù)分為4類,對應(yīng)4類水質(zhì)??梢缘玫?jīng)Q策樹每一次進行分裂后熵值必定會較上一層小,數(shù)據(jù)變得更純凈。
2)貝葉斯:構(gòu)建高斯樸素貝葉斯分類器。利用x_train、y_train訓(xùn)練集32×104個數(shù)據(jù)對高斯樸素貝葉斯分類器模型進行訓(xùn)練。查看高斯樸素分類器的P(yn)有:P(y1)=0.24982813,P(y2)=0.24962813,P(y3)=0.25004668,P(y4)=0.25049688。
3)支持向量機:此次數(shù)據(jù)分類為多特征多分類問題,而標準的支持向量機只支持二分類問題,因此,構(gòu)建使用徑向基函數(shù)核的非線性支持向量機模型來解決數(shù)據(jù)線性不可分問題。選擇最佳參數(shù)時,需要確定的參數(shù)有懲罰參數(shù)C及函數(shù)核參數(shù)gamma。先設(shè)置好參數(shù)列表,通過網(wǎng)格搜索找出最佳參數(shù),如果最佳參數(shù)落在網(wǎng)格邊緣則繼續(xù)調(diào)整參數(shù)列表,直至最佳參數(shù)落在網(wǎng)格中間,使用最佳參數(shù)能使非線性支持向量機模型能對數(shù)據(jù)有更好的擬合。通過網(wǎng)格搜索得出的最佳參數(shù)為:C∶107 000,gamma∶0.001為SVM獲取最優(yōu)的參數(shù),使非線性支持向量機模型能對數(shù)據(jù)有更好地擬合。
圖2 決策樹模型的混淆矩陣
圖3 高斯樸素貝葉斯模型的混淆矩陣
圖4 非線性支持向量機模型的混淆矩陣
3.1.5 評估模型準確性
分別利用已訓(xùn)練好的決策樹模型,高斯樸素貝葉斯模型和非線性支持向量機模型對測試數(shù)據(jù)集的x_test進行分類預(yù)測得出分類結(jié)果y_pred。然后用x_test及y_test測試數(shù)據(jù)集對該模型進行精度評估,得出決策樹模型的精度為98.358 75%,高斯樸素貝葉斯模型的精度為99.295%,非線性支持向量機模型的精度為99.542 5%。
利用y_test和y_pred畫出混淆矩陣,圖2為決策樹模型混淆矩陣,圖3為高斯樸素貝葉斯模型混淆矩陣,圖4為非線性支持向量機模型混淆矩陣,X軸為預(yù)測值的水質(zhì)分類,Y軸為真實值的水質(zhì)分類??梢钥闯鰶Q策樹模型容易把第三類水質(zhì)分類成第二類和第四類。第四類水質(zhì)也較容易分類成第三類水質(zhì)。高斯樸素貝葉斯分類模型第四類水質(zhì)較容易分類成第三類水質(zhì)。非線性支持向量機模型效果最佳。
1)本研究基于大數(shù)據(jù)與機器學(xué)習(xí)理論,按照GB3097-1997《海水水質(zhì)標準》建立了一個由400 000站位水質(zhì)信息組成的理論假設(shè)大樣本,通過三種適用于多特征多分類問題的機器學(xué)習(xí)算法的應(yīng)用,構(gòu)建了適用于海水水質(zhì)的綜合評價理論模型。
2)適用于海洋水質(zhì)評價問題的決策樹算法,是通過預(yù)剪枝策略指定了決策樹模型的最大葉子節(jié)點數(shù)量,其切分標準為熵不純度。適用于海洋水質(zhì)評價問題的貝葉斯算法,選用了高斯樸素貝葉斯分類器模型。適用于海洋水質(zhì)評價問題的支持向量機算法,是使用徑向基函數(shù)核的非線性支持向量機模型。
3)通過8萬個站位測試樣本的驗證,決策樹模型的精度為98.358 75%,貝葉斯模型的精度為99.295%,支持向量機模型的精度為99.542 5%,均可作海洋水質(zhì)評價問題的有效方法,其中的支持向量機模型效果最好。