許 驥
(新疆水利科技推廣總站,新疆 烏魯木齊830000)
地下水水位變化與土壤剖面鹽分運(yùn)移、農(nóng)田土壤鹽漬化演變、水資源開(kāi)發(fā)利用模式等均有密切聯(lián)系,因此地下水水位動(dòng)態(tài)預(yù)測(cè)對(duì)農(nóng)田土壤鹽漬化防治、地下水地表水資源的合理調(diào)度都具有十分重要的意義。BP神經(jīng)網(wǎng)絡(luò)模型在分析處理非線性數(shù)據(jù)方面效果頗佳,可有效表明具非線性關(guān)系的輸入量與輸出量的關(guān)聯(lián)性。但在實(shí)際應(yīng)用中BP神經(jīng)網(wǎng)絡(luò)呈現(xiàn)出網(wǎng)絡(luò)全局搜索能力不足、迭代收斂緩慢和局部最優(yōu)的缺陷。使用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型的連接權(quán)值后,可提高BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,克服了網(wǎng)絡(luò)易陷入局部極?。?]。
鑒于此,本文在前人研究的基礎(chǔ)上,以新疆和靜縣某地下水觀測(cè)井為研究對(duì)象,從影響地下水水位的蒸發(fā)量、氣溫和灌溉量入手,采用BP人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法,建立研究區(qū)地下水位預(yù)測(cè)的遺傳BP神經(jīng)網(wǎng)絡(luò)模型。為指導(dǎo)當(dāng)?shù)氐叵滤Y源的開(kāi)發(fā)利用與保護(hù)及鹽堿地治理提供理論基礎(chǔ)。
1986年,由斯坦福大學(xué)的D E Rumelhart等提出的BP神經(jīng)網(wǎng)絡(luò)算法,解決了多層網(wǎng)絡(luò)模型中隱含層的連接權(quán)問(wèn)題,有效提升了神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)和組織能力,是當(dāng)前工業(yè)領(lǐng)域應(yīng)用較多的一種前饋式學(xué)習(xí)算法與反向傳播算法的神經(jīng)網(wǎng)絡(luò)[2,3]。BP神經(jīng)網(wǎng)絡(luò)的輸入層由隱含層作用于輸出層,經(jīng)非線性變換得輸出量。網(wǎng)絡(luò)訓(xùn)練的每個(gè)樣本包含輸入量和期望輸出量,網(wǎng)絡(luò)輸出量與期望輸出量之間的偏差,通過(guò)調(diào)整網(wǎng)絡(luò)權(quán)值與閾值,使誤差沿梯度方向下降,直至實(shí)際輸出與期望輸出在預(yù)定范圍內(nèi)。
設(shè)輸出層有m個(gè)神經(jīng)元,BP網(wǎng)絡(luò)的實(shí)際輸出是y;期望輸出是y';函數(shù)ε為:
每個(gè)權(quán)值的修正值為:
式中:ωij為輸入單元i到隱含層單元j的權(quán)重;η是學(xué)習(xí)速率,Ij是中間第j個(gè)隱含層的傳輸函數(shù)。輸入層到隱含層的函數(shù)采用Logsig型,隱含層到輸出層的函數(shù)采用Purelin型。
由于影響地下水位的主控因素是蒸發(fā)量、氣溫和灌溉量,設(shè)定此3因素做為神經(jīng)網(wǎng)絡(luò)模型的輸入?yún)?shù),確定輸入端點(diǎn)數(shù)為3。據(jù)查,BP神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點(diǎn)為u時(shí),網(wǎng)絡(luò)的隱含層節(jié)點(diǎn)數(shù)選取2u+1時(shí),BP網(wǎng)絡(luò)模型能很好反映實(shí)際[4],故隱含層節(jié)點(diǎn)數(shù)為7個(gè)。據(jù)此,該 BP網(wǎng)絡(luò)模型采用3層網(wǎng)絡(luò),BP結(jié)構(gòu)為3-7-1,網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)模型拓?fù)?/p>
遺傳算法擅長(zhǎng)全局搜索,BP神經(jīng)網(wǎng)絡(luò)在用于局部搜索較有效,故遺傳算法和BP算法相結(jié)合頗為有效。遺傳算法對(duì)神經(jīng)網(wǎng)絡(luò)初始權(quán)值進(jìn)行優(yōu)化,定位出較好的搜索空間,再采用 BP算法在小空間內(nèi)搜索最優(yōu)值[5]。改進(jìn)后的遺傳算法流程圖如圖2。
圖2 改進(jìn)遺傳算法流程圖
改進(jìn)后的遺傳算法具體步驟如下:
1)初始化種群。隨機(jī)產(chǎn)生一種群Xm×n,每個(gè)個(gè)體X1×n代表一個(gè)神經(jīng)網(wǎng)絡(luò)的初始權(quán)值分布,每個(gè)基因值為一個(gè)連接權(quán)值,則個(gè)體的長(zhǎng)度為神經(jīng)網(wǎng)絡(luò)權(quán)值的個(gè)數(shù),即:
式中:n為個(gè)體的長(zhǎng)度;r為輸入層節(jié)點(diǎn)數(shù);s1為隱含層節(jié)點(diǎn)數(shù);s2為輸出層節(jié)點(diǎn)數(shù)。
選擇浮點(diǎn)數(shù)編碼方式對(duì)權(quán)值編碼。
2)適應(yīng)度函數(shù)依據(jù)適應(yīng)度函數(shù)值對(duì)個(gè)體進(jìn)行評(píng)價(jià),對(duì)每一個(gè)體解碼得到BP神經(jīng)網(wǎng)絡(luò)輸入樣本,計(jì)算輸出誤差值E,適應(yīng)度函數(shù)f。
計(jì)算各個(gè)體的適應(yīng)值,種群個(gè)體適應(yīng)度最大者進(jìn)入子種群。
3)選擇算子。采用輪盤賭法選擇算子。設(shè)第i個(gè)個(gè)體的適應(yīng)值fi,則被選中的概率為:
式中:m為種群規(guī)模,m=50。
4)交叉算子。交叉算子選擇算術(shù)交叉,由兩個(gè)個(gè)體的線性組合出兩個(gè)新的個(gè)體。假設(shè)在兩個(gè)個(gè)體Xi(k)、Xi+1(k)之間以交叉概率pc進(jìn)行交叉操作,則交叉后產(chǎn)生的兩個(gè)新的個(gè)體是
式中:Xi(k)、Xi+1(k)分別表示第i和第i+1個(gè)個(gè)體在第k位的基因;α、β是0~1之間的隨機(jī)數(shù)。
5)變異算子。選擇均勻變異算子,對(duì)每一基因值,以變異率pm對(duì)應(yīng)的基因取值域取一隨機(jī)數(shù)進(jìn)行替換。
式中:q為第p+1個(gè)基因值對(duì)應(yīng)的閾值寬度。
6)計(jì)算適應(yīng)度函數(shù)值。計(jì)算適應(yīng)度函數(shù)值,判斷是否達(dá)到最大迭代次數(shù)或滿足精度要求,否則返回第2步。
遺傳完成后,取遺傳算法中得到的最優(yōu)個(gè)體作為神經(jīng)網(wǎng)絡(luò)的初始權(quán)值,通過(guò)給定樣本數(shù)據(jù),按BP算法對(duì)神經(jīng)網(wǎng)絡(luò)訓(xùn)練,求出最優(yōu)解。
本研究數(shù)據(jù)主要來(lái)源于新疆和靜縣某地下水觀測(cè)井2008年1月-2013年12月間的地下水水位、同期蒸發(fā)量、氣溫與灌溉量等時(shí)序監(jiān)測(cè)數(shù)據(jù),各類數(shù)據(jù)的監(jiān)測(cè)頻率為每1次/d(其中,地下水水位為每半月1次),本研究采用的為各月平均值數(shù)據(jù)。采用2008年1月-2012年12月共60個(gè)月的地下水水位監(jiān)測(cè)數(shù)據(jù)與氣象數(shù)據(jù)作為模型訓(xùn)練數(shù)據(jù),2013年1月-2013年12月共12個(gè)月的數(shù)據(jù)則用作模型預(yù)測(cè)的驗(yàn)證數(shù)據(jù)。
月均蒸發(fā)量、氣溫與灌溉量這3項(xiàng)為網(wǎng)絡(luò)學(xué)習(xí)樣本中的輸入因子,輸出因子為實(shí)測(cè)地下水水位。網(wǎng)絡(luò)學(xué)習(xí)樣本數(shù)據(jù)先歸一化,再經(jīng)多次迭代,使試驗(yàn)數(shù)據(jù)的網(wǎng)絡(luò)訓(xùn)練誤差值逐步收斂。
遺傳算法通過(guò)隨機(jī)問(wèn)題假設(shè)集合,根據(jù)適應(yīng)度函數(shù)對(duì)個(gè)體進(jìn)行數(shù)值評(píng)價(jià),遺傳算子模擬遺傳過(guò)程中出現(xiàn)的復(fù)制、交叉和變異現(xiàn)象,對(duì)種群個(gè)體擇優(yōu)。遺傳算法對(duì)BP網(wǎng)絡(luò)初始權(quán)值和閾值進(jìn)行優(yōu)化賦值,再利用BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型進(jìn)行局部尋優(yōu)。遺傳算法進(jìn)化過(guò)程中設(shè)置種群數(shù)目為50,進(jìn)化代數(shù)為100,交叉概率為0.5,變異概率為0.09。根據(jù)上述遺傳BP神經(jīng)網(wǎng)絡(luò)模型,通過(guò)Matlab軟件編程,可得經(jīng)實(shí)數(shù)遺傳算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)各層之間權(quán)值和閾值,如表1所示。
表1 遺傳BP神經(jīng)網(wǎng)絡(luò)的各主控因素系數(shù)
圖3為利用BP神經(jīng)網(wǎng)絡(luò)模型與遺傳BP神經(jīng)網(wǎng)絡(luò)模型得到的地下水位預(yù)測(cè)值。由圖3可知,依據(jù)地下水位變化的主控因素所建立的兩神經(jīng)網(wǎng)絡(luò)模型,其地下水位預(yù)測(cè)值與實(shí)測(cè)值基本吻合。采用平均絕對(duì)百分比誤差(MAPE)、均方根誤差(MSE)和平均絕對(duì)誤差(MAE)3個(gè)特征指標(biāo)進(jìn)行比較,各類指標(biāo)值越大則表示預(yù)測(cè)值與實(shí)測(cè)值偏差越大[6]。各統(tǒng)計(jì)指標(biāo)結(jié)果見(jiàn)表2。由表2可知,經(jīng)遺傳法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)模型的擬合效果要優(yōu)于BP神經(jīng)網(wǎng)絡(luò)模型。
圖3 地下水位預(yù)測(cè)值與實(shí)測(cè)值對(duì)比(2013年)
表2 2種模型預(yù)測(cè)結(jié)果評(píng)價(jià)
圖4為遺傳BP神經(jīng)網(wǎng)絡(luò)模型測(cè)試樣本的網(wǎng)絡(luò)輸出值Y和網(wǎng)絡(luò)目標(biāo)值X的回歸直線。網(wǎng)絡(luò)輸出值Y是用訓(xùn)練后的遺傳BP神經(jīng)網(wǎng)絡(luò)模型計(jì)算得出輸出值。網(wǎng)絡(luò)目標(biāo)值X是遺傳BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練所要實(shí)現(xiàn)實(shí)測(cè)值。由圖4可知,回歸直線的相關(guān)系數(shù)R為0.967 3,近似為1。另,回歸直線與斜率為1的直線(Y=X)基本重合,表明遺傳BP神經(jīng)網(wǎng)絡(luò)的輸出值與其目標(biāo)值偏差極小,是非常有效的預(yù)測(cè)方法。
圖4 訓(xùn)練樣本輸出回歸直線
(1)建立了一個(gè)用于預(yù)測(cè)地下水水位的遺傳BP神經(jīng)網(wǎng)絡(luò)模型,測(cè)試樣本的網(wǎng)絡(luò)輸出值與網(wǎng)絡(luò)目標(biāo)值的相關(guān)系數(shù)達(dá)0.967 3,表明所建立的網(wǎng)絡(luò)模型是有效的。
(2)用BP神經(jīng)網(wǎng)絡(luò)模型和遺傳BP神經(jīng)網(wǎng)絡(luò)模型對(duì)12組未參加建模的樣本數(shù)據(jù)(2013年數(shù)據(jù))進(jìn)行預(yù)測(cè)。預(yù)測(cè)結(jié)果表明,遺傳BP神經(jīng)網(wǎng)絡(luò)模型的平均絕對(duì)百分比誤差、均方根誤差和平均絕對(duì)誤差3個(gè)特征指標(biāo)值均小于BP神經(jīng)網(wǎng)絡(luò)模型的指標(biāo)值,表明遺傳BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)擬合效果遠(yuǎn)優(yōu)于BP神經(jīng)網(wǎng)絡(luò)模型。
(3)地下水水位與其影響因素存在著復(fù)雜的非線性關(guān)系。本文所建立的基于遺傳BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型可作為地下水動(dòng)態(tài)變化預(yù)測(cè)的新方法,這為區(qū)域地下水的開(kāi)發(fā)利用與保護(hù)提供了參考依據(jù)。
[1]王德明,王莉,張廣明.基于遺傳BP神經(jīng)網(wǎng)絡(luò)的短期風(fēng)速預(yù)測(cè)模型[J].浙江大學(xué)學(xué)報(bào):工學(xué)版.2012,46(5):837-841,904.
[2]劉厚林,吳賢芳,王勇.基于BP神經(jīng)網(wǎng)絡(luò)的離心泵關(guān)死點(diǎn)功率預(yù)測(cè)[J].農(nóng)業(yè)工程學(xué)報(bào).2012,28(11):45-49.
[3]張建華,祁力鈞,冀榮華.基于粗糙集和BP神經(jīng)網(wǎng)絡(luò)的棉花病害識(shí)別[J].農(nóng)業(yè)工程學(xué)報(bào).2012,28(7):161-167.
[4]孟召平,田永東,雷旸.煤層含氣量預(yù)測(cè)的BP神經(jīng)網(wǎng)絡(luò)模型與應(yīng)用[J].中國(guó)礦業(yè)大學(xué)學(xué)報(bào).2008,37(4):456-461.
[5]吳建生,金龍,農(nóng)吉夫.遺傳算法BP神經(jīng)網(wǎng)絡(luò)的預(yù)報(bào)研究和應(yīng)用[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí).2005,35(1):83-88.
[6]楊永生,何平.投影尋蹤回歸與BP神經(jīng)網(wǎng)絡(luò)方法在前汛期降水預(yù)測(cè)中的比較研究[J].氣象與環(huán)境學(xué)報(bào).2008,24(1):14-17.