彭越兮,徐蔚鴻,2,陳沅濤,馬宏華
PENG Yuexi1,XU Weihong1,2,CHEN Yuantao1,MAHonghua3
1.長沙理工大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,長沙 410114
2.南京理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,南京 210094
3.湖南省資興市科學(xué)技術(shù)局,湖南 郴州 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
水質(zhì)評(píng)價(jià)是通過對(duì)水體各項(xiàng)生物指標(biāo)的檢測和調(diào)查,根據(jù)不同的目的使用一定的方法對(duì)水體質(zhì)量的優(yōu)劣作出清晰的定量描述。評(píng)價(jià)的目的是為了獲取水體的污染程度,并通過評(píng)價(jià)結(jié)果對(duì)水體劃分水質(zhì)等級(jí),為水體的科學(xué)管理和污染防治提供依據(jù)。在過去的幾十年中,在水質(zhì)評(píng)價(jià)領(lǐng)域內(nèi)已經(jīng)有了許多研究工作[1-2],水質(zhì)評(píng)價(jià)的方法主要有指數(shù)評(píng)價(jià)法、模糊綜合評(píng)價(jià)法、灰色評(píng)價(jià)法以及人工神經(jīng)網(wǎng)絡(luò)評(píng)價(jià)法等,評(píng)價(jià)的方法由線性轉(zhuǎn)向非線性,主觀性轉(zhuǎn)向客觀性,這反映了水質(zhì)數(shù)據(jù)評(píng)價(jià)中參數(shù)的不確定性。人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)是一種處理復(fù)雜非線性問題的有效方法,近年來,隨著ANN的蓬勃發(fā)展,許多研究者將其應(yīng)用于日常的水質(zhì)評(píng)價(jià)中[3-4],并取得了不錯(cuò)的效果。但是,ANN評(píng)價(jià)法也存在一些缺點(diǎn),比如計(jì)算時(shí)間長、收斂慢、容易陷入局部最小值等。因此,許多研究者開發(fā)了使用諸如粒子群(Particle Swarm Optimization,PSO)算法優(yōu)化ANN,以此改變ANN模型的性能[5-8]。T-S模糊神經(jīng)網(wǎng)絡(luò)(Takagi-Sugeno Fuzzy Neural Network,TSFNN)是模糊邏輯與神經(jīng)網(wǎng)絡(luò)的有機(jī)結(jié)合,可以處理具有強(qiáng)非線性或高度不確定的復(fù)雜問題[9-10]。此外,根據(jù)許多復(fù)雜基準(zhǔn)函數(shù)的模擬結(jié)果表明,量子粒子群算法(Quantum-behaved Particle Swarm Optimization,QPSO)具有比基本PSO更好的全局搜索能力[11]。本文在QPSO的基礎(chǔ)上,針對(duì)基本QPSO算法不能自適應(yīng)調(diào)整收縮擴(kuò)張系數(shù)β的值,提出了一種自適應(yīng)QPSO算法(Adaptive Quantum-behaved Particle Swarm Optimization,AQPSO),從而改進(jìn)QPSO算法的性能。
利用PSO算法優(yōu)化神經(jīng)網(wǎng)絡(luò)進(jìn)行水文方面的研究已有了不少成果,Gao等人利用PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)進(jìn)行水質(zhì)的預(yù)測,提高了預(yù)測的精度[12]。Taormina通過利用新的多目標(biāo)PSO算法來訓(xùn)練河流水體模型,改進(jìn)了以往利用PSO算法的神經(jīng)網(wǎng)絡(luò)河流預(yù)測模型的泛化能力[13]。Cheng等人提出了利用QPSO-ANN模型來對(duì)水庫日常流量進(jìn)行評(píng)估,實(shí)驗(yàn)結(jié)果表明,該方法比基本ANN模型具有更好的評(píng)估精度[14]。因此,為了更為提高模糊神經(jīng)網(wǎng)絡(luò)的泛化能力和計(jì)算效率,本文采用混合方法,耦合模糊神經(jīng)網(wǎng)絡(luò)和AQPSO算法,提出利用AQPSO算法作為T-S模糊神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法以提高水質(zhì)評(píng)價(jià)的效率。
粒子群算法是由Kennedy和Eberhart于1995年提出的一種新的進(jìn)化算法。在PSO算法中,首先初始化一群隨機(jī)粒子,然后通過迭代找到最優(yōu)解。在每一次迭代中,粒子會(huì)通過跟蹤個(gè)體最佳值Pi和全局最佳值Pg兩個(gè)極值來不斷更新自己的位置與速度。假設(shè)在一個(gè)D維的搜索空間中,種群由N個(gè)粒子構(gòu)成,每個(gè)粒子代表D維中的一個(gè)位置,其中第i(i=1,2,…,N)個(gè)粒子所處的位置為Xi,其速度為Vi,粒子的個(gè)體最佳位置為Pi={pi1,pi2,…,piD},種群的全局最佳位置表示為Pg={pg1,pg2,…,pgD},粒子i的速度與位置更新公式表示為:
式中Vi(t),Xi(t)分別為粒子i在t時(shí)刻的速度與位置,c1,c2是學(xué)習(xí)因子,它們提供最優(yōu)選擇的功能。r為(0,1)之間的某一隨機(jī)數(shù)。ω稱為慣性權(quán)重。
受到量子力學(xué)的啟發(fā),2004年,Sun從量子力學(xué)的角度上提出了量子粒子群算法。QPSO認(rèn)為粒子擁有量子行為,不能根據(jù)不確定性原理同時(shí)確定位置矢量和速度矢量的精確值,因此,在QPSO中的粒子沒有速度矢量,而是通過波函數(shù)ψ(x,t)來描述粒子的狀態(tài),并通過求解薛定諤方程得到粒子在空間中的某一點(diǎn)出現(xiàn)的概率密度函數(shù),最后再利用蒙特卡洛隨機(jī)模擬的方式得到粒子的位置方程:
其中u和φ均是在[0,1]內(nèi)變化的隨機(jī)數(shù),Pi(t)是粒子在迭代t次中的個(gè)體最佳位置,Pg(t)是t次迭代中整個(gè)群體的最佳位置。L的定義為:
其中,β為收縮擴(kuò)張系數(shù),N為粒子的總數(shù)目,D為粒子的維數(shù),Pi是第i個(gè)粒子的個(gè)體最佳位置。最后得到的粒子位置方程為:
在QPSO算法中,算法無論是早熟收斂還是全局收斂,粒子群中的粒子都會(huì)出現(xiàn)聚集的現(xiàn)象,它們總是聚集在某一特定位置,或者某幾個(gè)特定位置。因此,影響算法收斂性能的一個(gè)重要因素就是它們的聚集度。假設(shè)在一個(gè)極小值尋優(yōu)的優(yōu)化問題中,得出下式:
其中,avgPi(t)是所有粒子個(gè)體極值的平均值,Pg(t)是當(dāng)前粒子的全局極值??梢缘贸?,0<g(t)≤1,當(dāng)g(t)的值越大,粒子的聚集程度也會(huì)變大,而粒子的多樣性則會(huì)越小,反之,聚集程度越小,則多樣性越大。當(dāng)g(t)=1時(shí),粒子群中的所有粒子具有同一性,所有粒子將會(huì)聚集在一個(gè)點(diǎn)上。
收縮擴(kuò)張系數(shù)β的選擇對(duì)于QPSO算法非常重要,它對(duì)整個(gè)算法的全局和局部搜索能力、收斂速度與精度都有著一定的影響。β的值越大越有利于全局搜索,此時(shí)算法的收斂速度快,但不易得到精確的解,β的值越小越有利于局部搜索,可以得到精確的解,但是算法的收斂速度慢[15]。傳統(tǒng)的QPSO中β的值一般按照下式取值:
其中,β0和βm分別為收縮擴(kuò)張系數(shù)的初值和終值。對(duì)于大多數(shù)的問題來說,β的值從搜索開始的1.0到終值0.5時(shí),QPSO算法具有較優(yōu)的性能。
在算法初期階段,由于粒子的全局極值和粒子的歷史個(gè)體極值差距比較大,此時(shí)需要較大速度全局搜索,以便于迅速接近全局極值,故此時(shí)收縮擴(kuò)張系數(shù)的值應(yīng)當(dāng)處在較大的位置。而在算法進(jìn)化后期,在粒子歷史個(gè)體極值接近于全局極值后,則應(yīng)減慢速度以加強(qiáng)算法的局部搜索能力,因此收縮擴(kuò)張系數(shù)的值需適當(dāng)減小,來提高算法的精確度。根據(jù)上述規(guī)律,本文提出了一種新的AQPSO算法,新算法將根據(jù)高斯曲線的規(guī)律和聚集度g(t)的變化,自適應(yīng)調(diào)整收縮擴(kuò)張系數(shù)β的值,新的β公式為:
從公式(8)、(10)可以看出,在算法迭代前期由于粒子聚集程度小,Pi和Pg的值差距會(huì)比較大,因此g(t)的值會(huì)比較小,β將處在一個(gè)較高的值。而到了迭代后期,粒子聚集度將變大,Pi和Pg的值差距會(huì)變得接近,g(t)的值會(huì)增大,所以β的值將會(huì)變小。
收縮擴(kuò)張系數(shù)的變化情況如圖1所示。
圖1 收縮擴(kuò)張系數(shù)的變化情況
T-S模糊神經(jīng)網(wǎng)絡(luò)是一種自適應(yīng)能力很強(qiáng)的模糊系統(tǒng),該神經(jīng)網(wǎng)絡(luò)不僅可以自動(dòng)更新,而且還可以不斷地自己修正模糊子集的隸屬函數(shù)。用“if-then”規(guī)則形式來描述T-S神經(jīng)網(wǎng)絡(luò)的模糊推理如下:
可以理解為在模糊規(guī)則Ri中,輸入量(if部分)部分是模糊的,而輸出部分(then部分)是根據(jù)模糊規(guī)則得到的確定值yi??梢钥吹剑撃:评淼妮敵鼋Y(jié)果是由輸入的線性組合來表示的。其中和(j=1,2,…,k)分別是模糊系統(tǒng)中的模糊集和模糊系統(tǒng)參數(shù),是第0個(gè)節(jié)點(diǎn),它的輸入值為x0=1,它將會(huì)提供輸出部分中的常數(shù)項(xiàng)。
T-S模糊神經(jīng)網(wǎng)絡(luò)一般分為四層,第一層是輸入層,將輸入信息量x=[x1,x2,…,xk]T傳輸進(jìn)入下一層,該層的節(jié)點(diǎn)數(shù)與輸入?yún)?shù)的維數(shù)k相同。
第二層是模糊化層,該層的作用是計(jì)算各個(gè)輸入分量屬于各自語言變量值模糊集合的隸屬度,隸屬度函數(shù)一般采用高斯函數(shù):
其中,是隸屬函數(shù)的中心,是隸屬函數(shù)的寬度。k是輸入?yún)?shù)的維數(shù),n是模糊子集數(shù)。
第三層是模糊規(guī)則計(jì)算層,該層將各隸屬度進(jìn)行模糊計(jì)算,計(jì)算出每條模糊規(guī)則的適應(yīng)度,適應(yīng)度計(jì)算采用連乘算子:
然后再對(duì)所有求得的適應(yīng)度進(jìn)行歸一化計(jì)算:
最后一層是輸出層,它會(huì)根據(jù)所計(jì)算的結(jié)果求出模糊神經(jīng)網(wǎng)絡(luò)模型的最終輸出值:
為了獲得更好的水質(zhì)評(píng)價(jià)精度,本文嘗試采用AQPSO算法對(duì)T-S模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行參數(shù)選擇。在本文中,神經(jīng)網(wǎng)絡(luò)的輸出層只有一個(gè)節(jié)點(diǎn),為最后的水質(zhì)評(píng)價(jià)值。如果輸入層和隱層的節(jié)點(diǎn)數(shù)分別為n和m,則T-S模糊神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)為n-m-1。提出新模型的基本實(shí)現(xiàn)步驟描述如下:
(1)在 AQPSO算法中設(shè)置最大迭代次數(shù)T和種群粒子的數(shù)量N。將所有的數(shù)據(jù)分成訓(xùn)練集和測試集。在進(jìn)行處理前,把所有的數(shù)據(jù)進(jìn)行歸一化,以確保評(píng)價(jià)結(jié)果的準(zhǔn)確性。
(2)使用AQPSO算法對(duì)T-S模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行參數(shù)選擇。將隸屬函數(shù)的中心值和寬度,以及模糊神經(jīng)網(wǎng)絡(luò)的系數(shù)設(shè)置為AQPSO算法的初始位置。
(3)運(yùn)行模型,并使用參數(shù)計(jì)算每個(gè)粒子的適應(yīng)度。把這里的適應(yīng)度設(shè)置為期望結(jié)果和輸出結(jié)果之間的均方誤差(Mean Square Error,MSE)。
其中和Yi分別代表期望結(jié)果和輸出結(jié)果,M是指所有樣本的和。
(4)運(yùn)行每個(gè)粒子的個(gè)體極值Pi和全局極值Pg。根據(jù)公式(5)和(10)分別計(jì)算平均粒子個(gè)體最佳值mbest和收縮擴(kuò)張系數(shù)β。
(5)計(jì)算每個(gè)訓(xùn)練樣本的輸出值,直至達(dá)到最大迭代次數(shù)T或者最小訓(xùn)練誤差。將訓(xùn)練后的T-S模糊神經(jīng)網(wǎng)絡(luò)參數(shù)應(yīng)用于測試過程中。
水質(zhì)的評(píng)價(jià)是根據(jù)所采集的水的樣本值通過一定數(shù)學(xué)模型計(jì)算所確定的水質(zhì)等級(jí),水質(zhì)評(píng)價(jià)目的是為了能夠判斷出采樣水質(zhì)量的等級(jí),并以此為依據(jù)來給水源提供保護(hù)。分析水體水質(zhì)的指標(biāo)有很多項(xiàng),綜合考慮水質(zhì)監(jiān)測數(shù)據(jù)的分析,主要選取以下六項(xiàng)指標(biāo)作為評(píng)價(jià)參數(shù):氨氮、溶解氧、化學(xué)需氧量、高猛酸鹽指數(shù)、總磷和總氮,各項(xiàng)指標(biāo)數(shù)值對(duì)應(yīng)水質(zhì)等級(jí)如表1所示。
表1 地表水環(huán)境質(zhì)量指標(biāo)
模糊神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果所得的數(shù)值將規(guī)定在范圍[0,5]內(nèi),可以根據(jù)得到的數(shù)值將其評(píng)判為水質(zhì)中的某一類。表2為水質(zhì)分類的評(píng)判標(biāo)準(zhǔn)。
表2 水質(zhì)分類評(píng)判標(biāo)準(zhǔn)
本文的實(shí)驗(yàn)數(shù)據(jù)來源是湖南省資興市東江湖流域2002年到2013年的環(huán)保水文數(shù)據(jù),從2002—2007年的水文數(shù)據(jù)中選取400組數(shù)據(jù)來進(jìn)行訓(xùn)練和測試,將其中350組數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練樣本,另50組數(shù)據(jù)作為測試樣本。在模型進(jìn)行訓(xùn)練和測試之后,最后將東江湖流域的滁口、東坪、白廊3個(gè)水文監(jiān)測站點(diǎn)2008—2013年6年共24組的數(shù)據(jù)通過模型來進(jìn)行水質(zhì)評(píng)價(jià)。表3是其中一個(gè)站點(diǎn)中的5組數(shù)據(jù)。
為了驗(yàn)證所提出的模型的有效性,對(duì)實(shí)驗(yàn)中所有的神經(jīng)網(wǎng)絡(luò)模型均使用相同的訓(xùn)練和測試樣本,所有的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)均為6-12-1。設(shè)置粒子種群的規(guī)模N為40,最大迭代次數(shù)T為300次,最小訓(xùn)練誤差條件設(shè)置為:當(dāng)MSE到達(dá)10-4時(shí),停止迭代。算法均在Matlab R2014b軟件下實(shí)現(xiàn)結(jié)果。
表3 數(shù)據(jù)樣本
如表4和圖2所示,AQPSO-TSFNN模型比其他四種神經(jīng)網(wǎng)絡(luò)模型的測試結(jié)果的MSE均要小,而且所用時(shí)間也要小于其他模型,通過訓(xùn)練和測試的實(shí)驗(yàn)可知,AQPSO-TSFNN模型的效率要大于其他四種神經(jīng)網(wǎng)絡(luò)模型。
表4 不同模型的測試結(jié)果
圖2 樣本測試結(jié)果
把滁口、東坪、白廊3個(gè)水文監(jiān)測站點(diǎn)的24組數(shù)據(jù)通過訓(xùn)練和測試后的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行水質(zhì)評(píng)價(jià),結(jié)果如表5~9所示,可以看到,AQPSO-TSFNN的水質(zhì)評(píng)價(jià)結(jié)果與實(shí)際檢測的結(jié)果完全一致,而其他4個(gè)模型都出現(xiàn)了一定數(shù)量的評(píng)價(jià)誤差。上述實(shí)驗(yàn)表明,對(duì)于水文站的水質(zhì)評(píng)價(jià),本文提出的AQPSO-TSFNN模型對(duì)比其他神經(jīng)網(wǎng)絡(luò)模型有著顯著的改進(jìn),適合于做日常水質(zhì)檢測的工作。而且還可以得出結(jié)論,東江湖流域的水質(zhì)在多年里保持在一個(gè)較高的水準(zhǔn),政府部門對(duì)于水質(zhì)的保護(hù)措施做得十分得當(dāng),非常適合旅游或者水產(chǎn)養(yǎng)殖等項(xiàng)目開發(fā)。
水質(zhì)的評(píng)價(jià)一直是水文工作站的一項(xiàng)重要檢測項(xiàng)目,本文提出了一種新的AQPSO-TSFNN模型,該模型是基于新的自適應(yīng)量子粒子群算法優(yōu)化T-S模糊神經(jīng)網(wǎng)絡(luò)的參數(shù)的模型,并且將模型應(yīng)用于日常的水質(zhì)評(píng)價(jià)中,以幫助水文工作站點(diǎn)可以更為效率地進(jìn)行日常的水
文數(shù)據(jù)分析。通過將新模型應(yīng)用到東江湖流域的水文站點(diǎn)進(jìn)行實(shí)驗(yàn),結(jié)果表明,新的AQPSO-TSFNN比實(shí)驗(yàn)中其他神經(jīng)網(wǎng)絡(luò)模型的表現(xiàn)更具效率。因此,將新的AQPSO-TSFNN模型用于水文工作站中,可以幫助水文工作站更為效率地對(duì)當(dāng)前水質(zhì)進(jìn)行評(píng)價(jià),并作出處理手段。
表5TSFNN的評(píng)價(jià)結(jié)果
表6PSO-TSFNN的評(píng)價(jià)結(jié)果
表7 PSO-BP的評(píng)價(jià)結(jié)果
表8QPSO-TSFNN的評(píng)價(jià)結(jié)果
表9AQPSO-TSFNN的評(píng)價(jià)結(jié)果
參考文獻(xiàn):
[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,F(xiàn)eng 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,F(xiàn)eng 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,F(xiàn)eng 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.