馬海志,王福林,王慧鵬,何志連
(東北農(nóng)業(yè)大學(xué) 工程學(xué)院,哈爾濱 150030)
?
基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的黑龍江農(nóng)機(jī)總動(dòng)力預(yù)測(cè)
馬海志,王福林,王慧鵬,何志連
(東北農(nóng)業(yè)大學(xué) 工程學(xué)院,哈爾濱150030)
摘要:BP神經(jīng)網(wǎng)絡(luò)在人工神經(jīng)網(wǎng)絡(luò)中起著至關(guān)重要的作用,通過(guò)分析標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)的基本算法,指出標(biāo)準(zhǔn)BP算法的一些不足,并針對(duì)這些不足提出了以一種以相對(duì)誤差作為誤差傳遞信號(hào)的新的改進(jìn)方法。經(jīng)試驗(yàn)證明:該方法大大提高了BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果的精度,同時(shí)這種新的改進(jìn)思想也可以結(jié)合其他改進(jìn)方法一起應(yīng)用,以更大程度上地提高BP神經(jīng)網(wǎng)絡(luò)的運(yùn)算速度和預(yù)測(cè)精度。
關(guān)鍵詞:農(nóng)機(jī)總動(dòng)力;預(yù)測(cè);BP算法;相對(duì)誤差
0引言
作為一門新興的信息處理科學(xué),人工神經(jīng)網(wǎng)絡(luò)是以人類大腦的工作模式為基礎(chǔ)而日益發(fā)展起來(lái)的一門新型學(xué)科,近年來(lái)得到越來(lái)越多的專家和學(xué)者的重視。BP神經(jīng)網(wǎng)絡(luò)因其可塑性強(qiáng)、結(jié)構(gòu)簡(jiǎn)單等特性,在各領(lǐng)域中得到了廣泛的應(yīng)用。但標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)又存在幾個(gè)較為明顯的缺陷,具體如下:訓(xùn)練過(guò)程中易出現(xiàn)振蕩和波動(dòng)現(xiàn)象、收斂速度過(guò)慢、易陷入局部極小和自身網(wǎng)絡(luò)結(jié)構(gòu)難以確定等。針對(duì)上述缺陷,學(xué)者們提出了很多改進(jìn)算法,而本文提出一種以相對(duì)誤差作為誤差信號(hào)的改進(jìn)算法,對(duì)BP神經(jīng)網(wǎng)絡(luò)算法進(jìn)行改進(jìn)[1]。
1標(biāo)準(zhǔn)BP算法
BP神經(jīng)網(wǎng)絡(luò)模型是由輸入層、隱含層和輸出層組成,其中隱含層可以是1層或多層。其學(xué)習(xí)過(guò)程如下:輸入信號(hào)從輸入層通過(guò)各隱含層,向輸出層傳遞,在輸出端產(chǎn)生輸出信號(hào)。傳遞過(guò)程中各層神經(jīng)元狀態(tài)只影響下層神經(jīng)元的狀態(tài),并且信號(hào)在傳遞過(guò)程中網(wǎng)絡(luò)權(quán)值保持不變。
若輸出層得不到期望的輸出,則輸出端的誤差信號(hào)開始從輸出層逐層向前傳遞,在誤差反向傳播過(guò)程中,誤差反饋調(diào)節(jié)網(wǎng)絡(luò)的權(quán)值,不斷修正網(wǎng)絡(luò)的權(quán)值,使得實(shí)際輸出與期望輸出更為接近[2]。
輸出層中有
(1)
隱含層中有
(2)
(3)
其中,每個(gè)神經(jīng)元的激勵(lì)函數(shù)是可微的Sigmoid函數(shù),則
(4)
且有
(5)
輸出層各神經(jīng)元的誤差能量總和為
(6)
式(1)~式(6)構(gòu)成了標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)的基本數(shù)學(xué)模型[3]。
圖1 3層BP網(wǎng)絡(luò)結(jié)構(gòu)圖
2標(biāo)準(zhǔn)BP算法的缺點(diǎn)
BP神經(jīng)網(wǎng)絡(luò)以其可塑性強(qiáng)、結(jié)構(gòu)簡(jiǎn)單等優(yōu)點(diǎn)得到廣泛應(yīng)用,但標(biāo)準(zhǔn)BP算法也因其自身原因存在一些不可避免的缺點(diǎn):
1)收斂速度慢。在BP算法中,學(xué)習(xí)率η的選取至關(guān)重要,η值越大則網(wǎng)絡(luò)收斂速度就越快,但是過(guò)大的η值會(huì)引起網(wǎng)絡(luò)不穩(wěn)定;η值小可以避免網(wǎng)絡(luò)不穩(wěn)定,但收斂速度則會(huì)變慢。因此,固定的學(xué)習(xí)率嚴(yán)重制約了BP神經(jīng)網(wǎng)絡(luò)的收斂速度。
2)易陷入局部極小值。在BP網(wǎng)絡(luò)的誤差計(jì)算中,由于多層網(wǎng)絡(luò)誤差計(jì)算較為復(fù)雜,容易出現(xiàn)存在多個(gè)局部極小值的可能,因此當(dāng)標(biāo)準(zhǔn)BP算法收斂時(shí),無(wú)法判斷是否已求到最優(yōu)解。
3)隱含層層數(shù)及神經(jīng)元數(shù)的選取沒有相應(yīng)理論指導(dǎo)。目前,隱含層層數(shù)及神經(jīng)元數(shù)的選取大多依靠以往經(jīng)驗(yàn)選取,缺乏相應(yīng)理論依據(jù),因此網(wǎng)絡(luò)可能存在極大的亢余性,使得網(wǎng)絡(luò)運(yùn)算速度增加。
4)對(duì)于數(shù)值數(shù)量關(guān)系差距較大的數(shù)據(jù)預(yù)測(cè)效果較差[4-7]。在BP網(wǎng)絡(luò)的誤差計(jì)算中,當(dāng)實(shí)驗(yàn)數(shù)據(jù)數(shù)量關(guān)系相對(duì)較大時(shí),往往會(huì)導(dǎo)致預(yù)測(cè)結(jié)果誤差偏大。
此外,BP網(wǎng)絡(luò)還存在學(xué)習(xí)率、初始權(quán)值等選取的大小影響網(wǎng)絡(luò)運(yùn)算快慢等問(wèn)題,所以在學(xué)習(xí)率、初始權(quán)值的選取上需要經(jīng)過(guò)反復(fù)測(cè)試,在此過(guò)程中也需要很長(zhǎng)的時(shí)間。
本文正是針對(duì)第1點(diǎn)和第4點(diǎn)的不足,應(yīng)用數(shù)據(jù)的相對(duì)誤差作為誤差信號(hào)來(lái)對(duì)標(biāo)準(zhǔn)BP算法進(jìn)行改進(jìn),以提高對(duì)于數(shù)值數(shù)量關(guān)系差距較大的數(shù)據(jù)進(jìn)行預(yù)測(cè)時(shí)的運(yùn)算速度和精度。
3BP算法的改進(jìn)
應(yīng)用標(biāo)準(zhǔn)BP算法預(yù)測(cè)數(shù)值的過(guò)程中,在數(shù)據(jù)中存在數(shù)量關(guān)系差距較大的情況下,往往會(huì)使得誤差偏大。這是由于BP算法通常采用絕對(duì)誤差作為誤差傳遞信號(hào),而當(dāng)數(shù)據(jù)間數(shù)量關(guān)系差距較大時(shí),其絕對(duì)誤差往往會(huì)因不考慮與實(shí)際值間關(guān)系而在無(wú)形中將系統(tǒng)整體誤差值放大,從而導(dǎo)致最終預(yù)測(cè)結(jié)果精確度不高、運(yùn)算速度較慢。因此,采用相對(duì)誤差作為網(wǎng)絡(luò)誤差的傳遞信號(hào),則可以很好地避免此類不足所帶來(lái)的影響。為此,提出一種以相對(duì)誤差作為誤差傳遞信號(hào)的改進(jìn)方法是很有實(shí)際意義的。下面將應(yīng)用相對(duì)誤差作為誤差傳遞函數(shù)的過(guò)程進(jìn)行如下推導(dǎo)。
(7)
(8)
(9)
設(shè)局部梯度為
(10)
(11)
(12)
因此,修正量為
(13)
隱層上任意節(jié)點(diǎn)下一次迭代時(shí)與輸出層上任一節(jié)點(diǎn)之間的權(quán)值為
(14)
隱層與隱層間的權(quán)值修正量為
(15)
設(shè)局部梯度為
(16)
(17)
又因?yàn)?/p>
(18)
所以有
(19)
又因?yàn)?/p>
(20)
所以有
(21)
那么,下次迭代時(shí)隱層上任意節(jié)點(diǎn)與另一隱層上任意節(jié)點(diǎn)間的權(quán)值為
(22)
輸入層與隱層間權(quán)值修正量的推導(dǎo)方法與隱層與隱層間權(quán)值修正量的推導(dǎo)方法相同。權(quán)值修正量為
(23)
(24)
那么,下次迭代時(shí)輸入層上任一節(jié)點(diǎn)與隱層上任一節(jié)點(diǎn)間的權(quán)值為
(25)
4應(yīng)用實(shí)例
以預(yù)測(cè)黑龍江省農(nóng)機(jī)總動(dòng)力為例,根據(jù)黑龍江省統(tǒng)計(jì)年鑒,黑龍江省1980-2009年農(nóng)機(jī)總動(dòng)力如表1所示[7]。
表1 1980-2009年黑龍江省農(nóng)機(jī)總動(dòng)力 MW
下面以標(biāo)準(zhǔn)BP算法和上文所述的應(yīng)用相對(duì)誤差作為誤差傳遞函數(shù)的改進(jìn)BP算法,分別對(duì)該數(shù)據(jù)進(jìn)行擬合,并預(yù)測(cè)2011-2013年的黑龍江省農(nóng)機(jī)總動(dòng)力。訓(xùn)練采用的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)均為3-4-1,同時(shí)應(yīng)用兩種算法訓(xùn)練500 000次,其預(yù)測(cè)精度情況如表2所示。考慮到初始權(quán)值選取對(duì)預(yù)測(cè)結(jié)果的影響,表2中的結(jié)果為訓(xùn)練10次得到的平均值。由表2可知:標(biāo)準(zhǔn)BP算法經(jīng)過(guò)500 000次訓(xùn)練后得到的平均相對(duì)誤差為2.829%;而改進(jìn)后的BP算法經(jīng)同樣訓(xùn)練次數(shù)后得到的平均相對(duì)誤差為1.824%,其預(yù)測(cè)精度明顯提高。
表2 預(yù)測(cè)精度情況
5結(jié)論
以相對(duì)誤差作為誤差傳遞信號(hào),可以明顯提高相同運(yùn)算次數(shù)下預(yù)測(cè)值的精度。本文創(chuàng)新點(diǎn)在于提出了一種新的改進(jìn)思想,并且這種改進(jìn)思想可結(jié)合其他改進(jìn)算法應(yīng)用,
在更大程度上提高預(yù)測(cè)的精度和運(yùn)算速度,為BP神經(jīng)網(wǎng)絡(luò)的廣泛應(yīng)用打下堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn):
[1]王吉權(quán).BP神經(jīng)網(wǎng)絡(luò)的理論及其在農(nóng)業(yè)機(jī)械化中的應(yīng)用研究[D].沈陽(yáng):沈陽(yáng)農(nóng)業(yè)大學(xué),2011.
[2]高雋.人工神經(jīng)網(wǎng)絡(luò)原理及仿真實(shí)例[M].北京:機(jī)械工業(yè)出版社,2007.
[3]王燕妮,樊養(yǎng)余.改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的自適應(yīng)預(yù)測(cè)算法[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(17):23-26.
[4]陳思.一種BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)率的改進(jìn)方法[J].長(zhǎng)春師范學(xué)院學(xué)報(bào):自然科學(xué)版,2010,29(4):25-27.
[5]羅四維,肖曄,丁嘉種.學(xué)習(xí)率自動(dòng)調(diào)整的BP算法[J].北方交通大學(xué)學(xué)報(bào),1993,17(2):173-177.
[6]鄧娟,楊家明.一種改進(jìn)的BP算法神經(jīng)網(wǎng)絡(luò)[J].東華大學(xué)學(xué)報(bào):自然科學(xué)版,2005,31(3):123-126.
[7]王吉權(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-126.
Abstract ID:1003-188X(2016)02-0022-EA
Prediction of Total Power in Agriculture Machinery of Heilongjiang Based on An Improving Method of BP Neural Network
Ma Haizhi, Wang Fulin, Wang Huipeng, He Zhilian
(College of Engineering, Northeast Agricultural University, Harbin 150030, China )
Abstract:BP neural network plays a vital role in artificial neural networks. In this paper, through the analysis of the basic algorithm of standard BP neural network, and points out some shortcomings of the standard BP algorithm, to solve these problems we use a relative error as a new improved method of error transfer signal .The test proved that this method greatly improves the accuracy of BP neural network prediction, and this new and improved idea can also be applied together with other improved methods to predict the computing speed and accuracy to a greater extent to improve BP neural network.
Key words:total power of agriculture machinery; forecast; BP Neural Network; relative error
文章編號(hào):1003-188X(2016)02-0022-04
中圖分類號(hào):S23-01
文獻(xiàn)標(biāo)識(shí)碼:A
作者簡(jiǎn)介:馬海志(1989-),男,黑龍江七臺(tái)河人,碩士研究生,(E-mail)413015934@qq.com。通訊作者:王福林(1960-),男,黑龍江安達(dá)人,教授,博士生導(dǎo)師,(E-mail)fulinwang1462@126.com。
基金項(xiàng)目:國(guó)家社會(huì)科學(xué)基金項(xiàng)目(13BJY098)
收稿日期:2015-01-11