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