潘中建
(江蘇商貿職業學院,南通 226011)
基于BP-AGA方法的農業需水量預測
潘中建
(江蘇商貿職業學院,南通226011)
針對BP算法存在局部極小值的問題,構建基于BP-AGA的非線性組合預測方法模型,改善BP算法局部最優問題和收斂速度緩慢的缺點,使網絡全局誤差函數極小化。然后對農業需水量預測進行實證分析,結果表明BP-AGA方法的效果要優于單項預測方法。
神經網絡;加速遺傳算法;農業需水量預測
對農業需水量進行預測,可以為農村水資源的規劃和管理提供依據,從而達到水資源的優化配置,保護和節約水資源。目前國內外對短期需水量預測方面的研究較多,中長期需水量預測大多還采用單一的預測模型,如自回歸模型、GM(1,1)模型以及“成長曲線”模型等[1]。而現實中,影響需水量的因素很復雜,采用單一的預測方法可能得不到令人滿意的結果,組合預測方法通常能解決這樣的問題。BP(Back Propagation Algorithm)神經網絡算法是一種負梯度優化算法,具有很強的自學習適應能力、并行信息處理能力和較強的容錯性等優點,但容易陷入局部收斂并且后期收斂速度緩慢[2]。加速遺傳算法AGA(Accelerating Genetic Algorithm)能夠通過選取雜交概率和突變概率調整優化變量的搜索區間,在保持群體多樣性的同時,保證了算法的收斂性[3]。因此,構建基于BP-AGA的非線性組合預測方法模型,結合BP算法和AGA算法的優點,加快網絡收斂速度,降低全局誤差。
在采用BP算法訓練網絡出現收斂速度緩慢時,啟用加速遺傳算法,通過優化準則函數選取優秀后代,優化網絡權系數和閾值,把AGA算法的最佳后代染色體作為BP算法的輸入,再用BP算法對網絡進行學習訓練,循環運行BP-AGA組合預測方法,直至達到給定的加速循環次數。BP-AGA的非線性組合預測方法由以下兩部分組成。
1.1BP神經網絡算法
BP神經網絡即誤差反向傳播神經網絡 (Back-Propagation Neural Network),它是一種無反饋的前向網絡,網絡中的神經元分層排列。BP神經網絡由輸入層、中間層、輸出層組成3層網絡拓撲結構,相鄰層各節點進行全連接。BP神經網絡算法通過轉化為非線性優化問題來表達很多復雜物理現象,這使得預測的組合問題,可以化成三層BP神經網絡來解決[4]。
設輸入層、中間層、輸出層的神經元節點數分別為h、i、j;?i為中間層節點i的閾值,?j為輸出層j節點的閾值;whi為輸入層h與中間層i間的連接強度,wij為中間層i與輸出層j間的連接強度,yj為第j個神經元的輸出。BP算法步驟如下:
(1)網絡初始化。隨機選擇k個輸入樣本和對應期望輸出{xhk,dk|h=1,2,…,N}。給各連接權系數、閾值賦予(-1,1)區間上的隨機值。
(2)置k=1。把樣本對(xhk,dk)提供給網絡,(h=1,2,…,n;k=1,2,…,N)。
(3)計算各中間層神經元的輸入xi、輸出yi:

(4)計算輸出層神經元的輸入xj、輸出yj:

(5)計算輸出層樣本誤差Ek=0.5(yj-dk)2的偏導數:

(6)計算中間層樣本誤差Ek的偏導數:

(7)利用中間層各神經元的變化率修正權系數和閾值

其中m為修正次數,σ為學習速率且σ∈(0,1),α為動量因子且α∈(0,1)。
(8)判斷網絡全局誤差函數

若小于預估值或達到給定的加速循環次數,結束訓練[5]。否則置k=k+1,轉到步驟(3),進行新一輪訓練。
1.2AGA算法優化BP算法的網絡參數
BP網絡的參數優化問題是指利用AGA算法優化尋找良好的網絡權系數或閾值(?i、?j、wki和wij),使得式(1)極小化。
AGA算法優化BP算法的網絡參數步驟如下:
(1)配置初始變化區間。在使用BP算法訓練網絡的運行過程中,當出現收斂速度緩慢情況時,選擇網絡的任一參數的值cj,則網絡參數變化區間可以表示為[aj,bj],其中aj=cj-d|cj,bj=cj+d|cj,d為正常數。
(2)網絡參數的二進制編碼。設編碼長度為e,把每個變量的初始變化區間[aj,bj]等比例劃分,形成2e-1個子區間。
經過編碼,變量的搜索空間被離散成 (2e)p個網絡點。其中p=2n2+n+1。每個網絡點被稱為染色體,并用p個e位二進制數表示。于是,解空間和染色體空間建立了一一對應關系。
(3)初始群體的確定。在可行域中隨機產生個體,設群體規模大小為n,從(2e)p個網絡點中均勻隨機選取n個點,形成每組有p個,共n組[0,1]區間上的均勻隨機數作為初始父代種群。
(4)二進制數的解碼和適應度的評價。把第i個染色體代入式(1)表示的全局誤差函數,計算初始種群中各個染色體的網絡全局誤差函數值Ei,若Ei越小,則染色體的適應度值越高,反之亦然。
(5)選擇運算。把父代染色體按優化準則函數值Ei從小到大排序。構造與Ei成反比的函數pi,pi>0,p1+p2+…+pn=1,從這些父代群體中以概率pi選擇第i個染色體,于是共選擇兩組各為n個的染色體。
(6)交叉運算。這里采用兩點雜交。由步驟(5)得到的兩組染色體隨機兩兩配對,成為n對雙親,然后將每對雙親的二進制數的任意一段值互換,得到兩組子代染色體。
(7)變異運算。任取步驟(6)中的一組子代染色體,將它們的數組的隨機兩位值以變異率pm進行取非運算,形成新一代父代群體可行解集。
(8)進行迭代。算法轉入步驟(4),重新計算目標函數并排序。
(9)加速循環。用第一次、第二次進化迭代所產生的優秀染色體參數的變化范圍,作為新的初始參數變化區間。算法進入步驟(2),不斷縮小優化區間,直到最優染色體的優化準則函數值小于某一設定值或算法運行達到預定加速循環迭代次數,結束運行。當前群體中最佳染色體即為求解結果[6]。
分別用自回歸模型、GM(1,1)模型、“成長”曲線模型對某地區的農業需水量進行預測,各模型的預測值及實際值見表2。
現在用BP-AGA非線性組合預測方法來進行預測,選擇輸入層的節點為3個,中間層節點為3個,輸出層節點為1個,其預測值FK見表2。網絡參數和預測誤差平方和見表1。從表2、表3可以看出,BP-AGA組合預測方法的效果要優于其他3種預測方法。

表1 網絡參數

表2 某地區近10年農業需水量預測結果

表3 各模型預測誤差平方和比較
結合BP算法和AGA算法各自的優點,構建基于BP-AGA的非線性組合預測方法,在BP算法訓練網絡出現收斂速度緩慢時,啟用加速遺傳算法來優化網絡參數,改善BP算法局部最優問題和收斂速度緩慢的缺點。最后,對農業用水量預測進行實證分析,結果表明BP-AGA組合預測方法的效果要優于單項預測方法。
[1]王盼,陸寶宏,張翰文,等.基于隨機森林模型的需水預測模型及其應用[J].水資源保護,2014,30(1):34-37,89.
[2]Feng Lihua,Hong Weihu.On Hydrologic Calculation Using Artificial Neural Networks[J].Applied Mathematics Letters,2008,21(5):453-458.
[3]Beyer H G,Deb K.On Self-Adaptive Features in Real Parameter Revolutionary Algorithms[J].IEEE Trans.On Evolutionary Computation,2001,5(3):250-270.
[4]魏東.非線性系統神經網絡參數預測及控制[M].北京:機械工業出版社,2007.11.
[5]王碩,張有富,金菊良.基于BP-AGA的非線性組合預測方法研究[J].中國工程科學,2005,7(4):83-87.
[6]馬成前,潘勝,姜德生.基于BP-AGA混合算法CO危害程度評估研究[J].武漢理工大學學報,2009,31(14):99-102.
[7]范鶴,寧寶寬,劉斌.基于AGA-BP系統的涵洞結構應力預測研究[J].東北大學學報(自然科學版),2008,12(29):1782-1786.
[8]聞新,周露,李翔,等.MATLAB神經網絡仿真與應用[M].北京:科學出版社,2003:141-146.
Neural Network;Accelerating Genetic Algorithm;Agriculture Water Demand Predication
Agriculture Water Demand Prediction Based on BP-AGA
PAN Zhong-jian
(Jiangsu Vocational College of Business,Nantong 226011)
In order to solve the problem of local minimum exist in BP algorithm,builds a nonlinear combination prediction method based on BP-AGA model,to improve the local optimum and slow convergence speed,to make the global error function value minimization.Then makes an empirical analysis of agriculture water consumption forecasting,the results show than the BP-AGA method is superior to the effect of single forecasting method.
1007-1423(2016)29-0033-04
10.3969/j.issn.1007-1423.2016.29.007
潘中建(1986-),男,碩士,實驗師,研究方向為數值算法與信息化
2016-08-26
2016-09-30