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