王路等
摘 要: 為了克服傳統(tǒng)BP算法收斂速度慢和局部極小點等問題,提出了一種改進的BP網(wǎng)絡(luò)訓(xùn)練方法,將改進的BP算法和遺傳算法相結(jié)合。首先引入遺傳算法中群體的概念,選取最好個體中的誤差作為最小誤差,其次利用Gauss變異生成的兩個小隨機數(shù)作為BP算法中的學(xué)習(xí)率和沖量系數(shù),實現(xiàn)對兩個參數(shù)的動態(tài)調(diào)整,以達到對BP網(wǎng)絡(luò)的權(quán)值優(yōu)化的目的。實驗結(jié)果表明,該方法有效提高了BP網(wǎng)絡(luò)的收斂速度,在訓(xùn)練時間方面具有明顯的優(yōu)越性,具有較好的實用性。
關(guān)鍵詞: BP神經(jīng)網(wǎng)絡(luò); Gauss變異; 學(xué)習(xí)率; 沖量系數(shù); 動態(tài)調(diào)整
中圖分類號: TN911?34 文獻標(biāo)識碼: A 文章編號: 1004?373X(2014)06?0012?03
0 引 言
神經(jīng)網(wǎng)絡(luò)是一個黑箱模型,它具有很強的適應(yīng)能力和學(xué)習(xí)能力,在人工智能、自動控制、模式識別、信號處理、預(yù)測及評價等方面都有著越來越廣泛的應(yīng)用[1?3]。目前已經(jīng)提出了多種訓(xùn)練算法和網(wǎng)絡(luò)模型,其中應(yīng)用最廣泛的是前饋型神經(jīng)網(wǎng)絡(luò)。前饋型神經(jīng)網(wǎng)絡(luò)訓(xùn)練中使用最多的方法是誤差反向傳播(Back Propagation,BP)學(xué)習(xí)算法。BP算法系統(tǒng)地解決了多層網(wǎng)絡(luò)中隱含神經(jīng)元連接權(quán)的學(xué)習(xí)問題,使BP 網(wǎng)絡(luò)成為應(yīng)用最為廣泛的一種神經(jīng)網(wǎng)絡(luò)模型。但是BP網(wǎng)絡(luò)也有一些不足[4?5]。比如:收斂速度太慢問題、局部極小點問題、網(wǎng)絡(luò)癱瘓問題、穩(wěn)定性問題、步長問題等,極大地影響了神經(jīng)網(wǎng)絡(luò)的進一步應(yīng)用。很多學(xué)者對BP 網(wǎng)絡(luò)進行了深入研究并提出了許多改進的模型[6?9],這些改進模型的收斂速度比標(biāo)準(zhǔn)梯度法快數(shù)十倍,但它們?nèi)远疾皇瞧毡檫m用的,都有著各自的優(yōu)勢或缺陷。本文結(jié)合BP網(wǎng)絡(luò)的訓(xùn)練過程,提出一種改進的BP網(wǎng)絡(luò)訓(xùn)練方法,將Gauss變異與改進的BP算法相結(jié)合,對學(xué)習(xí)率參數(shù)和沖量系數(shù)進行動態(tài)調(diào)整,使得權(quán)值能很好的調(diào)整。避免了傳統(tǒng)的BP 算法容易陷入局部極小的問題,同時可以提高BP 算法的訓(xùn)練速度,降低收斂時間。
1 BP神經(jīng)網(wǎng)絡(luò)
BP 神經(jīng)網(wǎng)絡(luò)是一種單向傳播的多層前饋網(wǎng)絡(luò)[1],它包含輸入層、中間層(隱層)和輸出層,是目前應(yīng)用較多的一種模型。該算法在層次型網(wǎng)絡(luò)結(jié)構(gòu)上采用誤差逆?zhèn)鞑W(xué)習(xí)方式,學(xué)習(xí)過程由正向傳播和誤差逆?zhèn)鞑ソM成。算法的主要思想是把學(xué)習(xí)過程分為兩個階段:第一階段是正向傳播過程,輸入信息從輸入層經(jīng)中間層逐層計算各神經(jīng)元的實際輸出值,每一層神經(jīng)元的狀態(tài)只對下一層神經(jīng)元的狀態(tài)產(chǎn)生影響;第二階段是反向傳播過程,若在輸出層未能得到期望的輸出值,則逐層遞歸計算實際輸出與期望輸出之間的差值,根據(jù)此誤差修正前一層權(quán)值使誤差信號趨向最小。它通過連續(xù)不斷地在相對于誤差函數(shù)斜率下降的方向上計算網(wǎng)絡(luò)權(quán)值和偏差變化而逐漸逼近目標(biāo)。每一次權(quán)值和誤差的變化都與網(wǎng)絡(luò)誤差的影響成正比。
假設(shè)神經(jīng)網(wǎng)絡(luò)輸出層有m個神經(jīng)元,若輸出層第j個神經(jīng)元與中間層第i個神經(jīng)元之間權(quán)值為[wij],中間層第i個神經(jīng)元的輸出為[Oi],閾值為[bj],則輸出層第j個神經(jīng)元的輸入總和為其上層各單元加權(quán)和:
輸出實際值為:
若輸出期望值為[yj],則網(wǎng)絡(luò)關(guān)于第p個樣本的誤差函數(shù)定義為:
而將網(wǎng)絡(luò)關(guān)于整個樣本集的全局誤差函數(shù)定義為:
BP算法采用梯度下降法調(diào)整權(quán)值,每次調(diào)整的量為:
式中:[δj=f(netj)(yj-Oj)];[α]為學(xué)習(xí)率,它決定每一次訓(xùn)練中的權(quán)值變化大小。
BP算法主要的優(yōu)點是簡單、易于實現(xiàn)。但是BP 算法有兩個致命的缺陷:首先最大的缺陷是BP算法很可能陷入局部極小值,因為通常的誤差曲面都是凸凹不平的,會有多個極值點;另一個缺陷是收斂速度慢,當(dāng)采用梯度下降法時步長不容易確定,步長太長則達不到精度,甚至?xí)l(fā)散;太小則迭代步驟增加,收斂速度慢。鑒于此,目前對BP算法的改進主要集中在兩個方面:其一是避免陷入局部極小值,一旦陷入要想辦法逃出;其二是改進迭代算法,加快收斂速度。
2 Gauss變異與改進的BP算法相結(jié)合
BP算法的不足在一定程度上都與每次權(quán)值修改程度大小有關(guān)。如果每次訓(xùn)練,權(quán)值都能向全局極小值方法進行修改,那么上述問題都能得到解決??捎眠z傳算法對BP算法中的學(xué)習(xí)率進行動態(tài)調(diào)整。初始時將學(xué)習(xí)率設(shè)大一些,加快算法的收斂。后期將學(xué)習(xí)率設(shè)小一些,以便可以找到全局極小值點。為了使算法的整體性能更高,采用將改進的BP算法和遺傳算法相結(jié)合。
2.1 改進的BP算法
BP網(wǎng)絡(luò)的訓(xùn)練過程是根據(jù)樣本集對神經(jīng)元之間的連接權(quán)進行調(diào)整的過程。其次,BP網(wǎng)絡(luò)執(zhí)行的是有導(dǎo)師訓(xùn)練。所以,其樣本集是由形如:
(輸入向量,理想輸出向量)
的向量對構(gòu)成的。BP網(wǎng)絡(luò)接收樣本的順序會對訓(xùn)練的結(jié)果有很大的影響。它更“偏愛”較后出現(xiàn)的樣本。如果每次循環(huán)都按照[(X1,Y1)],[(X2,Y2)],…,[(XS,YS)]所給定的順序進行訓(xùn)練,在網(wǎng)絡(luò)“學(xué)成”投入運行后,對于與該樣本序列較后的樣本較接近的輸入,網(wǎng)絡(luò)所給出的輸出的精度將明顯高于與樣本序列較前的樣本較接近的輸入對應(yīng)的輸出精度。所以算法應(yīng)該避免“分別”、“依次”的出現(xiàn)。因此,不再“分別”、“依次”根據(jù)[(X1,Y1)],[(X2,Y2)],…,[(XS,YS)]對權(quán)值向量[W(1)],[W(2)],…,[W(M)]進行調(diào)整,而是用[(X1,Y1)],[(X2,Y2)],…,[(XS,YS)]的“總效果”去實施對[W(1)],[W(2)],…,[W(M)]的修改。獲取樣本集“總效果”的最簡單的辦法是取:
式中:∑表示對整個樣本集的求和;[Δpw(k)ij]代表神經(jīng)元i到神經(jīng)元j的連接權(quán)[w(k)ij]關(guān)于樣本[(Xp,Yp)]的調(diào)整量。
權(quán)值的本次修改要考慮上次修改的影響,以減少抖動問題。引入沖量系數(shù)[β],以將上次權(quán)值的調(diào)整量,進入當(dāng)前權(quán)值的修改過程,平滑學(xué)習(xí)路徑??紤]上次修改的影響,本次權(quán)值的修改公式為[1]:
式中:[Δwij′]為上一次的修改量;[Oi]表示第i個神經(jīng)元的輸出;[β]為沖量系數(shù),通常取0~1之間的小數(shù)。因為[β]值較大時,雖能加快訓(xùn)練速度,但影響精度及收斂性,太小又起不到影響本次權(quán)值修改的作用。因此,[β]的取值視具體問題由試驗確定。
上述算法較好地解決了因樣本的順序引起的精度問題和訓(xùn)練的抖動問題。但是,該算法的收斂速度還是比較慢的。為了解決收斂速度問題,可以給每一個神經(jīng)元增加一個偏移量來加快收斂速度。
2.2 Gauss變異調(diào)整學(xué)習(xí)率參數(shù)和沖量系數(shù)的基本思想
BP算法中,如果學(xué)習(xí)率步長、沖量系數(shù)不變,那么到后期可能由于步長太大從而不能繼續(xù)進行優(yōu)化。所以步長應(yīng)該進行動態(tài)調(diào)整。當(dāng)權(quán)值進行調(diào)整時,可用Gauss變異生成兩個小的隨機數(shù),并將這兩個小的隨機數(shù)作為學(xué)習(xí)率參數(shù)和沖量系數(shù)。
2.3 整體算法流程
為了避免讓算法陷入局部極小值點,將遺傳算法中群體的概念應(yīng)用進來。生成N個個體,每個個體執(zhí)行算法,算法運行完成后,選取最好個體中的誤差作為最小誤差。
每個個體執(zhí)行的算法如下:
3 實驗及實驗結(jié)果分析
為了說明Gauss變異的有效性,將本文中的改進算法與不加入Gauss變異和群體概念的改進BP算法在收斂速度方面進行比較。采用Balance?scale數(shù)據(jù)集進行了算法驗證,該數(shù)據(jù)集的訓(xùn)練樣本特征為4個,目標(biāo)輸出類型有3種,本文采取200個4維樣本向量構(gòu)造標(biāo)準(zhǔn)樣本空間,輸出為2維向量進行訓(xùn)練,其收斂曲線對比如圖1所示。
圖1 訓(xùn)練收斂曲線對比圖
圖1顯示的是迭代1 000次,算法的收斂速度。為了有可比性,初始權(quán)值設(shè)為固定值。從圖1中可以看出,加入Gauss變異后收斂速度大大提高。運行了幾個例子,都能得到這一結(jié)論。但對于不同的例子,產(chǎn)生的Gauss隨機數(shù)不能直接賦給學(xué)習(xí)率參數(shù)和沖量系數(shù),還要根據(jù)不同的實際,對隨機數(shù)乘上不同的權(quán)值。這個權(quán)值是個經(jīng)驗值,需要進行若干次實驗來確定一個比較優(yōu)的值。
另外,用此算法對一個數(shù)據(jù)集進行分類,采用breast?cancer?wiscon數(shù)據(jù)集,訓(xùn)練樣本和測試樣本根據(jù)Cross?validation[10]進行劃分。每個分區(qū)輪流作為測試樣本進行測試。由于breast?cancer?wiscon數(shù)據(jù)集比較簡單,分類屬性只有兩個值,所以只將分類屬性的值變換成0或1。BP網(wǎng)絡(luò)的輸出如果在[0,0.5]之間,則將屬性的值定為0;否則為1。算法參數(shù)設(shè)置如表1所示。
表1 算法參數(shù)設(shè)置
實驗結(jié)果如表2所示。
表2 實驗結(jié)果
從以上實驗結(jié)果可以得知,用Gauss變異動態(tài)調(diào)整學(xué)習(xí)率參數(shù)和沖量系數(shù),可以加快算法的收斂速度,并且可以得到比較好的分類結(jié)果。但是,Gauss函數(shù)自變量和隨機數(shù)權(quán)值應(yīng)取多大需要進行若干次實驗,才能確定一個比較好的值。
4 結(jié) 語
本文結(jié)合BP網(wǎng)絡(luò)的訓(xùn)練過程,提出一種改進的BP網(wǎng)絡(luò)訓(xùn)練方法,將Gauss變異與改進的BP算法相結(jié)合,對學(xué)習(xí)率參數(shù)和沖量系數(shù)進行動態(tài)調(diào)整,使權(quán)值得到很好的調(diào)整。實驗結(jié)果表明,此方法避免了傳統(tǒng)的BP 算法容易陷入局部極小的問題,在訓(xùn)練時間和收斂速度方面均表現(xiàn)出更優(yōu)的性能,具有比較好的實用性。
參考文獻
[1] 蔣宗禮.人工神經(jīng)網(wǎng)絡(luò)導(dǎo)論[M].北京:高等教育出版社,2001.
[2] 張毅,楊建國.基于灰色神經(jīng)網(wǎng)絡(luò)的機床熱誤差建模[J].上海交通大學(xué)學(xué)報,2011,45(11):1581?1585.
[3] 黃偉,何眸,夏暉.基于小波神經(jīng)網(wǎng)絡(luò)的IP網(wǎng)絡(luò)流量預(yù)測[J].計算機科學(xué),2011,38(10):296?298.
[4] 田景文,高美娟.人工神經(jīng)網(wǎng)絡(luò)算法研究與應(yīng)用[M].北京:北京理工大學(xué)出版社,2006.
[5] KUMAR S. Neural networks [M].北京:清華大學(xué)出版社,2006.
[6] YU X H, CHEN G A, CHENG S X. Dynamic learning rate optimization of the back propagation algorithm [J]. IEEE Transactions on Neural Networks, 1995: 6(3): 669?677.
[7] ROYCHOWDHURY P, SINGH Y P, CHANSARKAR R A. Dynamic tunneling technique for efficient training of multilayer perceptions [J]. IEEE Transactions on Neural Networks, 1999: 10(1): 48?55.
[8] 陳玉芳,雷霖.提高BP網(wǎng)絡(luò)收斂速率的又一種算法[J].計算機仿真,2004,21(11):74?79.
[9] 閻平凡,張長水.人工神經(jīng)網(wǎng)絡(luò)與模擬進化計算[M].北京:清華大學(xué)出版社,2001.
[10] WITTEN I H, FRANK E.數(shù)據(jù)挖掘?qū)嵱脵C器學(xué)習(xí)技術(shù)[M].北京:機械工業(yè)出版社,2006.
式中:[Δwij′]為上一次的修改量;[Oi]表示第i個神經(jīng)元的輸出;[β]為沖量系數(shù),通常取0~1之間的小數(shù)。因為[β]值較大時,雖能加快訓(xùn)練速度,但影響精度及收斂性,太小又起不到影響本次權(quán)值修改的作用。因此,[β]的取值視具體問題由試驗確定。
上述算法較好地解決了因樣本的順序引起的精度問題和訓(xùn)練的抖動問題。但是,該算法的收斂速度還是比較慢的。為了解決收斂速度問題,可以給每一個神經(jīng)元增加一個偏移量來加快收斂速度。
2.2 Gauss變異調(diào)整學(xué)習(xí)率參數(shù)和沖量系數(shù)的基本思想
BP算法中,如果學(xué)習(xí)率步長、沖量系數(shù)不變,那么到后期可能由于步長太大從而不能繼續(xù)進行優(yōu)化。所以步長應(yīng)該進行動態(tài)調(diào)整。當(dāng)權(quán)值進行調(diào)整時,可用Gauss變異生成兩個小的隨機數(shù),并將這兩個小的隨機數(shù)作為學(xué)習(xí)率參數(shù)和沖量系數(shù)。
2.3 整體算法流程
為了避免讓算法陷入局部極小值點,將遺傳算法中群體的概念應(yīng)用進來。生成N個個體,每個個體執(zhí)行算法,算法運行完成后,選取最好個體中的誤差作為最小誤差。
每個個體執(zhí)行的算法如下:
3 實驗及實驗結(jié)果分析
為了說明Gauss變異的有效性,將本文中的改進算法與不加入Gauss變異和群體概念的改進BP算法在收斂速度方面進行比較。采用Balance?scale數(shù)據(jù)集進行了算法驗證,該數(shù)據(jù)集的訓(xùn)練樣本特征為4個,目標(biāo)輸出類型有3種,本文采取200個4維樣本向量構(gòu)造標(biāo)準(zhǔn)樣本空間,輸出為2維向量進行訓(xùn)練,其收斂曲線對比如圖1所示。
圖1 訓(xùn)練收斂曲線對比圖
圖1顯示的是迭代1 000次,算法的收斂速度。為了有可比性,初始權(quán)值設(shè)為固定值。從圖1中可以看出,加入Gauss變異后收斂速度大大提高。運行了幾個例子,都能得到這一結(jié)論。但對于不同的例子,產(chǎn)生的Gauss隨機數(shù)不能直接賦給學(xué)習(xí)率參數(shù)和沖量系數(shù),還要根據(jù)不同的實際,對隨機數(shù)乘上不同的權(quán)值。這個權(quán)值是個經(jīng)驗值,需要進行若干次實驗來確定一個比較優(yōu)的值。
另外,用此算法對一個數(shù)據(jù)集進行分類,采用breast?cancer?wiscon數(shù)據(jù)集,訓(xùn)練樣本和測試樣本根據(jù)Cross?validation[10]進行劃分。每個分區(qū)輪流作為測試樣本進行測試。由于breast?cancer?wiscon數(shù)據(jù)集比較簡單,分類屬性只有兩個值,所以只將分類屬性的值變換成0或1。BP網(wǎng)絡(luò)的輸出如果在[0,0.5]之間,則將屬性的值定為0;否則為1。算法參數(shù)設(shè)置如表1所示。
表1 算法參數(shù)設(shè)置
實驗結(jié)果如表2所示。
表2 實驗結(jié)果
從以上實驗結(jié)果可以得知,用Gauss變異動態(tài)調(diào)整學(xué)習(xí)率參數(shù)和沖量系數(shù),可以加快算法的收斂速度,并且可以得到比較好的分類結(jié)果。但是,Gauss函數(shù)自變量和隨機數(shù)權(quán)值應(yīng)取多大需要進行若干次實驗,才能確定一個比較好的值。
4 結(jié) 語
本文結(jié)合BP網(wǎng)絡(luò)的訓(xùn)練過程,提出一種改進的BP網(wǎng)絡(luò)訓(xùn)練方法,將Gauss變異與改進的BP算法相結(jié)合,對學(xué)習(xí)率參數(shù)和沖量系數(shù)進行動態(tài)調(diào)整,使權(quán)值得到很好的調(diào)整。實驗結(jié)果表明,此方法避免了傳統(tǒng)的BP 算法容易陷入局部極小的問題,在訓(xùn)練時間和收斂速度方面均表現(xiàn)出更優(yōu)的性能,具有比較好的實用性。
參考文獻
[1] 蔣宗禮.人工神經(jīng)網(wǎng)絡(luò)導(dǎo)論[M].北京:高等教育出版社,2001.
[2] 張毅,楊建國.基于灰色神經(jīng)網(wǎng)絡(luò)的機床熱誤差建模[J].上海交通大學(xué)學(xué)報,2011,45(11):1581?1585.
[3] 黃偉,何眸,夏暉.基于小波神經(jīng)網(wǎng)絡(luò)的IP網(wǎng)絡(luò)流量預(yù)測[J].計算機科學(xué),2011,38(10):296?298.
[4] 田景文,高美娟.人工神經(jīng)網(wǎng)絡(luò)算法研究與應(yīng)用[M].北京:北京理工大學(xué)出版社,2006.
[5] KUMAR S. Neural networks [M].北京:清華大學(xué)出版社,2006.
[6] YU X H, CHEN G A, CHENG S X. Dynamic learning rate optimization of the back propagation algorithm [J]. IEEE Transactions on Neural Networks, 1995: 6(3): 669?677.
[7] ROYCHOWDHURY P, SINGH Y P, CHANSARKAR R A. Dynamic tunneling technique for efficient training of multilayer perceptions [J]. IEEE Transactions on Neural Networks, 1999: 10(1): 48?55.
[8] 陳玉芳,雷霖.提高BP網(wǎng)絡(luò)收斂速率的又一種算法[J].計算機仿真,2004,21(11):74?79.
[9] 閻平凡,張長水.人工神經(jīng)網(wǎng)絡(luò)與模擬進化計算[M].北京:清華大學(xué)出版社,2001.
[10] WITTEN I H, FRANK E.數(shù)據(jù)挖掘?qū)嵱脵C器學(xué)習(xí)技術(shù)[M].北京:機械工業(yè)出版社,2006.
式中:[Δwij′]為上一次的修改量;[Oi]表示第i個神經(jīng)元的輸出;[β]為沖量系數(shù),通常取0~1之間的小數(shù)。因為[β]值較大時,雖能加快訓(xùn)練速度,但影響精度及收斂性,太小又起不到影響本次權(quán)值修改的作用。因此,[β]的取值視具體問題由試驗確定。
上述算法較好地解決了因樣本的順序引起的精度問題和訓(xùn)練的抖動問題。但是,該算法的收斂速度還是比較慢的。為了解決收斂速度問題,可以給每一個神經(jīng)元增加一個偏移量來加快收斂速度。
2.2 Gauss變異調(diào)整學(xué)習(xí)率參數(shù)和沖量系數(shù)的基本思想
BP算法中,如果學(xué)習(xí)率步長、沖量系數(shù)不變,那么到后期可能由于步長太大從而不能繼續(xù)進行優(yōu)化。所以步長應(yīng)該進行動態(tài)調(diào)整。當(dāng)權(quán)值進行調(diào)整時,可用Gauss變異生成兩個小的隨機數(shù),并將這兩個小的隨機數(shù)作為學(xué)習(xí)率參數(shù)和沖量系數(shù)。
2.3 整體算法流程
為了避免讓算法陷入局部極小值點,將遺傳算法中群體的概念應(yīng)用進來。生成N個個體,每個個體執(zhí)行算法,算法運行完成后,選取最好個體中的誤差作為最小誤差。
每個個體執(zhí)行的算法如下:
3 實驗及實驗結(jié)果分析
為了說明Gauss變異的有效性,將本文中的改進算法與不加入Gauss變異和群體概念的改進BP算法在收斂速度方面進行比較。采用Balance?scale數(shù)據(jù)集進行了算法驗證,該數(shù)據(jù)集的訓(xùn)練樣本特征為4個,目標(biāo)輸出類型有3種,本文采取200個4維樣本向量構(gòu)造標(biāo)準(zhǔn)樣本空間,輸出為2維向量進行訓(xùn)練,其收斂曲線對比如圖1所示。
圖1 訓(xùn)練收斂曲線對比圖
圖1顯示的是迭代1 000次,算法的收斂速度。為了有可比性,初始權(quán)值設(shè)為固定值。從圖1中可以看出,加入Gauss變異后收斂速度大大提高。運行了幾個例子,都能得到這一結(jié)論。但對于不同的例子,產(chǎn)生的Gauss隨機數(shù)不能直接賦給學(xué)習(xí)率參數(shù)和沖量系數(shù),還要根據(jù)不同的實際,對隨機數(shù)乘上不同的權(quán)值。這個權(quán)值是個經(jīng)驗值,需要進行若干次實驗來確定一個比較優(yōu)的值。
另外,用此算法對一個數(shù)據(jù)集進行分類,采用breast?cancer?wiscon數(shù)據(jù)集,訓(xùn)練樣本和測試樣本根據(jù)Cross?validation[10]進行劃分。每個分區(qū)輪流作為測試樣本進行測試。由于breast?cancer?wiscon數(shù)據(jù)集比較簡單,分類屬性只有兩個值,所以只將分類屬性的值變換成0或1。BP網(wǎng)絡(luò)的輸出如果在[0,0.5]之間,則將屬性的值定為0;否則為1。算法參數(shù)設(shè)置如表1所示。
表1 算法參數(shù)設(shè)置
實驗結(jié)果如表2所示。
表2 實驗結(jié)果
從以上實驗結(jié)果可以得知,用Gauss變異動態(tài)調(diào)整學(xué)習(xí)率參數(shù)和沖量系數(shù),可以加快算法的收斂速度,并且可以得到比較好的分類結(jié)果。但是,Gauss函數(shù)自變量和隨機數(shù)權(quán)值應(yīng)取多大需要進行若干次實驗,才能確定一個比較好的值。
4 結(jié) 語
本文結(jié)合BP網(wǎng)絡(luò)的訓(xùn)練過程,提出一種改進的BP網(wǎng)絡(luò)訓(xùn)練方法,將Gauss變異與改進的BP算法相結(jié)合,對學(xué)習(xí)率參數(shù)和沖量系數(shù)進行動態(tài)調(diào)整,使權(quán)值得到很好的調(diào)整。實驗結(jié)果表明,此方法避免了傳統(tǒng)的BP 算法容易陷入局部極小的問題,在訓(xùn)練時間和收斂速度方面均表現(xiàn)出更優(yōu)的性能,具有比較好的實用性。
參考文獻
[1] 蔣宗禮.人工神經(jīng)網(wǎng)絡(luò)導(dǎo)論[M].北京:高等教育出版社,2001.
[2] 張毅,楊建國.基于灰色神經(jīng)網(wǎng)絡(luò)的機床熱誤差建模[J].上海交通大學(xué)學(xué)報,2011,45(11):1581?1585.
[3] 黃偉,何眸,夏暉.基于小波神經(jīng)網(wǎng)絡(luò)的IP網(wǎng)絡(luò)流量預(yù)測[J].計算機科學(xué),2011,38(10):296?298.
[4] 田景文,高美娟.人工神經(jīng)網(wǎng)絡(luò)算法研究與應(yīng)用[M].北京:北京理工大學(xué)出版社,2006.
[5] KUMAR S. Neural networks [M].北京:清華大學(xué)出版社,2006.
[6] YU X H, CHEN G A, CHENG S X. Dynamic learning rate optimization of the back propagation algorithm [J]. IEEE Transactions on Neural Networks, 1995: 6(3): 669?677.
[7] ROYCHOWDHURY P, SINGH Y P, CHANSARKAR R A. Dynamic tunneling technique for efficient training of multilayer perceptions [J]. IEEE Transactions on Neural Networks, 1999: 10(1): 48?55.
[8] 陳玉芳,雷霖.提高BP網(wǎng)絡(luò)收斂速率的又一種算法[J].計算機仿真,2004,21(11):74?79.
[9] 閻平凡,張長水.人工神經(jīng)網(wǎng)絡(luò)與模擬進化計算[M].北京:清華大學(xué)出版社,2001.
[10] WITTEN I H, FRANK E.數(shù)據(jù)挖掘?qū)嵱脵C器學(xué)習(xí)技術(shù)[M].北京:機械工業(yè)出版社,2006.