彭越兮,徐蔚鴻,2,陳沅濤,馬宏華
PENG Yuexi1,XU Weihong1,2,CHEN Yuantao1,MAHonghua3
1.長沙理工大學 計算機與通信工程學院,長沙 410114
2.南京理工大學 計算機科學與工程學院,南京 210094
3.湖南省資興市科學技術局,湖南 郴州 423400
1.School of Computer&Communication Engineering,Changsha University of Science and Technology,Changsha 410114,China
2.School of Computer Science&Engineering,Nanjing University of Science&Technology,Nanjing 210094,China
3.Zixing Muncipal Bureau of Science and Technology of Hunan Province,Chenzhou,Hunan 423400,China
水質評價是通過對水體各項生物指標的檢測和調查,根據不同的目的使用一定的方法對水體質量的優劣作出清晰的定量描述。評價的目的是為了獲取水體的污染程度,并通過評價結果對水體劃分水質等級,為水體的科學管理和污染防治提供依據。在過去的幾十年中,在水質評價領域內已經有了許多研究工作[1-2],水質評價的方法主要有指數評價法、模糊綜合評價法、灰色評價法以及人工神經網絡評價法等,評價的方法由線性轉向非線性,主觀性轉向客觀性,這反映了水質數據評價中參數的不確定性。人工神經網絡(Artificial Neural Network,ANN)是一種處理復雜非線性問題的有效方法,近年來,隨著ANN的蓬勃發展,許多研究者將其應用于日常的水質評價中[3-4],并取得了不錯的效果。但是,ANN評價法也存在一些缺點,比如計算時間長、收斂慢、容易陷入局部最小值等。因此,許多研究者開發了使用諸如粒子群(Particle Swarm Optimization,PSO)算法優化ANN,以此改變ANN模型的性能[5-8]。T-S模糊神經網絡(Takagi-Sugeno Fuzzy Neural Network,TSFNN)是模糊邏輯與神經網絡的有機結合,可以處理具有強非線性或高度不確定的復雜問題[9-10]。此外,根據許多復雜基準函數的模擬結果表明,量子粒子群算法(Quantum-behaved Particle Swarm Optimization,QPSO)具有比基本PSO更好的全局搜索能力[11]。本文在QPSO的基礎上,針對基本QPSO算法不能自適應調整收縮擴張系數β的值,提出了一種自適應QPSO算法(Adaptive Quantum-behaved Particle Swarm Optimization,AQPSO),從而改進QPSO算法的性能。
利用PSO算法優化神經網絡進行水文方面的研究已有了不少成果,Gao等人利用PSO優化BP神經網絡進行水質的預測,提高了預測的精度[12]。Taormina通過利用新的多目標PSO算法來訓練河流水體模型,改進了以往利用PSO算法的神經網絡河流預測模型的泛化能力[13]。Cheng等人提出了利用QPSO-ANN模型來對水庫日常流量進行評估,實驗結果表明,該方法比基本ANN模型具有更好的評估精度[14]。因此,為了更為提高模糊神經網絡的泛化能力和計算效率,本文采用混合方法,耦合模糊神經網絡和AQPSO算法,提出利用AQPSO算法作為T-S模糊神經網絡的訓練算法以提高水質評價的效率。
粒子群算法是由Kennedy和Eberhart于1995年提出的一種新的進化算法。在PSO算法中,首先初始化一群隨機粒子,然后通過迭代找到最優解。在每一次迭代中,粒子會通過跟蹤個體最佳值Pi和全局最佳值Pg兩個極值來不斷更新自己的位置與速度。假設在一個D維的搜索空間中,種群由N個粒子構成,每個粒子代表D維中的一個位置,其中第i(i=1,2,…,N)個粒子所處的位置為Xi,其速度為Vi,粒子的個體最佳位置為Pi={pi1,pi2,…,piD},種群的全局最佳位置表示為Pg={pg1,pg2,…,pgD},粒子i的速度與位置更新公式表示為:

式中Vi(t),Xi(t)分別為粒子i在t時刻的速度與位置,c1,c2是學習因子,它們提供最優選擇的功能。r為(0,1)之間的某一隨機數。ω稱為慣性權重。
受到量子力學的啟發,2004年,Sun從量子力學的角度上提出了量子粒子群算法。QPSO認為粒子擁有量子行為,不能根據不確定性原理同時確定位置矢量和速度矢量的精確值,因此,在QPSO中的粒子沒有速度矢量,而是通過波函數ψ(x,t)來描述粒子的狀態,并通過求解薛定諤方程得到粒子在空間中的某一點出現的概率密度函數,最后再利用蒙特卡洛隨機模擬的方式得到粒子的位置方程:

其中u和φ均是在[0,1]內變化的隨機數,Pi(t)是粒子在迭代t次中的個體最佳位置,Pg(t)是t次迭代中整個群體的最佳位置。L的定義為:

其中,β為收縮擴張系數,N為粒子的總數目,D為粒子的維數,Pi是第i個粒子的個體最佳位置。最后得到的粒子位置方程為:

在QPSO算法中,算法無論是早熟收斂還是全局收斂,粒子群中的粒子都會出現聚集的現象,它們總是聚集在某一特定位置,或者某幾個特定位置。因此,影響算法收斂性能的一個重要因素就是它們的聚集度。假設在一個極小值尋優的優化問題中,得出下式:

其中,avgPi(t)是所有粒子個體極值的平均值,Pg(t)是當前粒子的全局極值。可以得出,0<g(t)≤1,當g(t)的值越大,粒子的聚集程度也會變大,而粒子的多樣性則會越小,反之,聚集程度越小,則多樣性越大。當g(t)=1時,粒子群中的所有粒子具有同一性,所有粒子將會聚集在一個點上。
收縮擴張系數β的選擇對于QPSO算法非常重要,它對整個算法的全局和局部搜索能力、收斂速度與精度都有著一定的影響。β的值越大越有利于全局搜索,此時算法的收斂速度快,但不易得到精確的解,β的值越小越有利于局部搜索,可以得到精確的解,但是算法的收斂速度慢[15]。傳統的QPSO中β的值一般按照下式取值:

其中,β0和βm分別為收縮擴張系數的初值和終值。對于大多數的問題來說,β的值從搜索開始的1.0到終值0.5時,QPSO算法具有較優的性能。
在算法初期階段,由于粒子的全局極值和粒子的歷史個體極值差距比較大,此時需要較大速度全局搜索,以便于迅速接近全局極值,故此時收縮擴張系數的值應當處在較大的位置。而在算法進化后期,在粒子歷史個體極值接近于全局極值后,則應減慢速度以加強算法的局部搜索能力,因此收縮擴張系數的值需適當減小,來提高算法的精確度。根據上述規律,本文提出了一種新的AQPSO算法,新算法將根據高斯曲線的規律和聚集度g(t)的變化,自適應調整收縮擴張系數β的值,新的β公式為:

從公式(8)、(10)可以看出,在算法迭代前期由于粒子聚集程度小,Pi和Pg的值差距會比較大,因此g(t)的值會比較小,β將處在一個較高的值。而到了迭代后期,粒子聚集度將變大,Pi和Pg的值差距會變得接近,g(t)的值會增大,所以β的值將會變小。
收縮擴張系數的變化情況如圖1所示。

圖1 收縮擴張系數的變化情況
T-S模糊神經網絡是一種自適應能力很強的模糊系統,該神經網絡不僅可以自動更新,而且還可以不斷地自己修正模糊子集的隸屬函數。用“if-then”規則形式來描述T-S神經網絡的模糊推理如下:

可以理解為在模糊規則Ri中,輸入量(if部分)部分是模糊的,而輸出部分(then部分)是根據模糊規則得到的確定值yi。可以看到,該模糊推理的輸出結果是由輸入的線性組合來表示的。其中和(j=1,2,…,k)分別是模糊系統中的模糊集和模糊系統參數,是第0個節點,它的輸入值為x0=1,它將會提供輸出部分中的常數項。
T-S模糊神經網絡一般分為四層,第一層是輸入層,將輸入信息量x=[x1,x2,…,xk]T傳輸進入下一層,該層的節點數與輸入參數的維數k相同。
第二層是模糊化層,該層的作用是計算各個輸入分量屬于各自語言變量值模糊集合的隸屬度,隸屬度函數一般采用高斯函數:

其中,是隸屬函數的中心,是隸屬函數的寬度。k是輸入參數的維數,n是模糊子集數。
第三層是模糊規則計算層,該層將各隸屬度進行模糊計算,計算出每條模糊規則的適應度,適應度計算采用連乘算子:

然后再對所有求得的適應度進行歸一化計算:

最后一層是輸出層,它會根據所計算的結果求出模糊神經網絡模型的最終輸出值:

為了獲得更好的水質評價精度,本文嘗試采用AQPSO算法對T-S模糊神經網絡進行參數選擇。在本文中,神經網絡的輸出層只有一個節點,為最后的水質評價值。如果輸入層和隱層的節點數分別為n和m,則T-S模糊神經網絡模型的結構為n-m-1。提出新模型的基本實現步驟描述如下:
(1)在 AQPSO算法中設置最大迭代次數T和種群粒子的數量N。將所有的數據分成訓練集和測試集。在進行處理前,把所有的數據進行歸一化,以確保評價結果的準確性。
(2)使用AQPSO算法對T-S模糊神經網絡進行參數選擇。將隸屬函數的中心值和寬度,以及模糊神經網絡的系數設置為AQPSO算法的初始位置。
(3)運行模型,并使用參數計算每個粒子的適應度。把這里的適應度設置為期望結果和輸出結果之間的均方誤差(Mean Square Error,MSE)。

其中和Yi分別代表期望結果和輸出結果,M是指所有樣本的和。
(4)運行每個粒子的個體極值Pi和全局極值Pg。根據公式(5)和(10)分別計算平均粒子個體最佳值mbest和收縮擴張系數β。
(5)計算每個訓練樣本的輸出值,直至達到最大迭代次數T或者最小訓練誤差。將訓練后的T-S模糊神經網絡參數應用于測試過程中。
水質的評價是根據所采集的水的樣本值通過一定數學模型計算所確定的水質等級,水質評價目的是為了能夠判斷出采樣水質量的等級,并以此為依據來給水源提供保護。分析水體水質的指標有很多項,綜合考慮水質監測數據的分析,主要選取以下六項指標作為評價參數:氨氮、溶解氧、化學需氧量、高猛酸鹽指數、總磷和總氮,各項指標數值對應水質等級如表1所示。

表1 地表水環境質量指標
模糊神經網絡的輸出結果所得的數值將規定在范圍[0,5]內,可以根據得到的數值將其評判為水質中的某一類。表2為水質分類的評判標準。

表2 水質分類評判標準
本文的實驗數據來源是湖南省資興市東江湖流域2002年到2013年的環保水文數據,從2002—2007年的水文數據中選取400組數據來進行訓練和測試,將其中350組數據作為神經網絡模型的訓練樣本,另50組數據作為測試樣本。在模型進行訓練和測試之后,最后將東江湖流域的滁口、東坪、白廊3個水文監測站點2008—2013年6年共24組的數據通過模型來進行水質評價。表3是其中一個站點中的5組數據。
為了驗證所提出的模型的有效性,對實驗中所有的神經網絡模型均使用相同的訓練和測試樣本,所有的神經網絡結構均為6-12-1。設置粒子種群的規模N為40,最大迭代次數T為300次,最小訓練誤差條件設置為:當MSE到達10-4時,停止迭代。算法均在Matlab R2014b軟件下實現結果。

表3 數據樣本
如表4和圖2所示,AQPSO-TSFNN模型比其他四種神經網絡模型的測試結果的MSE均要小,而且所用時間也要小于其他模型,通過訓練和測試的實驗可知,AQPSO-TSFNN模型的效率要大于其他四種神經網絡模型。

表4 不同模型的測試結果

圖2 樣本測試結果
把滁口、東坪、白廊3個水文監測站點的24組數據通過訓練和測試后的神經網絡模型進行水質評價,結果如表5~9所示,可以看到,AQPSO-TSFNN的水質評價結果與實際檢測的結果完全一致,而其他4個模型都出現了一定數量的評價誤差。上述實驗表明,對于水文站的水質評價,本文提出的AQPSO-TSFNN模型對比其他神經網絡模型有著顯著的改進,適合于做日常水質檢測的工作。而且還可以得出結論,東江湖流域的水質在多年里保持在一個較高的水準,政府部門對于水質的保護措施做得十分得當,非常適合旅游或者水產養殖等項目開發。
水質的評價一直是水文工作站的一項重要檢測項目,本文提出了一種新的AQPSO-TSFNN模型,該模型是基于新的自適應量子粒子群算法優化T-S模糊神經網絡的參數的模型,并且將模型應用于日常的水質評價中,以幫助水文工作站點可以更為效率地進行日常的水
文數據分析。通過將新模型應用到東江湖流域的水文站點進行實驗,結果表明,新的AQPSO-TSFNN比實驗中其他神經網絡模型的表現更具效率。因此,將新的AQPSO-TSFNN模型用于水文工作站中,可以幫助水文工作站更為效率地對當前水質進行評價,并作出處理手段。

表5TSFNN的評價結果

表6PSO-TSFNN的評價結果

表7 PSO-BP的評價結果

表8QPSO-TSFNN的評價結果

表9AQPSO-TSFNN的評價結果
參考文獻:
[1]Simeonov V,Stefanov S,Tsakovski S.Environmetrical treatment of water quality survey data from Yantra River,bulgaria[J].Microchimica Acta,2000,134(1):15-21.
[2]Lee H K,Oh K D,Park D H,et al.Fuzzy expert system to determine stream water quality classification from eco-logical information[J].Water Science&Technology,1997,36(12):199-206.
[3]Zhou Zhongshou,Xu Lizhong.The application of fuzzy neural network based on T-S model in water quality evaluation[C]//Proceedings of 2007 IEEE International Symposium on Industrial Electronics,Centro Cultural and Centro Social Caixanova-Vigo,2007.
[4]Yuan Honglin,Gong Ling.Forecasting the water quality index in Zaohe River based on BP neural network model[J].Journal of Safety and Environment,2013,13(2):106-110.
[5]Li Xuejun,Xu Jia,Zhu Erzhou,et al.A novel computation method for adaptive inertia weight of task scheduling algorithm[J].Journal of Computer Research and Development,2016,53(9):1990-1999.
[6]Li Zuoyong,Wang Jiayang,Guo Chun.A new method of BP network optimized based on particle swarm optimization and simulation test[J].Acta Electronica Sinica,2008,36(11):2224-2228.
[7]Jiang Jianguo,Ye Hua,Liu Huimin,et al.Particle swarm optimization method with combination of rapid information communication and local search[J].Journal of Harbin Engineering University,2015,36(5):687-691.
[8]Asadnia M,Chua L H C,Qin X S,et al.Improved particle swarm optimization based artificial neural network for rainfall-runoff modeling[J].Hydrol Eng,2014,19:1320-1329.
[9]He Chunmei.The performance and research on the learning algorithms of fuzzy neural network[D].Nanjing University of Science and Technology,2010.
[10]Lin L,Guo F,Xie X,et al.Novel adaptive hybrid rule network based on TS fuzzy rules using an improved quantum-behaved particle swarm optimization[J].Neurocomputing,2015,149:1003-1013.
[11]Fang W,Sun J,Ding Y,et al.A review of quantumbehaved particle swarm optimization[J].Iete Technical Review,2010,27(4):336-348.
[12]Gao Feng,Feng Minquan,Teng Sufen.Based on PSO optimized BP neural network of research on water quality prediction[J].Journal of Safety and Environment,2015,15(4):338-341.
[13]Taormina R.Neural network river forecasting with multiobjective fully informed particle swarm optimization[J].Journal of Hydroinformatics,2014,17(1):99-113.
[14]Cheng C T,Niu W J,Feng Z K,et al.Daily reservoir runoff forecasting method using artificial neural network based on quantum-behaved particle swarm optimization[J].Water,2015,7(8):4232-4246.
[15]Sun J,Xu W,Feng B.Adaptive parameter control for quantum-behaved particle swarm optimization on individual level[C]//IEEE International Conference on Systems,Man and Cybernetics,2005:3049-3054.