資源描述:
《BP神經(jīng)網(wǎng)絡訓練算法改進初探【文獻綜述】》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、畢業(yè)論文文獻綜述電氣工程及自動化BP神經(jīng)網(wǎng)絡改進算法綜述摘要:神經(jīng)網(wǎng)絡近十年的飛速發(fā)展,激起了不同學科與領域的科學家的濃厚興趣。神經(jīng)網(wǎng)絡因其自適應,自學習,并行處理等特點受到廣泛的應用。但傳統(tǒng)的BP算法存在諸如收斂速度慢,易陷入局部最小點以及編程困難,計算量大等問題,因此許多學者對其進行了改進。本文概述了BP神經(jīng)網(wǎng)絡的原理、特點;介紹了幾種改進算法,及其在實際中的應用,對BP神經(jīng)網(wǎng)絡改進算法的發(fā)展趨勢進行了展望;最后對MATALB中的BP改進算法函數(shù)進行了歸納介紹。關鍵詞:BP神經(jīng)網(wǎng)絡;改進算法;1引言在人工神經(jīng)網(wǎng)絡發(fā)展歷史中,很長一段時間里沒有找到隱層的連接權值調整問題的有
2、效算法。直到誤差反向傳播算法(BP算法)的提出,成功地解決了求解非線性連續(xù)函數(shù)的多層前饋神經(jīng)網(wǎng)絡權重調整問題。由于具有結構簡單、工作狀態(tài)穩(wěn)定、易于硬件實現(xiàn)等優(yōu)點,在眾多的神經(jīng)網(wǎng)絡模型中,周而復始的信息正向傳播和誤差反向傳播過程,是各層權值不斷調整的過程,也是神經(jīng)網(wǎng)絡學習訓練的過程,此過程一直進行到網(wǎng)絡輸出的誤差減少到可以接受的程度,或者預先設定的學習次數(shù)為止。BP網(wǎng)絡的應用最為廣泛【1-5】,尤其是在模式識別及分類、系統(tǒng)仿真、故障智能診斷、圖像處理、函數(shù)擬合、最優(yōu)預測等方面。2BP神經(jīng)網(wǎng)絡簡介2.1BP神經(jīng)網(wǎng)絡結構圖1BP神經(jīng)網(wǎng)絡結構圖2.2BP神經(jīng)網(wǎng)絡原理BP(BackPr
3、opagation)神經(jīng)網(wǎng)絡是一種神經(jīng)網(wǎng)絡學習算法,全稱基于誤差反向傳播算法的人工神經(jīng)網(wǎng)絡[6]。BP(BackPropagation)神經(jīng)網(wǎng)絡,即誤差反傳誤差反向傳播算法的學習過程,由信息的正向傳播和誤差的反向傳播兩個過程組成。BP網(wǎng)絡是一種多層前饋神經(jīng)網(wǎng)絡,一般具有三層或三層以上的神經(jīng)網(wǎng)絡,包括輸入層,中間層(隱層)和輸出層。上下層之間實現(xiàn)全連接,而每層神經(jīng)元之間無連接。當一對學習樣本提供給網(wǎng)絡后,神經(jīng)元的激活值從輸入層經(jīng)各中間層向輸出層傳播,在輸出層的各神經(jīng)元獲得網(wǎng)絡的輸入響應。接下來,按照減少目標輸出與實際輸出之間的誤差的方向,從輸出層反向經(jīng)過各中間層回到輸入層,從而
4、逐層修正各連接權值,這種算法稱為“誤差反向傳播算法”,即BP算法。隨著這種誤差逆向的傳播修正不斷進行,網(wǎng)絡對輸入模式響應的正確率也不斷上升。3BP算法研究現(xiàn)狀由于傳統(tǒng)的BP算法存在諸如收斂速度慢,易陷入局部最小點以及編程困難,計算量大等問題,因此許多學者對其進行了改進,提出了多種改進算法[7-13]。BP算法的改進主要有兩種途徑,一種是采用啟發(fā)式學習方法,如附加動量法、自適應學習率法等;另一種是采用數(shù)字優(yōu)化技術,vnegMrrt29如共扼梯度法、牛頓法、Levenberg-Marquardt法等。3.1附加動量法附加動量法使BP神經(jīng)網(wǎng)絡在修正其權值和值時,不僅考慮誤差在梯度上
5、的作用,而且考慮在誤差曲面上變化趨勢的影響,它允許忽略網(wǎng)絡上的微小變化特性。該方法是在反向傳播法的基礎上,在每一個權值和值的變化上加上一項正比于前次權值和閾值變化量的值,并根據(jù)反向傳播法來產(chǎn)生新的權值和閾值的變化,帶有附加動量因子的權值和閾值調節(jié)公式為:0<<1其中n為訓練次數(shù),a為動量因子,式中第二項是常規(guī)BP算法的修整量,第一項稱為動量項。這種方法通過加入動量項,減小了學習過程的振蕩趨勢,從而改善了收斂性,找到更優(yōu)的解。但是這種方法的缺點也是明顯的,參數(shù)的選取只能通過實驗來確定,而且它的學習速度還不能滿足實時的工作需要。3.2.自適應調整學習速率法自適應調整學習速率有利于
6、縮短學習時間。標準BP算法收斂速度慢的重要原因是學習速率選擇不當。學習速率選得太小,收斂太慢:學習速率選取得太大,則有可能修正過頭,導致發(fā)散。因此出現(xiàn)了自適應調整學習率的改進算法,其調節(jié)準則是:檢查權重的修正值是否真正降低了誤差函數(shù),如果確實如此,則說明所選取的學習速率值小了,可以對其增加一個量:若不是這樣,而產(chǎn)生了過調,那么就應減小學習速率的值。3.3.共扼梯度算當使用共扼梯度向量來確定共扼方向時,稱此算法為共扼梯度法。1990J.LeonardM.A.Kramer將共扼梯度法和行搜索策略結合在一起。在共扼梯度法中,沿著共扼方向進行行搜索,收斂速度將比一般的梯度下降法要快得
7、多。在一般的訓練算法中,是利用學習速率決定權重和值更新的步長,而在多數(shù)共扼梯度算法中權值步長各自反復地調整,沿著共扼梯度用行搜索來決定權值步長以減少在行中的完成功能。共扼梯度法可以不必計算或存儲二階導數(shù)信息就具有二階方法的功能,它與擬牛頓法相比,它的計算代價很低,因此在較大規(guī)模問題中十分有用。3.4其他改進算法還有一些改進方法:擬牛頓算法和Levenberg-Marquardt算法。MATLAB語言的BP神經(jīng)網(wǎng)絡的不同改進算法的評論,有助于了解BP網(wǎng)絡改進的算法及其優(yōu)缺點,從而達到正確,合理,充分應用不