




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、BP神經網絡算法原理:輸入信號Xi通過中間節點(隱層點)作用于輸出節點,經過非線形變換,產生輸出信號yk,網絡訓練的每個樣本包括輸入向量X和期望輸出量d,網絡輸出值y與期望輸出值d之間的偏差,通過調整輸入節點與隱層節點的聯接強度取值Wj和隱層節點與輸出節點之間的聯接強度Tjk以及閾值,使誤差沿梯度方向下降,經過反復學習訓練,確定與最小誤差相對應的網絡參數(權值和閾值),訓練即告停止。此時經過訓練的神經網絡即能對類似樣本的輸入信息,自行處理輸出誤差最小的經過非線形轉換的信息。變量定義:設輸入層有n個神經元,隱含層有p個神經元,輸出層有q個神經元輸入向量:xx1,x2,L,xn隱含層輸入向量:hi
2、hii,hi2,L,hip隱含層輸出向量:hoho1,ho2,L,h0P輸出層輸入向量:yiyi1,yi2,L,yiq輸出層輸出向量:yoyo1,yo2,L,yoq期望輸出向量:dodi,d2,L,dq輸入層與中間層的連接權值:Wih隱含層與輸出層的連接權值:Who隱含層各神經元的閾值:bh輸出層各神經元的閾值:bo樣本數據個數:k1,2,Lm激活函數:f1qc誤差函數:e(do(k)yo°(k)22oi算法步驟:Step1.網絡初始化。給各連接權值分別賦一個區間(-1,1)內的隨機數,設定誤差函數e,給定計算精度值和最大學習次數MStep2.隨機選取第k個輸入樣本x(k)x1(k)
3、,X2(k),L,Xn(k)及對應期望輸出do(k)di(k),d2(k),L,dq(k)Step3.計算隱含層各神經元的輸入nhih(k)WihXi(k)bhhi11,2,L,p和輸出hQh(k)f(hih(k)h1,2,L,p及輸出層各神經元的輸入pyio(k)Whohoh(k)b0o1,2,Lq和輸出yo°(k)f(yi°(k)o1,2,L,ph1Step4.利用網絡期望輸出和實際輸出,計算誤差函數對輸出層的各神經元的偏導數o(k)oeeyioWhoyioWhoyio(k)pWhohq(k)bo)hWhohoh(k)eyio1 q2(1(do(k)ya(k)22;(d
4、o(k)yo。(k)yo。(k)yi。(do(k)yoo(k)f(yio(k)o(k)Step5.利用隱含層到輸出層的連接權值、輸出層的o(k)和隱含層的輸出計算誤差函數對隱含層各神經元的偏導數h(k)0Whoeyio-o(k)hOh(k)yioWhoehih(k)w,ihhih(k)Wihhih(k)wihn(WihXi(k)bh)-X(k)WihehU(k)1q2(2o1(do(k)yoo(k)ha(k)hg(k)hih(k)1q2(2o1(do(k)f(yio(k)hoh(k)hOh(k)hih(k)1qp(-(do(k)f(Whohg(k)bo)2)2o1h1hOh(k)hOh(k)q
5、(do(k)yo°(k)f(yio(k)Whoo1q(o(k)Who)f(hih(k)h(k)o1hih(k)hoh(k)hih(k)Step6,利用輸出層各神經元的o(k)和隱含層各神經元的輸出來修正連接權值Who(k)。Who(k)N1WhoNWhoeo(k)hoh(k)Whoo(k)hoh(k)Step7.利用隱含層各神經元的h(k)和輸入層各神經元的輸入修正連接權Wih(k)。Wih(k)N1NWhWihStep8.計算全局誤差。eehih(k)Wihhih(k)Whh(k)x(k)h(k)x(k)1 mqE-(do(k)yo(k)2 mk1o1Step9.判斷網絡誤差是否滿
6、足要求。當誤差達到預設精度或學習次數大于設定的最大次數,則結束算法。否則,選取下一個學習樣本及對應的期望輸出,返回到第三步,進入下一輪學習。算法流程圖:參數確定:確定了網絡層數、每層節點數、傳遞函數、初始權系數、學習算法等也就確定了BP網絡。確定這些選項時有一定的指導原則,但更多的是靠經驗和試湊。1 .樣本數據采用BP神經網絡方法建模的首要和前提條件是有足夠多典型性好和精度高的樣本。而且,為監控訓練(學習)過程使之不發生“過擬合”和評價建立的網絡模型的性能和泛化能力,必須將收集到的數據隨機分成訓練樣本、檢驗樣本(10犯上)和測試樣本(10犯上)3部分。2 .輸入/輸出變量一般地,BP網絡的輸入
7、變量即為待分析系統的內生變量(影響因子或自變量)數,一般根據專業知識確定。若輸入變量較多,一般可通過主成份分析方法壓減輸入變量,也可根據剔除某一變量引起的系統誤差與原系統誤差的比值的大小來壓減輸入變量。輸出變量即為系統待分析的外生變量(系統性能指標或因變量),可以是一個,也可以是多個。一般將一個具有多個輸出的網絡模型轉化為多個具有一個輸出的網絡模型效果會更好,訓練也更方便。3 .數據的預處理由于BP神經網絡的隱層一般采用Sigmoid轉換函數,為提高訓練速度和靈敏性以及有效避開Sigmoid函數的飽和區,一般要求輸入數據的值在01之間。因此,要對輸入數據進行預處理。一般要求對不同變量分別進行預
8、處理,也可以對類似性質的變量進行統一的預處理。如果輸出層節點也采用Sigmoid轉換函數,輸出變量也必須作相應的預處理,否則,輸出變量也可以不做預處理。但必須注意的是,預處理的數據訓練完成后,網絡輸出的結果要進行反變換才能得到實際值。再者,為保證建立的模型具有一定的外推能力,最好使數據預處理后的值在0.20.8之間。標準化:ddminddmaxdmin4 .隱層數一般認為,增加隱層數可以降低網絡誤差,提高精度,但也使網絡復雜化,從而增加了網絡的訓練時間和出現“過擬合(overfitting)”造成網絡的性能脆弱,泛化能力(generalizationability)下降。Hornik等早已證明
9、:若輸入層和輸出層采用線性轉換函數,隱層采用Sigmoid轉換函數,則含一個隱層的MLPR絡能夠以任意精度逼近任何有理函數。顯然,這是一個存在性結論。在設計BP網絡時可參考這一點,應優先考慮3層BP網絡(即有1個隱層)。x1X2XN1ZN3圖三層BP網絡的拓撲結構z1Z2NT1T2TN35 .隱層節點數在BP網絡中,若隱層節點數太少,網絡可能根本不能訓練或網絡性能很差;若隱層節點數太多,雖然可使網絡的系統誤差減小,但一方面使網絡訓練時間延長,另一方面,訓練容易陷入局部極小點而得不到最優點,也是訓練時出現“過擬合”的內在原因,但是目前理論上還沒有一種科學的和普遍的確定方法。為盡可能避免訓練時出現
10、“過擬合”現象,保證足夠高的網絡性能和泛化能力,確定隱層節點數的最基本原則是:在滿足精度要求的前提下取盡可能緊湊的結構,即取盡可能少的隱層節點數因此,合理隱層節點數應在綜合考慮網絡結構復雜程度和誤差大小的情況下用節點刪除法和擴張法確定。6 .傳遞函數BP網絡的傳遞函數有多種。Log-sigmoid型函數的輸入值可取任意值,輸出值在0和1之間;tan-sigmod型傳遞函數tansig的輸入值可取任意值,輸出值在-1到+1之間;線性傳遞函數purelin的輸入與輸出值可取任意值。BP網絡通常有一個或多個隱層,該層中的神經元均采用sigmoid型傳遞函數,輸出層的神經元則采用線性傳遞函數,整個網絡
11、的輸出可以取任意值。7 .學習率學習率影響系統學習過程的穩定性。大的學習率可能使網絡權值每一次的修正量過大,甚至會導致權值在修正過程中超出某個誤差的極小值呈不規則跳躍而不收斂;但過小的學習率導致學習時間過長,不過能保證收斂于某個極小值。所以,一般傾向選取較小的學習率以保證學習過程的收斂性(穩定性),通常在0.010.8之間。8 .網絡的初始連接權值BP算法決定了誤差函數一般存在(很)多個局部極小點,不同的網絡初始權值直接決定了BP算法收斂于哪個局部極小點或是全局極小點。因此,要求計算程序必須能夠自由改變網絡初始連接權值。由于Sigmoid轉換函數的特性,一般要求初始權值分布在-0.50.5之間
12、比較有效。10 .收斂誤差界值Emin在網絡訓練過程中應根據實際情況預先確定誤差界值。誤差界值的選擇完全根據網絡模型的收斂速度大小和具體樣本的學習精度來確定。當Emin值選擇較小時,學習效果好,但收斂速度慢,訓練次數增加。如果Emin值取得較大時則相反。網絡模型的性能和泛化能力:訓練神經網絡的首要和根本任務是確保訓練好的網絡模型對非訓練樣本具有好的泛化能力(推廣性),即有效逼近樣本蘊含的內在規律,而不是看網絡模型對訓練樣本的擬合能力。判斷建立的模型是否已有效逼近樣本所蘊含的規律,主要不是看測試樣本誤差大小的本身,而是要看測試樣本的誤差是否接近于訓練樣本和檢驗樣本的誤差。非訓練樣本誤差很接近訓練
13、樣本誤差或比其小,一般可認為建立的網絡模型已有效逼近訓練樣本所蘊含的規律,否則,若相差很多(如幾倍、幾十倍甚至上千倍)就說明建立的網絡模型并沒有有效逼近訓練樣本所蘊含的規律,而只是在這些訓練樣本點上逼近而已,而建立的網絡模型是對訓練樣本所蘊含規律的錯誤反映。算法的特點:1 .非線性映照能力。神經網絡能以任意精度逼近任何非線性連續函數。在建模過程中的許多問題正是具有高度的非線性。2 .并行分布處理方式。在神經網絡中信息是分布儲存和并行處理的,這使它具有很強的容錯性和很快的處理速度。3 .自學習和自適應能力。神經網絡在訓練時,能從輸入、輸出的數據中提取出規律性的知識,記憶于網絡的權值中,并具有泛化
14、能力,即將這組權值應用于一般情形的能力。神經網絡的學習也可以在線進行。4 .數據融合的能力。神經網絡可以同時處理定量信息和定性信息,因此它可以利用傳統的工程技術(數值運算)和人工智能技術(符號處理)。5 .多變量系統。神經網絡的輸入和輸出變量的數目是任意的,對單變量系統與多變量系統提供了一種通用的描述方式,不必考慮各子系統間的解耦問題算法的缺點:收斂速度緩慢;容易陷入局部極小值;難以確定隱層數和隱層節點個數。算法的改進:1 .利用動量法改進BP算法標準BP算法實質上是一種簡單的最速下降靜態尋優方法,在修正wk時,只按照第k步的負梯度方向進行修正,而沒有考慮到以前積累的經驗,即以前時刻的梯度方向
15、,從而常常使學習過程發生振蕩,收斂緩慢。動量法權值調整算法的具體做法是:將上一次權值調整量的一部分迭加到按本次誤差計算所得的權值調整量上,作為本次的實際權值調整量,即:wnEnwn1其中:a為動量系數,通常0<a<0.9;“一學習率,范圍在0.00110之間。這種方法所加的動量因子實際上相當于阻尼項,它減小了學習過程中的振蕩趨勢,從而改善了收斂性。動量法降低了網絡對于誤差曲面局部細節的敏感性,有效的抑制了網絡陷入局部極小。2 .自適應調整學習速率標準BP算法收斂速度緩慢的一個重要原因是學習率選擇不當,學習率選得太小,收斂太慢;學習率選得太大,則有可能修正過頭,導致振蕩甚至發散。可采用下圖所示的自適應方法調整學習率。調整的基本指導思想是:在學習收斂的情況下,增大T,以縮短學習時間;當7偏大致使不能收斂時,要及時減小7),直到收斂為止。3 .動量-自適應學習速率調整算法采用動量法時,BP算法可以找到更優的解;采用自適應學習速率法時,BP算法可以縮短訓練時間。將以上兩種方法結合起
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java三大框架基礎面試題及答案
- 2025-2030年中國家居飾品行業品牌發展調研及投資戰略預測研究報告
- 2025-2030年中國叔十二烷基硫醇行業供需分析及未來發展趨勢研究報告
- 2025-2030年中國農用車后視鏡行業運營態勢及投資風險評估報告
- 車位業務合作協議
- 酒水促銷合同協議書范本
- 風景園林分包合同模板
- 解除商戶租賃合同協議書
- 文化藝術工會2025年創意項目計劃
- 家長與老師共同抵制有償補課心得體會
- 2025年網絡與信息安全法律知識考試試題及答案
- 三級安全教育試題(公司級、部門級、班組級)
- DZ∕T 0214-2020 礦產地質勘查規范 銅、鉛、鋅、銀、鎳、鉬(正式版)
- MOOC 模擬電子電路實驗-東南大學 中國大學慕課答案
- 浙江大學畢業研究生登記表
- 公司《質量管理標準化手冊》
- 水平井管內礫石充填防砂 ppt課件
- 電子招生網站設計--網絡課程設計
- 運動控制系統思考題參考答案阮毅
- 附件:10kV 及以下配網工程設計說明書(范本)
- 貝騰《創業總動員》客戶端登錄說明
評論
0/150
提交評論