潘中建
(江蘇商貿(mào)職業(yè)學(xué)院,南通 226011)
基于BP-AGA方法的農(nóng)業(yè)需水量預(yù)測(cè)
潘中建
(江蘇商貿(mào)職業(yè)學(xué)院,南通226011)
針對(duì)BP算法存在局部極小值的問題,構(gòu)建基于BP-AGA的非線性組合預(yù)測(cè)方法模型,改善BP算法局部最優(yōu)問題和收斂速度緩慢的缺點(diǎn),使網(wǎng)絡(luò)全局誤差函數(shù)極小化。然后對(duì)農(nóng)業(yè)需水量預(yù)測(cè)進(jìn)行實(shí)證分析,結(jié)果表明BP-AGA方法的效果要優(yōu)于單項(xiàng)預(yù)測(cè)方法。
神經(jīng)網(wǎng)絡(luò);加速遺傳算法;農(nóng)業(yè)需水量預(yù)測(cè)
對(duì)農(nóng)業(yè)需水量進(jìn)行預(yù)測(cè),可以為農(nóng)村水資源的規(guī)劃和管理提供依據(jù),從而達(dá)到水資源的優(yōu)化配置,保護(hù)和節(jié)約水資源。目前國(guó)內(nèi)外對(duì)短期需水量預(yù)測(cè)方面的研究較多,中長(zhǎng)期需水量預(yù)測(cè)大多還采用單一的預(yù)測(cè)模型,如自回歸模型、GM(1,1)模型以及“成長(zhǎng)曲線”模型等[1]。而現(xiàn)實(shí)中,影響需水量的因素很復(fù)雜,采用單一的預(yù)測(cè)方法可能得不到令人滿意的結(jié)果,組合預(yù)測(cè)方法通常能解決這樣的問題。BP(Back Propagation Algorithm)神經(jīng)網(wǎng)絡(luò)算法是一種負(fù)梯度優(yōu)化算法,具有很強(qiáng)的自學(xué)習(xí)適應(yīng)能力、并行信息處理能力和較強(qiáng)的容錯(cuò)性等優(yōu)點(diǎn),但容易陷入局部收斂并且后期收斂速度緩慢[2]。加速遺傳算法AGA(Accelerating Genetic Algorithm)能夠通過選取雜交概率和突變概率調(diào)整優(yōu)化變量的搜索區(qū)間,在保持群體多樣性的同時(shí),保證了算法的收斂性[3]。因此,構(gòu)建基于BP-AGA的非線性組合預(yù)測(cè)方法模型,結(jié)合BP算法和AGA算法的優(yōu)點(diǎn),加快網(wǎng)絡(luò)收斂速度,降低全局誤差。
在采用BP算法訓(xùn)練網(wǎng)絡(luò)出現(xiàn)收斂速度緩慢時(shí),啟用加速遺傳算法,通過優(yōu)化準(zhǔn)則函數(shù)選取優(yōu)秀后代,優(yōu)化網(wǎng)絡(luò)權(quán)系數(shù)和閾值,把AGA算法的最佳后代染色體作為BP算法的輸入,再用BP算法對(duì)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)訓(xùn)練,循環(huán)運(yùn)行BP-AGA組合預(yù)測(cè)方法,直至達(dá)到給定的加速循環(huán)次數(shù)。BP-AGA的非線性組合預(yù)測(cè)方法由以下兩部分組成。
1.1BP神經(jīng)網(wǎng)絡(luò)算法
BP神經(jīng)網(wǎng)絡(luò)即誤差反向傳播神經(jīng)網(wǎng)絡(luò) (Back-Propagation Neural Network),它是一種無反饋的前向網(wǎng)絡(luò),網(wǎng)絡(luò)中的神經(jīng)元分層排列。BP神經(jīng)網(wǎng)絡(luò)由輸入層、中間層、輸出層組成3層網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),相鄰層各節(jié)點(diǎn)進(jìn)行全連接。BP神經(jīng)網(wǎng)絡(luò)算法通過轉(zhuǎn)化為非線性優(yōu)化問題來表達(dá)很多復(fù)雜物理現(xiàn)象,這使得預(yù)測(cè)的組合問題,可以化成三層BP神經(jīng)網(wǎng)絡(luò)來解決[4]。
設(shè)輸入層、中間層、輸出層的神經(jīng)元節(jié)點(diǎn)數(shù)分別為h、i、j;?i為中間層節(jié)點(diǎn)i的閾值,?j為輸出層j節(jié)點(diǎn)的閾值;whi為輸入層h與中間層i間的連接強(qiáng)度,wij為中間層i與輸出層j間的連接強(qiáng)度,yj為第j個(gè)神經(jīng)元的輸出。BP算法步驟如下:
(1)網(wǎng)絡(luò)初始化。隨機(jī)選擇k個(gè)輸入樣本和對(duì)應(yīng)期望輸出{xhk,dk|h=1,2,…,N}。給各連接權(quán)系數(shù)、閾值賦予(-1,1)區(qū)間上的隨機(jī)值。
(2)置k=1。把樣本對(duì)(xhk,dk)提供給網(wǎng)絡(luò),(h=1,2,…,n;k=1,2,…,N)。
(3)計(jì)算各中間層神經(jīng)元的輸入xi、輸出yi:
(4)計(jì)算輸出層神經(jīng)元的輸入xj、輸出yj:
(5)計(jì)算輸出層樣本誤差Ek=0.5(yj-dk)2的偏導(dǎo)數(shù):
(6)計(jì)算中間層樣本誤差Ek的偏導(dǎo)數(shù):
(7)利用中間層各神經(jīng)元的變化率修正權(quán)系數(shù)和閾值
其中m為修正次數(shù),σ為學(xué)習(xí)速率且σ∈(0,1),α為動(dòng)量因子且α∈(0,1)。
(8)判斷網(wǎng)絡(luò)全局誤差函數(shù)
若小于預(yù)估值或達(dá)到給定的加速循環(huán)次數(shù),結(jié)束訓(xùn)練[5]。否則置k=k+1,轉(zhuǎn)到步驟(3),進(jìn)行新一輪訓(xùn)練。
1.2AGA算法優(yōu)化BP算法的網(wǎng)絡(luò)參數(shù)
BP網(wǎng)絡(luò)的參數(shù)優(yōu)化問題是指利用AGA算法優(yōu)化尋找良好的網(wǎng)絡(luò)權(quán)系數(shù)或閾值(?i、?j、wki和wij),使得式(1)極小化。
AGA算法優(yōu)化BP算法的網(wǎng)絡(luò)參數(shù)步驟如下:
(1)配置初始變化區(qū)間。在使用BP算法訓(xùn)練網(wǎng)絡(luò)的運(yùn)行過程中,當(dāng)出現(xiàn)收斂速度緩慢情況時(shí),選擇網(wǎng)絡(luò)的任一參數(shù)的值cj,則網(wǎng)絡(luò)參數(shù)變化區(qū)間可以表示為[aj,bj],其中aj=cj-d|cj,bj=cj+d|cj,d為正常數(shù)。
(2)網(wǎng)絡(luò)參數(shù)的二進(jìn)制編碼。設(shè)編碼長(zhǎng)度為e,把每個(gè)變量的初始變化區(qū)間[aj,bj]等比例劃分,形成2e-1個(gè)子區(qū)間。
經(jīng)過編碼,變量的搜索空間被離散成 (2e)p個(gè)網(wǎng)絡(luò)點(diǎn)。其中p=2n2+n+1。每個(gè)網(wǎng)絡(luò)點(diǎn)被稱為染色體,并用p個(gè)e位二進(jìn)制數(shù)表示。于是,解空間和染色體空間建立了一一對(duì)應(yīng)關(guān)系。
(3)初始群體的確定。在可行域中隨機(jī)產(chǎn)生個(gè)體,設(shè)群體規(guī)模大小為n,從(2e)p個(gè)網(wǎng)絡(luò)點(diǎn)中均勻隨機(jī)選取n個(gè)點(diǎn),形成每組有p個(gè),共n組[0,1]區(qū)間上的均勻隨機(jī)數(shù)作為初始父代種群。
(4)二進(jìn)制數(shù)的解碼和適應(yīng)度的評(píng)價(jià)。把第i個(gè)染色體代入式(1)表示的全局誤差函數(shù),計(jì)算初始種群中各個(gè)染色體的網(wǎng)絡(luò)全局誤差函數(shù)值Ei,若Ei越小,則染色體的適應(yīng)度值越高,反之亦然。
(5)選擇運(yùn)算。把父代染色體按優(yōu)化準(zhǔn)則函數(shù)值Ei從小到大排序。構(gòu)造與Ei成反比的函數(shù)pi,pi>0,p1+p2+…+pn=1,從這些父代群體中以概率pi選擇第i個(gè)染色體,于是共選擇兩組各為n個(gè)的染色體。
(6)交叉運(yùn)算。這里采用兩點(diǎn)雜交。由步驟(5)得到的兩組染色體隨機(jī)兩兩配對(duì),成為n對(duì)雙親,然后將每對(duì)雙親的二進(jìn)制數(shù)的任意一段值互換,得到兩組子代染色體。
(7)變異運(yùn)算。任取步驟(6)中的一組子代染色體,將它們的數(shù)組的隨機(jī)兩位值以變異率pm進(jìn)行取非運(yùn)算,形成新一代父代群體可行解集。
(8)進(jìn)行迭代。算法轉(zhuǎn)入步驟(4),重新計(jì)算目標(biāo)函數(shù)并排序。
(9)加速循環(huán)。用第一次、第二次進(jìn)化迭代所產(chǎn)生的優(yōu)秀染色體參數(shù)的變化范圍,作為新的初始參數(shù)變化區(qū)間。算法進(jìn)入步驟(2),不斷縮小優(yōu)化區(qū)間,直到最優(yōu)染色體的優(yōu)化準(zhǔn)則函數(shù)值小于某一設(shè)定值或算法運(yùn)行達(dá)到預(yù)定加速循環(huán)迭代次數(shù),結(jié)束運(yùn)行。當(dāng)前群體中最佳染色體即為求解結(jié)果[6]。
分別用自回歸模型、GM(1,1)模型、“成長(zhǎng)”曲線模型對(duì)某地區(qū)的農(nóng)業(yè)需水量進(jìn)行預(yù)測(cè),各模型的預(yù)測(cè)值及實(shí)際值見表2。
現(xiàn)在用BP-AGA非線性組合預(yù)測(cè)方法來進(jìn)行預(yù)測(cè),選擇輸入層的節(jié)點(diǎn)為3個(gè),中間層節(jié)點(diǎn)為3個(gè),輸出層節(jié)點(diǎn)為1個(gè),其預(yù)測(cè)值FK見表2。網(wǎng)絡(luò)參數(shù)和預(yù)測(cè)誤差平方和見表1。從表2、表3可以看出,BP-AGA組合預(yù)測(cè)方法的效果要優(yōu)于其他3種預(yù)測(cè)方法。
表1 網(wǎng)絡(luò)參數(shù)
表2 某地區(qū)近10年農(nóng)業(yè)需水量預(yù)測(cè)結(jié)果
表3 各模型預(yù)測(cè)誤差平方和比較
結(jié)合BP算法和AGA算法各自的優(yōu)點(diǎn),構(gòu)建基于BP-AGA的非線性組合預(yù)測(cè)方法,在BP算法訓(xùn)練網(wǎng)絡(luò)出現(xiàn)收斂速度緩慢時(shí),啟用加速遺傳算法來優(yōu)化網(wǎng)絡(luò)參數(shù),改善BP算法局部最優(yōu)問題和收斂速度緩慢的缺點(diǎn)。最后,對(duì)農(nóng)業(yè)用水量預(yù)測(cè)進(jìn)行實(shí)證分析,結(jié)果表明BP-AGA組合預(yù)測(cè)方法的效果要優(yōu)于單項(xiàng)預(yù)測(cè)方法。
[1]王盼,陸寶宏,張翰文,等.基于隨機(jī)森林模型的需水預(yù)測(cè)模型及其應(yīng)用[J].水資源保護(hù),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]魏東.非線性系統(tǒng)神經(jīng)網(wǎng)絡(luò)參數(shù)預(yù)測(cè)及控制[M].北京:機(jī)械工業(yè)出版社,2007.11.
[5]王碩,張有富,金菊良.基于BP-AGA的非線性組合預(yù)測(cè)方法研究[J].中國(guó)工程科學(xué),2005,7(4):83-87.
[6]馬成前,潘勝,姜德生.基于BP-AGA混合算法CO危害程度評(píng)估研究[J].武漢理工大學(xué)學(xué)報(bào),2009,31(14):99-102.
[7]范鶴,寧寶寬,劉斌.基于AGA-BP系統(tǒng)的涵洞結(jié)構(gòu)應(yīng)力預(yù)測(cè)研究[J].東北大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,12(29):1782-1786.
[8]聞新,周露,李翔,等.MATLAB神經(jīng)網(wǎng)絡(luò)仿真與應(yīng)用[M].北京:科學(xué)出版社,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-),男,碩士,實(shí)驗(yàn)師,研究方向?yàn)閿?shù)值算法與信息化
2016-08-26
2016-09-30