胡陳君,陳 建,王 卓,王 攀,曹中華,鄭延莉,王炎林,牛 坡
(西南大學(xué) 工程技術(shù)學(xué)院,重慶 400715)
農(nóng)機(jī)總動(dòng)力是指用于農(nóng)、林、牧、漁業(yè)生產(chǎn)和運(yùn)輸?shù)乃袡C(jī)械動(dòng)力的總和,它反映一個(gè)地區(qū)農(nóng)機(jī)裝備的總體水平,是農(nóng)機(jī)化發(fā)展規(guī)劃的主要指標(biāo)[1]。農(nóng)機(jī)總動(dòng)力數(shù)量變化是非線性的,BP神經(jīng)網(wǎng)絡(luò)作為一種具有較強(qiáng)非線性模擬能力與較高精度、較強(qiáng)自學(xué)習(xí)與自適應(yīng)能力的學(xué)習(xí)算法,能對(duì)其進(jìn)行分析;但傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)采用誤差梯度下降法調(diào)節(jié)權(quán)值,存在網(wǎng)絡(luò)收斂速度較慢、全局搜索能力弱及易陷入局部極小等缺點(diǎn)。LM算法是梯度下降法與高斯-牛頓法的結(jié)合,具有高斯-牛頓法的局部收斂性和梯度下降法的全局特性,在局部搜索能力上強(qiáng)于BP神經(jīng)網(wǎng)絡(luò),且其收斂速度很快且精度也高,解決了BP網(wǎng)絡(luò)的“局部收斂”問題;但LM算法對(duì)網(wǎng)絡(luò)的初始權(quán)值與閾值過于依賴,存在對(duì)初始權(quán)閾值敏感、泛化能力不強(qiáng)的缺點(diǎn)。遺傳算法(GA)具有較強(qiáng)的全局搜索能力,且簡(jiǎn)單通用、魯棒性強(qiáng),通過優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的連接權(quán),能較好地克服BP神經(jīng)網(wǎng)絡(luò)盲目選擇連接權(quán)值的缺點(diǎn),但其訓(xùn)練時(shí)間較長(zhǎng),局部搜索能力較弱。將LM算法與GA算法結(jié)合,運(yùn)用GA算法優(yōu)化BP神經(jīng)的初始權(quán)值與閾值,可以提高網(wǎng)絡(luò)的泛化能力;采用LM算法訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),可提高網(wǎng)絡(luò)收斂速度,避免網(wǎng)絡(luò)訓(xùn)練陷入局部極小點(diǎn),克服了LM算法與GA算法單一結(jié)合BP神經(jīng)網(wǎng)絡(luò)的缺點(diǎn)[2-4]。因此,本文利用1985-2015年云南省農(nóng)機(jī)總動(dòng)力數(shù)據(jù),建立GA-LM-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型對(duì)云南省農(nóng)機(jī)總動(dòng)力進(jìn)行預(yù)測(cè)。
1.1BP神經(jīng)網(wǎng)絡(luò)
BP (Back Propagation)神經(jīng)網(wǎng)絡(luò)是一種單向傳播的多層前饋神經(jīng)網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò),主要特點(diǎn)是信號(hào)前向傳播及誤差反向傳播。該算法的精髓是將網(wǎng)絡(luò)的輸出與期望輸出間的誤差通過反向傳播“分?jǐn)偂钡礁魃窠?jīng)元的權(quán)值和閾值,通過多次迭代使BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)輸出不斷逼近期望輸出。BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)比較簡(jiǎn)單,由輸入層、隱含層和輸出層組成,每層包含若干神經(jīng)元,不同層神經(jīng)元間通過權(quán)值形成全互連連接,同層神經(jīng)元間無連接,且理論上已證明隱含層為一層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),可以模擬任意復(fù)雜的非線性映射關(guān)系[5]。
1.2LM算法
LM(Levenberg-Marquardt)算法是梯度下降法與高斯-牛頓法相結(jié)合的一種數(shù)值優(yōu)化快速算法,同時(shí)具有梯度下降法和高斯-牛頓法的優(yōu)點(diǎn)。其基本思想是允許誤差沿著惡化的方向搜索,使網(wǎng)絡(luò)每次不再沿著單一的負(fù)梯度方向迭代,同時(shí)對(duì)網(wǎng)絡(luò)的權(quán)值進(jìn)行自適應(yīng)調(diào)整優(yōu)化,提高了網(wǎng)絡(luò)的收斂速度,同時(shí)最大限度地解決了BP神經(jīng)網(wǎng)絡(luò)陷于局部極小點(diǎn)的問題[6]。
1.3GA算法
遺傳(GA)算法是一種基于自然選擇和基因遺傳學(xué)原理的優(yōu)化搜索方法,具有很強(qiáng)的宏觀搜索能力與良好的全局優(yōu)化能力。其基本思想是:隨機(jī)對(duì)初始化的種群基因編碼,通過適應(yīng)度函數(shù)檢驗(yàn)個(gè)體的好壞,然后經(jīng)遺傳操作(選擇、交叉、變異)產(chǎn)生新的個(gè)體,且反復(fù)迭代收斂得到最優(yōu)個(gè)體經(jīng)過解碼作為問題的最優(yōu)解或近似最優(yōu)解[7]。
1.4GA-LM-BP模型
GA-LM-BP模型是將GA算法與LM算法結(jié)合優(yōu)化BP神經(jīng)網(wǎng)絡(luò),改善了LM算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的收斂性,強(qiáng)化了GA算法的進(jìn)化能力。其基本思想是:由GA算法優(yōu)化確定BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值與閾值,確定一個(gè)較好的搜索空間,代替一般初始權(quán)值與閾值的隨機(jī)選?。蝗缓髴?yīng)用LM算法在這個(gè)解空間里對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練、學(xué)習(xí)至收斂,搜索出最優(yōu)解或者近似最優(yōu)解。其主要步驟如下:
1)輸入BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本集X= [x1,x2,…,xn]T,確定BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)為n-l-m(n、l、m分別為輸入層、隱含層和輸出層節(jié)點(diǎn)個(gè)數(shù)),初始化BP神經(jīng)網(wǎng)絡(luò)的閾值向量θ,產(chǎn)生初始隨機(jī)訓(xùn)練權(quán)值w,并給出誤差允許值ε,且令常數(shù)k= 0,μ=μ0。
2)計(jì)算BP神經(jīng)網(wǎng)絡(luò)的輸出L與誤差目標(biāo)函數(shù)E(X)。根據(jù)輸入樣本X,連接權(quán)值w與閾值θ可得
其中,fl、fm為隱含層與輸出層的傳遞函數(shù);a為輸入層節(jié)點(diǎn)且a∈[1,n];b為隱含層節(jié)點(diǎn)且b∈[1,l];c為輸出層節(jié)點(diǎn)且c∈[1,m]。網(wǎng)絡(luò)輸出與期望輸出之間的差別就是BP神經(jīng)網(wǎng)絡(luò)的誤差,定義該誤差目標(biāo)函數(shù)E(X)為
3)權(quán)值向量的調(diào)整,其計(jì)算公式為:wk+1=wk+Δw。其中,Δw為BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中權(quán)值的調(diào)整量,BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中由LM算法優(yōu)化,則
Δw=-(JT(X)·J(X)+μ·I)-1JT(X)·e(X)
e(X)=[e1(X),e2(X),…eN(X)]T
其中,μ為一個(gè)非負(fù)值;I為單位矩陣;J(X)為誤差對(duì)權(quán)值微分的雅克比矩陣。
4)判斷E(X)。若其小于ε,則訓(xùn)練結(jié)束;否則進(jìn)入下一步,即計(jì)算誤差指標(biāo)函數(shù)E(Xk+1)。若E(Xk+1) 5)種群初始化及種群規(guī)模與進(jìn)化代數(shù)的設(shè)定。本文采用簡(jiǎn)單、易實(shí)現(xiàn)的實(shí)數(shù)編碼實(shí)現(xiàn)種群初始化,種群規(guī)模為群體中所含個(gè)體數(shù)目,每個(gè)個(gè)體表示為染色體的基因編碼,且數(shù)目一定。 6)判斷進(jìn)化代數(shù)是否滿足設(shè)定值,若滿足則轉(zhuǎn)至步驟2),GA算法結(jié)束;否則進(jìn)入下一步,即個(gè)體適應(yīng)度值的計(jì)算。本文將BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)輸出值yi與真實(shí)值oi之間的絕對(duì)誤差值和的倒數(shù)作為個(gè)體適應(yīng)度值,計(jì)算公式為 本文利用該適應(yīng)度函數(shù)計(jì)算每個(gè)個(gè)體的適應(yīng)度值,判斷其適應(yīng)度值是否符合優(yōu)化準(zhǔn)則。若符合,則轉(zhuǎn)到步驟2);否則,進(jìn)入下一步。 7)根據(jù)適應(yīng)度對(duì)個(gè)體進(jìn)行遺傳(選擇、交叉、變異)操作,得到新一代的種群,然后返回步驟6)。選擇操作采用輪盤賭法,使適應(yīng)度值高的個(gè)體有更大的概率被選擇到下一代。選擇概率為 交叉操作因個(gè)體采用實(shí)數(shù)編碼而采用實(shí)數(shù)交叉法,第k個(gè)染色體和第l個(gè)染色體在j位的交叉,則 akj=akj(1-b)+aljb alj=alj(1-b)+akjb 其中,b為0~1間隨機(jī)數(shù)。 變異操作選取第i個(gè)個(gè)體的第j個(gè)aij基因進(jìn)行變異,則 其中,amax為基因aij的上界;amin為下界;f(g) =r2(1-g/Gmax)2;r2是隨機(jī)數(shù);g為當(dāng)代迭代次數(shù);Gmax為最大進(jìn)化次數(shù);r為0~1間隨機(jī)數(shù)。 2.1樣本數(shù)據(jù)的獲取及處理 本文根據(jù)中國(guó)統(tǒng)計(jì)年鑒選取了1985-2015年間云南省農(nóng)機(jī)總動(dòng)力的歷史統(tǒng)計(jì)數(shù)據(jù)作為訓(xùn)練樣本[8],但農(nóng)機(jī)總動(dòng)力數(shù)據(jù)值較大,作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練值將使得神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜且不易收斂,因而該數(shù)據(jù)需先進(jìn)行歸一化處理。歸一化方法為 式中Xi—輸入樣本數(shù)據(jù); Xmax、Xmin—輸入樣本數(shù)據(jù)的最大值與最小值; Xi—?dú)w一化后的樣本輸入數(shù)據(jù),Xi’∈[a,b]。 逆變換公式為 BP神經(jīng)網(wǎng)絡(luò)的激活多采用Sigmoid函數(shù),其輸出值在0~1或-1~1之間;但該函數(shù)值接近0或1時(shí),曲線比較平緩,變化速度非常緩慢。為了減小BP網(wǎng)絡(luò)學(xué)習(xí)時(shí)間,加大函數(shù)在區(qū)間內(nèi)變化梯度,提高收斂速度,可將輸入輸出數(shù)據(jù)變換在[0.1,0.9]或[0.2,0.8]區(qū)間內(nèi),這里取a=0.2,b=0.8。歸一化結(jié)果如表1所示[9]。 表1 1985-2015年云南省農(nóng)機(jī)總動(dòng)力及其歸一化結(jié)果 2.2GA-LM-BP神經(jīng)網(wǎng)絡(luò)基本參數(shù)的確定 BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)為標(biāo)準(zhǔn)的3層結(jié)構(gòu)。據(jù)經(jīng)驗(yàn)由連續(xù)4年的農(nóng)機(jī)總動(dòng)力預(yù)測(cè)下一年的農(nóng)機(jī)總動(dòng)力值,因而輸入層的節(jié)點(diǎn)數(shù)為4,輸出層的節(jié)點(diǎn)數(shù)為1。本文是以云南省1985-2015年的農(nóng)機(jī)總動(dòng)力作為訓(xùn)練樣本,用[Xi,Xi+1,Xi+2,Xi+3]作為BP網(wǎng)絡(luò)的輸入樣本,Xi+4作為輸出樣本,則輸入樣本為 輸出樣本為 本文預(yù)測(cè)模型采用tansig函數(shù)作為輸入層到隱含層的傳遞函數(shù),purelin函數(shù)作為隱含層到輸出層的傳遞函數(shù),trainlm函數(shù)作為訓(xùn)練函數(shù)。根據(jù)初始化參數(shù)設(shè)置原則及預(yù)測(cè)要求,經(jīng)過多次訓(xùn)練,確定GA算法的遺傳代數(shù)T=100,種群大小M=60,交叉概率Pc=0.4,變異概率Pm=0.08,BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練次數(shù)為1 000次,學(xué)習(xí)速率為0.05,訓(xùn)練目標(biāo)為0.000 01,其余參數(shù)選擇默認(rèn)值。 以表1中云南省農(nóng)機(jī)總動(dòng)力的歸一化數(shù)據(jù)作為樣本建立GA-LM-BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行仿真訓(xùn)練,并以相同的參數(shù)建立BP神經(jīng)網(wǎng)絡(luò)、LM-BP神經(jīng)網(wǎng)絡(luò)和GA-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型,訓(xùn)練完成后云南省農(nóng)機(jī)總動(dòng)力的真實(shí)值與預(yù)測(cè)值的結(jié)果如表2所示。 表2 預(yù)測(cè)結(jié)果 續(xù)表2 由表2的預(yù)測(cè)結(jié)果可以看出:以1985-2015年的云南省農(nóng)機(jī)總動(dòng)力作為訓(xùn)練樣本,4種算法的預(yù)測(cè)值與真實(shí)值都較為一致,都有較好的預(yù)測(cè)精度。表2中,BP神經(jīng)網(wǎng)絡(luò)、LM-BP神經(jīng)網(wǎng)絡(luò)、GA-BP神經(jīng)網(wǎng)絡(luò)和GA-LM-BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果的平均相對(duì)誤差分別為0.9266 74%、0.654 053%、0.493 122%和0.313 362%??梢悦黠@看出:GA算法與LM算法都能提高BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度,而將GA算法與LM算法結(jié)合優(yōu)化BP神經(jīng)網(wǎng)絡(luò)能得到更好的預(yù)測(cè)效果。這說明,GA-LM-BP神經(jīng)網(wǎng)絡(luò)有良好的預(yù)測(cè)能力。 因此,本文運(yùn)用GA-LM-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練好的模型對(duì)云南省2016-2020年的農(nóng)機(jī)總動(dòng)力進(jìn)行預(yù)測(cè),通過反歸一化計(jì)算后,其結(jié)果如表3所示。 表32016-2020年云南省農(nóng)機(jī)總動(dòng)力預(yù)測(cè)值 Table 3The predicted value of total power of Yunnan Province’s agricultural machinery during 2016-2020 年份農(nóng)機(jī)總動(dòng)力預(yù)測(cè)值/萬kW20163439.4920173594.3920183724.0020193862.8420203952.78 在表3云南省農(nóng)機(jī)總動(dòng)力預(yù)測(cè)結(jié)果中,2016年云南省農(nóng)機(jī)總動(dòng)力達(dá)到3 439.49萬kW,這與云南省農(nóng)業(yè)廳提出的2016年全省預(yù)計(jì)新增農(nóng)機(jī)總動(dòng)力76萬kW、達(dá)3 409萬kW的數(shù)據(jù)較為吻合。云南省人民政府為貫徹落實(shí)國(guó)務(wù)院關(guān)于促進(jìn)農(nóng)業(yè)機(jī)械化和農(nóng)機(jī)工業(yè)又好又快發(fā)展的要求,提出2020年全省農(nóng)機(jī)總動(dòng)力達(dá)4 000萬kW的發(fā)展目標(biāo),與表3中預(yù)測(cè)2020年云南省農(nóng)機(jī)總動(dòng)力達(dá)到3 952.78萬kW有少許差距。為了達(dá)到云南省2020年農(nóng)機(jī)總動(dòng)力的發(fā)展目標(biāo),在接下來的幾年中云南省還需要提高農(nóng)業(yè)機(jī)械化水平。 農(nóng)機(jī)總動(dòng)力是衡量農(nóng)業(yè)機(jī)械化的重要指標(biāo)之一,對(duì)其發(fā)展變化趨勢(shì)進(jìn)行準(zhǔn)確預(yù)測(cè)能為農(nóng)機(jī)化的發(fā)展規(guī)劃提供科學(xué)的依據(jù)。本文提出了GA-LM-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,結(jié)合GA算法的全局搜索尋優(yōu)能力與LM算法的快速優(yōu)化能力避免了BP神經(jīng)網(wǎng)絡(luò)易于陷于局部極小的情況。利用云南省1985-2015年農(nóng)機(jī)總動(dòng)力數(shù)據(jù),建立GA-LM-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,并與BP神經(jīng)網(wǎng)絡(luò)、LM-BP神經(jīng)網(wǎng)絡(luò)和GA-BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果進(jìn)行對(duì)比。預(yù)測(cè)結(jié)果中,基于4種算法的預(yù)測(cè)結(jié)果的平均相對(duì)誤差分別為0.926 674%、0.654 053%、0.493 122%和0.313 362%,表明4種模型都有較好的預(yù)測(cè)性能。其中,組合型算法的精度明顯優(yōu)于單一算法,而3種算法的組合GA-LM-BP算法有最好的預(yù)測(cè)效果。因此,本文并通過GA-LM-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練好的模型對(duì)2016-2020年云南省農(nóng)機(jī)總動(dòng)力進(jìn)行了預(yù)測(cè),為云南省以后的農(nóng)業(yè)機(jī)械發(fā)展規(guī)劃提供理論依據(jù)。 參考文獻(xiàn): [1]王吉權(quán),王福林,邱立春.基于BP神經(jīng)網(wǎng)絡(luò)的農(nóng)機(jī)總動(dòng)力預(yù)測(cè)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2011,42(12):121. [2]張長(zhǎng)勝,歐陽丹彤,岳娜,等.一種基于遺傳算法和LM算法的混合學(xué)習(xí)算法[J].吉林大學(xué)學(xué)報(bào):理學(xué)版,2008,46(4):675-677. [3]郭海如,李志敏,萬興,等.一種基于隨機(jī)GA的提高BP網(wǎng)絡(luò)泛化能力的方法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(1):105-106. [4]劉春,馬穎.遺傳算法和神經(jīng)網(wǎng)絡(luò)結(jié)合的PSD非線性校正[J].電子測(cè)量與儀器學(xué)報(bào),2015,29(8):1158. [5]李建偉,梁愛琴,田輝.2011-2015年河南省農(nóng)業(yè)機(jī)械總動(dòng)力的預(yù)測(cè)[J].農(nóng)機(jī)化研究,2012,34(6):47-48. [6]黃豪彩,黃宜堅(jiān),楊冠魯.基于LM算法的神經(jīng)網(wǎng)絡(luò)系統(tǒng)辨識(shí)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2003 (2):7. [7]崔雪梅.基于灰色GA-LM-BP模型的CODMn預(yù)測(cè)[J].水利水電科技進(jìn)展,2013,33(5):38-39. [8]中華人民共和國(guó)國(guó)家統(tǒng)計(jì)局.中國(guó)統(tǒng)計(jì)年鑒1986-2016[M].北京:中國(guó)統(tǒng)計(jì)出版社,1986-2016. [9]王吉權(quán).BP神經(jīng)網(wǎng)絡(luò)的理論及其在農(nóng)業(yè)機(jī)械化中的應(yīng)用研究[D].沈陽:沈陽農(nóng)業(yè)大學(xué),2011. [10]董小艷.陜西農(nóng)機(jī)化水平評(píng)價(jià)及耕種收機(jī)械化水平預(yù)測(cè)研究[D].楊凌:西北農(nóng)林科技大學(xué),2010.2 云南省農(nóng)機(jī)總動(dòng)力預(yù)測(cè)模型的建立
3 預(yù)測(cè)結(jié)果和分析
4 結(jié)論