楊魯景,武 進(jìn),石鵬飛
(成都理工大學(xué)管理科學(xué)學(xué)院,四川成都 610059)
改進(jìn)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型實(shí)證分析
楊魯景,武 進(jìn),石鵬飛
(成都理工大學(xué)管理科學(xué)學(xué)院,四川成都 610059)
對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了簡(jiǎn)單分析,并針對(duì)傳統(tǒng)BP網(wǎng)絡(luò)的缺陷,提出了一些改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)。最后建立基于神經(jīng)網(wǎng)絡(luò)的人口預(yù)測(cè)的模型,用傳統(tǒng)BP網(wǎng)絡(luò)和LMBP網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)對(duì)比,結(jié)果顯示LMBP網(wǎng)絡(luò)有非常好的預(yù)測(cè)效果,與傳統(tǒng)的BP網(wǎng)絡(luò)相比有更高的預(yù)測(cè)精度。
BP神經(jīng)網(wǎng)絡(luò);L-M算法;人口預(yù)測(cè)
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò),即誤差反向傳播算法的學(xué)習(xí)過(guò)程,由信息的正向傳播和誤差的反向傳播兩個(gè)過(guò)程組成。當(dāng)實(shí)際輸出與期望輸出不符時(shí),進(jìn)入誤差的反向傳播階段。誤差通過(guò)輸出層,按誤差梯度下降的方式修正各層權(quán)值,向隱層、輸入層逐層反傳。它是在Widrow-Hoff學(xué)習(xí)算法和ADALINE(ADApive Linear Neuron)網(wǎng)絡(luò)的基礎(chǔ)上針對(duì)其單層網(wǎng)絡(luò)結(jié)構(gòu)只能解決線性可分問(wèn)題的局限性而提出的。BP神經(jīng)網(wǎng)絡(luò)可以用來(lái)訓(xùn)練多層網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)自我學(xué)習(xí)來(lái)調(diào)節(jié)網(wǎng)絡(luò)參數(shù)從而能夠解決復(fù)雜的非線性關(guān)系的數(shù)據(jù)分析預(yù)測(cè)和性能優(yōu)化問(wèn)題。
BP算法使用均方誤差作為性能指數(shù),并使用最速下降法作為學(xué)習(xí)規(guī)則。算法的輸入是一個(gè)網(wǎng)絡(luò)正確行為的樣本集合:{p1,t1},{p2,t2},…,{pQ,tQ}。其中pq是網(wǎng)絡(luò)的輸入,tq是對(duì)應(yīng)的目標(biāo)輸出。每輸入一個(gè)樣本,便將網(wǎng)絡(luò)輸出與目標(biāo)輸出相比較。算法將調(diào)整網(wǎng)絡(luò)參數(shù)以使均方誤差最小化,其均方誤差函數(shù)F(x)為:
其中,x是網(wǎng)絡(luò)權(quán)值和偏置值的向量。算法通過(guò)使用第k次迭代時(shí)的均方誤差代替均方誤差的期望值來(lái)近似均方誤差的計(jì)算,近似均方誤差的最速下降算法為:
其中,α表示學(xué)習(xí)速度,m表示神經(jīng)網(wǎng)絡(luò)的第m層。
由于均方誤差函數(shù)F(x)只是網(wǎng)絡(luò)最后一層權(quán)值和偏置值得顯式函數(shù),所以為了計(jì)算其對(duì)網(wǎng)絡(luò)任意層的權(quán)值和偏置值的偏導(dǎo)數(shù),我們引入敏感度的概念。神經(jīng)元敏感度定義為:
它表示均方誤差函數(shù)對(duì)網(wǎng)絡(luò)第m層中第i個(gè)神經(jīng)元凈輸入變化的敏感性。則現(xiàn)在可以將近似最速下降法表示為:
式(5)和(6)給出了使用最速下降法計(jì)算權(quán)值矩陣wm(k+1)和偏置值矩陣bm(k+1)的表達(dá)式,唯一未知的就是敏感度向量sm。假設(shè)最后一層為第M層,則可以先求出網(wǎng)絡(luò)最后一層即第M層的敏感度sM,其矩陣形式為:
然后再用最后一層的敏感度逐一求出前面所有層的敏感度。即敏感度反向傳遞。敏感度間的遞推關(guān)系式為:
雖然BP網(wǎng)絡(luò)得到了廣泛的應(yīng)用,但由于其反向傳播算法為最速下降法,自身也存在一些缺陷和不足。主要問(wèn)題有兩個(gè):
首先,由于網(wǎng)絡(luò)誤差曲面在參數(shù)空間中的變化很大,在一些區(qū)域曲面非常平坦時(shí),我們需要一個(gè)大的學(xué)習(xí)速率,而在區(qū)域曲率很高時(shí),需要一個(gè)小的學(xué)習(xí)速率,但算法設(shè)定的學(xué)習(xí)速率是固定的,因此很難為其選擇一個(gè)合適的學(xué)習(xí)速率。且BP網(wǎng)絡(luò)采用的是目標(biāo)函數(shù)的一階導(dǎo)數(shù)信息導(dǎo)致其只具有線性收斂速度,網(wǎng)絡(luò)的收斂速度較慢,需要較長(zhǎng)的訓(xùn)練時(shí)間;其次,BP網(wǎng)絡(luò)使用的是最速下降算法,而最速下降算法是一種局部?jī)?yōu)化算法,但多層網(wǎng)絡(luò)結(jié)構(gòu)的目標(biāo)函數(shù)曲面通常比較復(fù)雜。BP網(wǎng)絡(luò)可以使權(quán)值收斂到某個(gè)值,但這個(gè)值可能只是一個(gè)局部最小值,不一定是誤差平面的全局最小值。
由于傳統(tǒng)BP算法使用的是最速下降算法,故稱其為SDBP(Steepest Descent Back Propagation)算法,其收斂速度比較慢。針對(duì)這個(gè)問(wèn)題在實(shí)際應(yīng)用中產(chǎn)生了相應(yīng)的改進(jìn)算法。改進(jìn)的BP算法通常分為兩類:?jiǎn)l(fā)式方法和標(biāo)準(zhǔn)的數(shù)值優(yōu)化方法。啟發(fā)式方法主要有:動(dòng)量方法(MOBP)和改變學(xué)習(xí)速度方法(VLBP)。MOBP易于實(shí)現(xiàn),并可以用批處理或增量處理模式,但他需要選擇動(dòng)量系統(tǒng),且r的取值范圍限制于[0,1]內(nèi),并且算法對(duì)它的選擇并不敏感。VLBP方法比MOBP快,但只能用批處理方式。所以它需要更多的存儲(chǔ)空間。標(biāo)準(zhǔn)的數(shù)值優(yōu)化方法主要有:共軛梯度法(CGBP)和Levenberg-Marquardt方法(LMBP)。CGBP也是一種批處理方法,在每次迭代時(shí)要進(jìn)行線性搜索,速度通常要快于VLBP。LMBP效果最為顯著,速度比前面三種改進(jìn)BP算法都要快。它需要選擇兩個(gè)參數(shù),但算法對(duì)參數(shù)的選擇關(guān)系并不敏感。本文采用的即是LMBP算法。
Levenberg-Marquardt算法是牛頓法的變形,用以最小化那些作為其他非線性函數(shù)平方和的函數(shù)。假設(shè)列向量。使用牛頓法作為網(wǎng)絡(luò)的學(xué)習(xí)規(guī)則,則:
其中,為Hessian矩陣的逆矩陣,gk為梯度。
設(shè)誤差函數(shù)為e(x),性能函數(shù)為誤差平方和函數(shù)F(x),則:
其中J(x)為Jacobian矩陣。
Hessian矩陣可以近似表示為
如果假設(shè)S(x)很小,可以將Hessian矩陣近似表示為
由此可以得到變形的高斯-牛頓法:
Levenberg-Marquardt算法中的關(guān)鍵一步就是求Jacobian矩陣:假設(shè)誤差向量為:
參數(shù)向量為:
Jacobian矩陣中的元素可以由BP算法的簡(jiǎn)單改進(jìn)計(jì)算,由于誤差函數(shù)只是網(wǎng)絡(luò)最后一層權(quán)值和偏置值的顯式函數(shù),我們?nèi)孕枰朊舾卸雀拍?。由于LMBP算法是將所有輸入數(shù)據(jù)作為一個(gè)整體進(jìn)行處理,故它的敏感度相當(dāng)于BP算法的敏感度的矩陣增廣。最終得到的敏感度增廣矩陣間的遞推關(guān)系表達(dá)式為:
LMBP算法不像BP算法那樣從輸入樣本集中一次選擇一個(gè)輸入進(jìn)行迭代訓(xùn)練,它使用一種批量處理的方式,將數(shù)據(jù)樣本集作為一個(gè)整體,當(dāng)整個(gè)訓(xùn)練集都參與計(jì)算后網(wǎng)絡(luò)參數(shù)才會(huì)更新,這些樣本的梯度被平均在一起以或得更精確的梯度估計(jì),從而減少局部收斂的情況。而且LMBP算法采用的是牛頓法的變形,由于引入了Jacobian矩陣,在對(duì)網(wǎng)絡(luò)參數(shù)求偏導(dǎo)時(shí)使用誤差的導(dǎo)數(shù)來(lái)代替均方誤差的導(dǎo)數(shù),使其與BP算法相比具有更快的收斂速度。
本文選取了中國(guó)統(tǒng)計(jì)局公布的1993~2013年人口數(shù)據(jù)。其中1993~2012年這20年的數(shù)據(jù)作為預(yù)測(cè)模型的原始數(shù)列進(jìn)行網(wǎng)絡(luò)訓(xùn)練,用2013年人口數(shù)據(jù)進(jìn)行檢驗(yàn)。首先,分別用傳統(tǒng)的BP算法和LMBP算法建立網(wǎng)絡(luò),1993~2012年的數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,網(wǎng)絡(luò)訓(xùn)練完成后,再用兩個(gè)訓(xùn)練好的網(wǎng)絡(luò)分別預(yù)測(cè)2013年人口數(shù)量(見表1與圖1)。
表1 BP算法與LMBP算法預(yù)測(cè)結(jié)果
圖1 BP算法與LMBP算法預(yù)測(cè)效果圖
從表1可以看出,LMBP網(wǎng)絡(luò)與原始BP網(wǎng)絡(luò)相比,有更高的預(yù)測(cè)精度。從圖1可以看出雖然傳統(tǒng)的BP網(wǎng)絡(luò)預(yù)測(cè)結(jié)果反應(yīng)了預(yù)測(cè)數(shù)據(jù)的一定發(fā)展趨勢(shì),但其預(yù)測(cè)波動(dòng)較大,顯現(xiàn)出較大的誤差,而LMBP網(wǎng)絡(luò)很好的模擬了預(yù)測(cè)數(shù)據(jù),預(yù)測(cè)結(jié)果很平穩(wěn),預(yù)測(cè)精度也很高。
本文通過(guò)人口預(yù)測(cè)的實(shí)證分析反應(yīng)出了傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)雖然能體現(xiàn)出人口發(fā)展呈增長(zhǎng)的趨勢(shì),但對(duì)于預(yù)測(cè)人口數(shù)量,其誤差太大。而LMBP神經(jīng)網(wǎng)絡(luò)很好彌補(bǔ)了傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的缺點(diǎn),其預(yù)測(cè)的結(jié)果非常精確,網(wǎng)絡(luò)也更穩(wěn)定。但LMBP神經(jīng)網(wǎng)絡(luò)需要存儲(chǔ)Jacobian矩陣,所以其存儲(chǔ)需求大,同時(shí)對(duì)于求JTJ矩陣的逆,因該矩陣是n×n的(n是網(wǎng)絡(luò)中權(quán)值和偏置值的總數(shù)),如果神經(jīng)網(wǎng)絡(luò)中的參數(shù)過(guò)多,計(jì)算將會(huì)變得很復(fù)雜甚至是難以實(shí)現(xiàn),這些問(wèn)題都需要進(jìn)一步的改進(jìn)和完善。
[1]Martin T,Hagan,Howard B.et al.Neural Network Design[M].北京:機(jī)械工業(yè)出版社,2002.
[2]聞新,周露,王丹力,等.Matlab神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)[M].北京:科技出版社,2000.
[3]李文學(xué),李慧,賀琳.BP神經(jīng)網(wǎng)絡(luò)在非線性時(shí)間序列預(yù)測(cè)中的應(yīng)用[J].長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2003,24(3):39-40.
[4]羅東坤,徐平.基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的天然氣需求預(yù)測(cè)[J].油氣田地面工程,2008,27(7):20-21.
[5]陶陽(yáng)威,孫梅,王小芳.基于改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)的中國(guó)能源需求預(yù)測(cè)研究[J].山西財(cái)經(jīng)大學(xué)學(xué)報(bào),2010,32(2):3-5.
Empirical Analysis of Improved BP Neural Network Prediction Model
YANG Lu-jing,WU Jin,SHI Peng-fei
(School of Management Science,Chengdu University of Technology,Chengdu Sichuan,610059)
In this paper,the BP neural networks are briefly analyzed,and aiming at the shortage of the conventional BP networks,some improved BP neural network is proposed.Finally,a population prediction model base on neural network is established.The forecast results are compared between the traditional BP network and LMBP network.The results show that LMBP network has very good forecast effect,and compared with the tradition BP algorithm,it has higher forecast accuracy.
BP neural networks;L-M algorithm;population prediction
175.14
A
1674-0874(2015)04-0014-03
2015-04-18
楊魯景(1991-),男,苗族,貴州銅仁人,在讀碩士,研究方向:基礎(chǔ)數(shù)學(xué)與概率論。
〔責(zé)任編輯 高?!?/p>