胡 星 孔 舒 趙曉旭 李曉霜 李 偉
加權優序法和BP神經網絡在水質評價中的應用比較
胡 星 孔 舒 趙曉旭 李曉霜 李 偉
1.加權優序法的基本原理
加權優序法是將有限個可行解按照加權優序數進行排序,根據加權優序數的大小順序選擇滿意方案的多目標決策方法。
在使用加權優序法進行水質評價時,將水質標準、評價樣本作為一個整體,計算出各評價指標的優序數,然后計算出各樣本的加權優序數(各指標的權重系數可以根據專家評分、層次分析法等方法確定),根據優序數的大小順序確定水質的相對優劣,根據評價樣本和水質標準之間優序數的相對大小確定評價樣本的水質的等級。
2.加權優序法的步驟
(1)構造多目標決策模型
根據實際問題,設有方案Xi(i=1,2,3,……,n),每個方案對應k個目標(k=1,2,3,……,m),由此構造多目標決策模型。
(2)確定各方案的優序關系
對于兩個方案Xi,Xj,定義其優序關系為:

方案Xi與Xj相比時的優序數aijk(即Xi的第k個目標優于其他方案的個數,函數值相同時按0.5計算)為:

(3)計算加權優序數
考慮到各個目標存在重要性差異,往往需要對各個目標賦予不同的權重ωk,并假設,則加權優序數可按下式計算:

(4)將加權優序數排序
按從大到小的順序將加權優序數排序,根據加權優序數的大小順序可以選擇出滿意的方案。其計算過程如表1所示。
1.人工神經網絡介紹
人工神經網絡的研究始于20世紀40年代,它是人工智能研究的一個重要領域。ANN是模擬人腦神經網絡結構與功能特征的一種非線性信息并行處理系統,是由大量的處理單元(人工神經元)相互連接而成的網絡。它不需要任何先驗公式,就能從已有數據中自動地歸納規則,獲得這些數據的內在規律,具有自學習性、自組織性、自適應性和很強的非線性映射能力,特別適合于因果關系復雜的非確定性推理、判斷、識別和分類等問題。
在眾多人工神經網絡模型中,應用最廣泛的是基于誤差反向傳播算法的前饋型網絡——BP網絡。
2.BP神經網絡原理
BP網絡是一種基于誤差反向傳播算法的前饋網絡,是最常用的ANN模型之一。BP網絡一般由輸入層、1個或多個隱含層、輸出層組成(本文以只有1個隱含層的BP網絡為例),每層有若干神經元(節點),各層之間的神經元采用全連接的方式,通過權重(ωij)和闕值(θj)連接,同層的神經元之間沒有連接。
BP網絡的訓練過程由信息的正向傳播過程和誤差的反向傳播過程構成(圖1)。信息進入輸入層,傳遞到隱含層,經過處理到達輸出層,再由輸出層處理之后產生輸出結果,此為信息的正向傳播過程。而實際輸出結果與期望輸出結果之間必然存在誤差,因此將轉入誤差的反向傳播過程,將誤差值由輸出層向輸入層逐層反向傳播,沿途不斷修正各層的連接權值和各層神經元的闕值,如此反復,使誤差最小化。

圖1 BP網絡示意圖
3.BP網絡的實現步驟
(1)數據預處理(歸一化)。網絡的輸入具有不同的量綱,取值量級可能存在較大的差別,同時受激活函數值域的限制,網絡輸出需要限定在某一范圍內。因此就需要在網絡訓練前對輸入、輸出數據進行預處理,也稱為歸一化處理。歸一化處理的公式很多,直到現在還沒有一個非常切實可行的統一的方法。常用的有最值法,和值法等。谷曉平等提出了改進的歸一化公式,式中α和 β為歸一化系數。

表1 加權優序法計算表
(2)隨機給定初始權重和闕值。網絡的初始權重一般在[-1,1]之間隨機產生。
(3)訓練樣本。訓練樣本的信息由輸入層傳遞到隱含層,經過處理再傳遞到輸出層,有輸出層產生實際輸出結果。
(4)計算誤差并調整權重和闕值。BP神經網絡的實際輸出和期望輸出存在著誤差,網絡訓練的目標是使訓練樣本的誤差最小,將產生的誤差由輸出層向輸入層逐層反向傳播,沿途不斷修正權值和闕值,如此反復,使誤差達到最小化。
(5)將訓練所得的權值和閾值保存起來,以便對預測樣本的輸入進行處理,從而計算出預測樣本的網絡輸出。
在泰安市渿河的龍潭水庫、普照橋、泰山大橋、東岳大街四個斷面和上游龍潭水庫附近的石峽谷取得水樣評價樣本,選取氨氮、總氮、總磷、高錳酸鉀指數4個指標,分別利用加權優序法和BP神經網絡對其進行水質評價。
1.加權優序法的應用
表2是國家地表水質量標準和龍潭水庫、普照橋、泰山大橋、東岳大街、石峽谷的評價樣本指標。

表2 國家地表水質量標準及評價樣本指標表
在利用加權優序法進行水質評價時,首先要確定權重,一般認為某一指標的污染程度越高,其相應的權重越大,因此可以根據評價樣本各指標平均值所對應的等級來確定權重。考慮下列兩種確定權重的方法:
(1)比值權重。將平均值為I級的水質指標的初始權重設定為1,水質等級高1級,權重按等比例增加。如水質標準共有m級,則第i級的初始權重為ai(i=1,2,…,m),a>1為比例因子,一般取2。由評價樣本各指標平均值的等級來確定其初始權重,然后歸一化得到比值權重。
對于表2的數據,各指標的初始權重為:4,32,4,4。歸一化后得到的比值權重 W1=(0.0909,0.7273,0.0909,0.0909)。
(2)改進的層次分析法確定權重。首先按照評價樣本各指標平均值等級構造三標度比較矩陣.平均值等級高的指標較等級低的指標重要.得到比較矩陣見表3。

表3 三標度比較矩陣表
計算得到權重向量W2=0.0996,0.7012,0.0996,0.0996)。
在水質評價中,將每一個評價樣本與水質標準作為一個整體,計算出其加權優序數,根據排序確定出水質等級。以石峽谷水質樣本為例,將5個水質標準與石峽谷水質樣本作為一個整體,計算出各樣本的指標的優序數,然后計算出不同權重下的加權優序數并排序,見表4。

表4 加權優序法計算表
用同樣的方法確定出其他四個樣本的水質等級,見表5。

表5 加權優序法水質評價結果表
從結果可以看出,比值權重和AHP權重的結果一致。
2.BP神經網絡的應用
水質標準及評價樣本見表2。使用MATLAB軟件完成下述過程。
(1)BP網絡模型的建立和數據預處理
根據表2的水質標準及評價樣本可以確定,BP網絡模型的輸入層有4個神經元,即4個評價指標;一個隱含層,根據“2N+1”的經驗,確定隱含層有9個神經元;輸出層有5個神經元,即5個水質等級(Ⅰ~Ⅴ)。利用MATLAB神經網絡工具箱中的Newff函數生成BP神經網絡,用logsig和purelin函數作為各層神經元的傳遞函數,網絡訓練函數選擇trainlm函數。
BP網絡模型建立完成之后,還需要對樣本數據進行預處理,使用MATLAB工具箱中的PREMNMX對評價樣本集做預處理。
(2)BP網絡模型的訓練
網絡模型建立完成并對數據預處理后,利用函數train對生成的模型就行訓練,網絡訓練參數如下:
net.trainParam.show=20;
net.trainParam.lr=0.05;
net.trainParam.epochs=2000;
net.trainParam.goal=0.0001
網絡訓練停止時,收斂于一穩定值。
(3)結果輸出
將待測樣本輸入到訓練好的網絡中,讓確定好的網絡模型對這些樣本進行識別判定,輸出結果后評價各樣本的水質等級石峽谷水質為Ⅳ類,龍潭水庫、普照橋、泰山大橋水質為Ⅴ類,東岳大街水質為劣Ⅴ類。
從加權優序法和BP神經網絡法的評價結果看,二者的評價結果基本一致。加權優序法用于水質評價是可行的,而且其思路簡單、清晰、明確,計算過程并不復雜,相較于其他方法在計算方面具有明顯的優勢,其實用性較強■
(作者單位:山東省濟寧市水文局272000)