⑴ BP神經網路的Training Parameters中各個參數都是什麼意思啊
max_fail 最大失敗步數,如設置為100,則訓練到100步還沒成功也會停止訓練
mem_rec
min_grad 最小梯度,梯度下降法中出現,設置一個值之後,如果訓練下降梯度不達此值訓練也只能停止
mu 參數μ
mu_dec
mu_inc
mu_max
show 顯示步數,如果設為50,則運行後會每隔50步顯示一下運行結果
time 訓練時間限制,同max_fail,min_grad 作用一樣
⑵ 關於matlab的BP神經網路
1、數據歸一化,輸入的數據通常為P,輸出數據通常為T,數據格式為,每列對應一個樣本,歸一化常用函數,是歸一化後的數據,是歸一化的結構體,在後面反歸一化預測值;
2、建立網路並設定參數,中括弧裡面的是輸入層數,隱槐察兄含神經元數,輸出層數,設定節點傳遞函數的參數,訓練的次數,訓練的誤差目標沒純值,學習速率,通常在0到1之間;
3、預測並分析,根據之前歸一化的標准,對預測結果進行反歸一化,得到結果,對誤差進行輸出,也可以作圖,看預測值和真實值能否吻合,還鉛襲可以在神經網路訓練完成後的對話框中看MSE和R方。
⑶ BP網路中的trainlm訓練函數,需要設置的參數
以輸出層權值更新的演算法做說明: 新w(i,j)=舊w(i,j)+a*E(i)O(j)+b*oldw(i,j), 其中,新w(i,j)為計算一步以後的權,舊w(i,j)為初始權,E(i)為輸出層第i個神經元的輸出誤差,O(j)為隱含層第j個神經元的輸出數據,a學習系數,b慣性系數。其實b就是優化設計中梯度下降法的步長,訓練函數和梯度下降法是一個樣子的,都是通過初始點,選定負梯度方向,計算步長,然後得到下一點,如此循環,神經網路把梯度下降法簡化了,直接選定步長,不再計算步長了,
⑷ 能不能介紹一下,BP神經網路中權系數初始值、學習率(步長)、學習步數、學習目標最小誤差等參數
權值第一次是被隨機給定的較小的值,步長一般設為較小的正值(防止越過最小值),學習步數是由權值和步長決定的,誤差一般採用最小均方誤差。
詳細的介紹可以網路一下很多課件或者課本的。若不想找我可以發給你,給我郵箱。
⑸ 極端氣溫、降雨-洪水模型(BP神經網路)的建立
極端氣溫、降雨與洪水之間有一定的聯系。根據1958~2007年廣西西江流域極端氣溫、極端降雨和梧州水文站洪水數據,以第5章相關分析所確定的顯著影響梧州水文站年最大流量的測站的相應極端氣候因素(表4.22)為輸入,建立人工神經網路模型。
4.5.1.1 BP神經網路概述
(1)基於BP演算法的多層前饋網路模型
採用BP演算法的多層前饋網路是至今為止應用最廣泛的神經網路,在多層的前饋網的應用中,如圖4.20所示的三層前饋網的應用最為普遍,其包括了輸入層、隱層和輸出層。
圖4.20 典型的三層BP神經網路結構
在正向傳播中,輸入信息從輸入層經隱含層逐層處理,並傳向輸出層。如果輸出層不能得到期望的輸出結果,則轉入反向傳播,將誤差信號沿原來的連同通路返回,通過修改各層神經元的權值,使得誤差最小。BP演算法流程如圖4.21所示。
圖4.21 BP演算法流程圖
容易看出,BP學習演算法中,各層權值調整均由3個因素決定,即學習率、本層輸出的誤差信號以及本層輸入信號y(或x)。其中,輸出層誤差信號同網路的期望輸出與實際輸出之差有關,直接反映了輸出誤差,而各隱層的誤差信號與前面各層的誤差信號都有關,是從輸出層開始逐層反傳過來的。
1988年,Cybenko指出兩個隱含層就可表示輸入圖形的任意輸出函數。如果BP網路只有兩個隱層,且輸入層、第一隱含層、第二隱層和輸出層的單元個數分別為n,p,q,m,則該網路可表示為BP(n,p,q,m)。
(2)研究區極端氣溫、極端降雨影響年最大流量過程概化
極端氣溫、極端降雨影響年最大流量的過程極其復雜,從極端降雨到年最大流量,中間要經過蒸散發、分流、下滲等環節,受到地形、地貌、下墊面、土壤地質以及人類活動等多種因素的影響。可將一個極端氣候-年最大流量間復雜的水過程概化為小尺度的水系統,該水系統的主要影響因子可通過對年最大流量影響顯著的站點的極端氣溫和極端降雨體現出來,而其中影響不明顯的站點可忽略,從而使問題得以簡化。
BP神經網路是一個非線形系統,可用於逼近非線形映射關系,也可用於逼近一個極為復雜的函數關系。極端氣候-年最大流量水系統是一個非常復雜的映射關系,可將之概化為一個系統。BP神經網路與研究流域的極端氣候-年最大流量水系統的結構是相似的,利用BP神經網路,對之進行模擬逼近。
(3)隱含層單元數的確定
隱含層單元數q與所研究的具體問題有關,目前尚無統一的確定方法,通常根據網路訓練情況採用試錯法確定。在訓練中網路的收斂採用輸出值Ykp與實測值tp的誤差平方和進行控制
變環境條件下的水資源保護與可持續利用研究
作者認為,雖然現今的BP神經網路還是一個黑箱模型,其參數沒有水文物理意義,在本節的研究過程中,將嘗試著利用極端氣候空間分析的結果來指導隱含層神經元個數的選取。
(4)傳遞函數的選擇
BP神經網路模型演算法存在需要較長的訓練時間、完全不能訓練、易陷入局部極小值等缺點,可通過對模型附加動量項或設置自適應學習速率來改良。本節採用MATLAB工具箱中帶有自適應學習速率進行反向傳播訓練的traingdm()函數來實現。
(5)模型數據的歸一化處理
由於BP網路的輸入層物理量及數值相差甚遠,為了加快網路收斂的速度,使網路在訓練過程中易於收斂,對輸入數據進行歸一化處理,即將輸入的原始數據都化為0~1之間的數。本節將年極端最高氣溫的數據乘以0.01;將極端最低氣溫的數據乘以0.1;年最大1d、3d、7d降雨量的數據乘以0.001;梧州水文站年最大流量的數據乘以0.00001,其他輸入數據也按類似的方法進行歸一化處理。
(6)年最大流量的修正
梧州水文站以上的流域集水面積為32.70萬km2,廣西境內流域集水面積為20.24萬km2,廣西境內流域集水面積占梧州水文站以上的流域集水面積的61.91%。因此,選取2003~2007年梧州水文站年最大流量和紅水河的天峨水文站年最大流量,分別按式4.10計算每年的貢獻率(表4.25),取其平均值作為廣西西江流域極端降雨對梧州水文站年最大流量的平均貢獻率,最後確定平均貢獻率為76.88%。
變環境條件下的水資源保護與可持續利用研究
表4.25 2003~2007年極端降雨對梧州水文站年最大流量的貢獻率
建立「年極端氣溫、降雨與梧州年最大流量模型」時,應把平均貢獻率與梧州水文站年最大流量的乘積作為模型輸入的修正年最大流量,而預測的年最大流量應該為輸出的年最大流量除以平均貢獻率76.88%,以克服極端氣溫和降雨研究范圍與梧州水文站集水面積不一致的問題。
4.5.1.2年極端氣溫、年最大1d降雨與梧州年最大流量的BP神經網路模型
(1)模型的建立
以1958~1997年年極端最高氣溫、年極端最低氣溫、年最大1d降雨量與梧州水文站年最大流量作為學習樣本擬合、建立「年極端氣溫、年最大1d降雨-梧州年最大流量BP神經網路模型」。以梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,榜圩、馬隴、三門、黃冕、沙街、勾灘、天河、百壽、河池、貴港、金田、平南、大化、桂林、修仁、五將雨量站的年最大1d降雨量為輸入,梧州水文站年最大流量為輸出,隱含層層數取2,建立(19,p,q,1)BP神經網路模型,其中神經元數目p,q經試算分別取16和3,第一隱層、第二隱層的神經元採用tansig傳遞函數,輸出層的神經元採用線性傳遞函數,訓練函數選用traingdm,學習率取0.1,動量項取0.9,目標取0.0001,最大訓練次數取200000。BP網路模型參數見表4.26,結構如圖4.22所示。
圖4.22年極端氣溫、年最大1d降雨-梧州年最大流量BP模型結構圖
表4.26 BP網路模型參數一覽表
從結構上分析,梧州水文站年最大流量產生過程中,年最高氣溫、年最低氣溫和各支流相應的流量都有其閾值,而極端氣溫和極端降雨是其輸入,年最大流量是其輸出,這類似於人工神經元模型中的閾值、激活值、輸出等器件。輸入年最大1d降雨時選用的雨量站分布在14條支流上(表4.27),極端降雨發生後,流經14條支流匯入梧州,在這一過程中極端氣溫的變化影響極端降雨的蒸散發,選用的雨量站分布在年最大1d降雨四個自然分區的Ⅱ、Ⅲ、Ⅳ3個區。該過程可與BP神經網路結構進行類比(表4.28),其中, 14條支流相當於第一隱含層中的14個神經元,年最高氣溫和年最低氣溫相當於第一隱含層中的2個神經元,年最大1d降雨所在的3個分區相當於第二隱含層的3個神經元,年最高氣溫、年最低氣溫的影響值和各支流流量的奉獻值相當於隱含層中人工神經元的閾值,從整體上來說,BP神經網路的結構已經灰箱化。
表4.27 選用雨量站所在支流一覽表
表4.28 BP神經網路構件物理意義一覽表
(2)訓練效果分析
訓練樣本為40個,經過113617次訓練,達到精度要求。在命令窗口執行運行命令,網路開始學習和訓練,其訓練過程如圖4.23所示,訓練結果見表4.29和圖4.24。
表4.29年最大流量訓練結果
圖4.23 神經網路訓練過程圖
圖4.24年最大流量神經網路模型訓練結果
從圖4.26可知,訓練後的BP網路能較好地逼近給定的目標函數。從訓練樣本檢驗結果(表4.5)可得:1958~1997年40年中年最大流量模擬值與實測值的相對誤差小於10%和20%的分別為39年,40年,合格率為100%。說明「年極端氣溫、年最大1d降雨- 梧州年最大流量預測模型」的實際輸出與實測結果誤差很小,該模型的泛化能力較好,模擬結果較可靠。
(3)模型預測檢驗
把1998~2007年梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,榜圩、馬隴、三門、黃冕、沙街、勾灘、天河、百壽、河池、貴港、金田、平南、大化、桂林、修仁、五將雨量站的年最大1d降雨量輸入到「年極端氣溫、年最大1d降雨梧州年最大流量BP神經網路模型」。程序運行後網路輸出預測值與已知的實際值進行比較,其預測檢驗結果見圖4.25,表4.30。
圖4.25年最大流量神經網路模型預測檢驗結果
表4.30 神經網路模型預測結果與實際結果比較
從預測檢驗結果可知:1998~2007年10年中年最大流量模擬值與實測值的相對誤差小於20%的為9年,合格率為90%,效果較好。
4.5.1.3年極端氣溫、年最大7d降雨與梧州年最大流量的BP神經網路模型
(1)模型的建立
以1958~1997年年極端最高氣溫、年極端最低氣溫、年最大7d降雨量和梧州水文站年最大流量作為學習樣本來擬合、建立「年極端氣溫、年最大7d降雨- 梧州年最大流量BP神經網路模型」。以梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,鳳山、都安、馬隴、沙街、大湟江口、大安、大化、陽朔、五將雨量站的年最大7d降雨量為輸入,梧州水文站年最大流量為輸出,隱含層層數取2,建立(12,p,q,1)BP神經網路模型,其中,神經元數目p,q經試算分別取10和4,第一隱層、第二隱層的神經元採用tansig傳遞函數,輸出層的神經元採用線性傳遞函數,訓練函數選用traingdm,學習率取0.1,動量項取0.9,目標取0.0001,最大訓練次數取200000。BP網路模型參數見表4.31,結構如圖4.26所示。
表4.31 BP網路模型參數一覽表
圖4.26年極端氣溫、年最大7d降雨-梧州年最大流量BP模型結構圖
本節輸入年最大7d降雨時選用的雨量站分布在8條支流上(表4.32),在發生極端降雨後,流經8條支流匯入梧州,在這一過程中極端氣溫的變化影響極端降雨的蒸散發,且選用的雨量站分布在年最大7d降雨四個自然分區的Ⅰ、Ⅱ、Ⅲ、Ⅳ4個區中。該過程可與BP神經網路結構進行類比(表4.33),其中,8條支流相當於第一隱含層中的8個神經元,年最高氣溫和年最低氣溫相當於第一隱含層中的2個神經元,年最大7d降雨所在的4個分區相當於第二隱含層的4個神經元,整體上來說,BP神經網路的結構已經灰箱化。
表4.32 選用雨量站所在支流一覽表
表4.33 BP神經網路構件物理意義一覽表
(2)訓練效果分析
訓練樣本為40個,經過160876次的訓練,達到精度要求,在命令窗口執行運行命令,網路開始學習和訓練,其訓練過程如圖4.27所示,訓練結果見表4.34,圖4.28。
圖4.27 神經網路訓練過程圖
表4.34年最大流量訓練結果
圖4.28年最大流量神經網路模型訓練結果
從圖4.28可知,訓練後的BP網路能較好地逼近給定的目標函數。由訓練樣本檢驗結果(表4.34)可得:1958~1997年40年中年最大流量模擬值與實測值的相對誤差小於10%和20%的,分別為38年、40年,合格率為100%。說明「年極端氣溫、年最大7d降雨-梧州年最大流量BP神經網路模型」的泛化能力較好,模擬的結果較可靠。
(3)模型預測檢驗
把1998~2007年梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,鳳山、都安、馬隴、沙街、大湟江口、大安、大化、陽朔、五將雨量站的年最大7d降雨量輸入到「年極端氣溫、年最大7d降雨- 梧州年最大流量BP神經網路模型」。程序運行後網路輸出預測值與已知的實際值進行比較,其預測結果見圖4.29和表4.35。
圖4.29年最大流量神經網路模型預測檢驗結果
表4.35 神經網路模型預測結果與實際結果比較
由預測檢驗結果可知:1998~2007年10年中年最大流量模擬值與實測值的相對誤差小於20%的為7年,合格率為70%,效果較好。
4.5.1.4 梧州年最大流量-年最高水位的BP神經網路模型
(1)模型的建立
以1941~1997年梧州水文站的年最大流量與年最高水位作為學習樣本來擬合、建立梧州水文站的「年最大流量-年最高水位BP神經網路模型」。以年最大流量為輸入,年最高水位為輸出,隱含層層數取1,建立(1,q,1)BP神經網路模型,其中,神經元數目q經試算取7,隱含層、輸出層的神經元採用線性傳遞函數,訓練函數選用traingdm,學習率取0.1,動量項取0.9,目標取0.00001,最大訓練次數取200000。BP網路模型參數見表4.36,結構如圖4.30所示。
表4.36 BP網路模型參數一覽表
圖4.30 梧州年最大流量—年最高水位BP模型結構圖
廣西西江流域主要河流有南盤江、紅水河、黔潯江、鬱江、柳江、桂江、賀江。7條主要河流相當於隱含層中的7個神經元(表4.37),整體上來說,BP神經網路的結構已經灰箱化。
表4.37 BP神經網路構件物理意義一覽表
(2)訓練效果分析
訓練樣本為57個,經過3327次訓練,誤差下降梯度已達到最小值,但誤差為3.00605×10-5,未達到精度要求。在命令窗口執行運行命令,網路開始學習和訓練,其訓練過程如圖4.31所示,訓練結果見圖4.32和表4.38。
表4.38年最高水位訓練結果
從圖4.32和表4.19可看出,訓練後的BP網路能較好地逼近給定的目標函數。對於訓練樣本,從檢驗結果可知:1941~1997年57年中年最高水位模擬值與實測值的相對誤差小於10%和20%的分別為56a,57a,合格率為100%。說明「年最大流量-年最高水位BP神經網路模型」的實際輸出與實測結果誤差很小,該模型的泛化能力較好,模擬的結果比較可靠。
圖4.31 神經網路訓練過程圖
圖4.32年最高水位神經網路模型訓練結果
(3)模型預測檢驗
把1998~2007年梧州水文站年最大流量輸入到「年最大流量-年最高水位BP神經網路模型」。程序運行後網路輸出預測值與已知的實際值進行比較,其預測結果見圖4.33,表4.39。
表4.39 神經網路模型預測結果與實際結果比較
從預測檢驗結果可知:1998~2007年10年中,年最高水位模擬值與實測值的相對誤差小於20%的為10年,合格率為100%,效果較好。
圖4.33年最高水位量神經網路模型預測檢驗結果
⑹ 神經網路參數如何確定
神經網路各個網路參數設定原則:
①、網路節點 網路輸入層神經元節點數就是系統的特徵因子(自變數)個數,輸出層神經元節點數就是系統目標個數。隱層節點選按經驗選取,一般設為輸入層節點數的75%。如果輸入層有7個節點,輸出層1個節點,那麼隱含層可暫設為5個節點,即構成一個7-5-1 BP神經網路模型。在系統訓練時,實際還要對不同的隱層節點數4、5、6個分別進行比較,最後確定出最合理的網路結構。
②、初始權值的確定 初始權值是不應完全相等的一組值。已經證明,即便確定 存在一組互不相等的使系統誤差更小的權值,如果所設Wji的的初始值彼此相等,它們將在學習過程中始終保持相等。故而,在程序中,我們設計了一個隨機發生器程序,產生一組一0.5~+0.5的隨機數,作為網路的初始權值。
③、最小訓練速率 在經典的BP演算法中,訓練速率是由經驗確定,訓練速率越大,權重變化越大,收斂越快;但訓練速率過大,會引起系統的振盪,因此,訓練速率在不導致振盪前提下,越大越好。因此,在DPS中,訓練速率會自動調整,並盡可能取大一些的值,但用戶可規定一個最小訓練速率。該值一般取0.9。
④、動態參數 動態系數的選擇也是經驗性的,一般取0.6 ~0.8。
⑤、允許誤差 一般取0.001~0.00001,當2次迭代結果的誤差小於該值時,系統結束迭代計算,給出結果。
⑥、迭代次數 一般取1000次。由於神經網路計算並不能保證在各種參數配置下迭代結果收斂,當迭代結果不收斂時,允許最大的迭代次數。
⑦、Sigmoid參數 該參數調整神經元激勵函數形式,一般取0.9~1.0之間。
⑧、數據轉換。在DPS系統中,允許對輸入層各個節點的數據進行轉換,提供轉換的方法有取對數、平方根轉換和數據標准化轉換。
(6)建立bp網路的主要參數有哪些擴展閱讀:
神經網路的研究內容相當廣泛,反映了多學科交叉技術領域的特點。主要的研究工作集中在以下幾個方面:
1.生物原型
從生理學、心理學、解剖學、腦科學、病理學等方面研究神經細胞、神經網路、神經系統的生物原型結構及其功能機理。
2.建立模型
根據生物原型的研究,建立神經元、神經網路的理論模型。其中包括概念模型、知識模型、物理化學模型、數學模型等。
3.演算法
在理論模型研究的基礎上構作具體的神經網路模型,以實現計算機模擬或准備製作硬體,包括網路學習演算法的研究。這方面的工作也稱為技術模型研究。
神經網路用到的演算法就是向量乘法,並且廣泛採用符號函數及其各種逼近。並行、容錯、可以硬體實現以及自我學習特性,是神經網路的幾個基本優點,也是神經網路計算方法與傳統方法的區別所在。
⑺ BP神經網路原理
人工神經網路有很多模型,但是日前應用最廣、基本思想最直觀、最容易被理解的是多層前饋神經網路及誤差逆傳播學習演算法(Error Back-Prooaeation),簡稱為BP網路。
在1986年以Rumelhart和McCelland為首的科學家出版的《Parallel Distributed Processing》一書中,完整地提出了誤差逆傳播學習演算法,並被廣泛接受。多層感知網路是一種具有三層或三層以上的階層型神經網路。典型的多層感知網路是三層、前饋的階層網路(圖4.1),即:輸入層、隱含層(也稱中間層)、輸出層,具體如下:
圖4.1 三層BP網路結構
(1)輸入層
輸入層是網路與外部交互的介面。一般輸入層只是輸入矢量的存儲層,它並不對輸入矢量作任何加工和處理。輸入層的神經元數目可以根據需要求解的問題和數據表示的方式來確定。一般而言,如果輸入矢量為圖像,則輸入層的神經元數目可以為圖像的像素數,也可以是經過處理後的圖像特徵數。
(2)隱含層
1989年,Robert Hecht Nielsno證明了對於任何在閉區間內的一個連續函數都可以用一個隱層的BP網路來逼近,因而一個三層的BP網路可以完成任意的n維到m維的映射。增加隱含層數雖然可以更進一步的降低誤差、提高精度,但是也使網路復雜化,從而增加了網路權值的訓練時間。誤差精度的提高也可以通過增加隱含層中的神經元數目來實現,其訓練效果也比增加隱含層數更容易觀察和調整,所以一般情況應優先考慮增加隱含層的神經元個數,再根據具體情況選擇合適的隱含層數。
(3)輸出層
輸出層輸出網路訓練的結果矢量,輸出矢量的維數應根據具體的應用要求來設計,在設計時,應盡可能減少系統的規模,使系統的復雜性減少。如果網路用作識別器,則識別的類別神經元接近1,而其它神經元輸出接近0。
以上三層網路的相鄰層之間的各神經元實現全連接,即下一層的每一個神經元與上一層的每個神經元都實現全連接,而且每層各神經元之間無連接,連接強度構成網路的權值矩陣W。
BP網路是以一種有教師示教的方式進行學習的。首先由教師對每一種輸入模式設定一個期望輸出值。然後對網路輸入實際的學習記憶模式,並由輸入層經中間層向輸出層傳播(稱為「模式順傳播」)。實際輸出與期望輸出的差即是誤差。按照誤差平方最小這一規則,由輸出層往中間層逐層修正連接權值,此過程稱為「誤差逆傳播」(陳正昌,2005)。所以誤差逆傳播神經網路也簡稱BP(Back Propagation)網。隨著「模式順傳播」和「誤差逆傳播」過程的交替反復進行。網路的實際輸出逐漸向各自所對應的期望輸出逼近,網路對輸入模式的響應的正確率也不斷上升。通過此學習過程,確定下各層間的連接權值後。典型三層BP神經網路學習及程序運行過程如下(標志淵,2006):
(1)首先,對各符號的形式及意義進行說明:
網路輸入向量Pk=(a1,a2,...,an);
網路目標向量Tk=(y1,y2,...,yn);
中間層單元輸入向量Sk=(s1,s2,...,sp),輸出向量Bk=(b1,b2,...,bp);
輸出層單元輸入向量Lk=(l1,l2,...,lq),輸出向量Ck=(c1,c2,...,cq);
輸入層至中間層的連接權wij,i=1,2,...,n,j=1,2,...p;
中間層至輸出層的連接權vjt,j=1,2,...,p,t=1,2,...,p;
中間層各單元的輸出閾值θj,j=1,2,...,p;
輸出層各單元的輸出閾值γj,j=1,2,...,p;
參數k=1,2,...,m。
(2)初始化。給每個連接權值wij、vjt、閾值θj與γj賦予區間(-1,1)內的隨機值。
(3)隨機選取一組輸入和目標樣本
(4)用輸入樣本
基坑降水工程的環境效應與評價方法
bj=f(sj) j=1,2,...,p (4.5)
(5)利用中間層的輸出bj、連接權vjt和閾值γt計算輸出層各單元的輸出Lt,然後通過傳遞函數計算輸出層各單元的響應Ct。
基坑降水工程的環境效應與評價方法
Ct=f(Lt) t=1,2,...,q (4.7)
(6)利用網路目標向量
基坑降水工程的環境效應與評價方法
(7)利用連接權vjt、輸出層的一般化誤差dt和中間層的輸出bj計算中間層各單元的一般化誤差
基坑降水工程的環境效應與評價方法
(8)利用輸出層各單元的一般化誤差
基坑降水工程的環境效應與評價方法
(9)利用中間層各單元的一般化誤差
基坑降水工程的環境效應與評價方法
(10)隨機選取下一個學習樣本向量提供給網路,返回到步驟(3),直到m個訓練樣本訓練完畢。
(11)重新從m個學習樣本中隨機選取一組輸入和目標樣本,返回步驟(3),直到網路全局誤差E小於預先設定的一個極小值,即網路收斂。如果學習次數大於預先設定的值,網路就無法收斂。
(12)學習結束。
可以看出,在以上學習步驟中,(8)、(9)步為網路誤差的「逆傳播過程」,(10)、(11)步則用於完成訓練和收斂過程。
通常,經過訓練的網路還應該進行性能測試。測試的方法就是選擇測試樣本向量,將其提供給網路,檢驗網路對其分類的正確性。測試樣本向量中應該包含今後網路應用過程中可能遇到的主要典型模式(宋大奇,2006)。這些樣本可以直接測取得到,也可以通過模擬得到,在樣本數據較少或者較難得到時,也可以通過對學習樣本加上適當的雜訊或按照一定規則插值得到。為了更好地驗證網路的泛化能力,一個良好的測試樣本集中不應該包含和學習樣本完全相同的模式(董軍,2007)。
⑻ LMBP神經網路參數,net.trainParam.mu及其相關。
bpnet=newff(pr,[12 4],{'logsig', 'logsig'}, 'traingdx', 'learngdm');
%建立BP神經網路, 12個隱層神經元,4個輸出神經元
%tranferFcn屬性 'logsig' 隱層採用Sigmoid傳輸函數
%tranferFcn屬性 'logsig' 輸出層採用Sigmoid傳輸函數
%trainFcn屬性 'traingdx' 自適應調整學習速率附加動量因子梯度下降反向傳播演算法訓練函數
%learn屬性 'learngdm' 附加動量因子的梯度下降學習函數
net.trainParam.epochs=1000;%允許最大訓練步數2000步
net.trainParam.goal=0.001; %訓練目標最小誤差0.001
net.trainParam.show=10; %每間隔100步顯示一次訓練結果
net.trainParam.lr=0.05; %學習速率0.05