神经网络模型参数辨识,神经网络模型应用实例
1、神經網絡參數如何確定
神經網絡各個網絡參數設定原則:
①、網絡節點? 網絡輸入層神經元節點數就是系統的特征因子(自變量)個數,輸出層神經元節點數就是系統目標個數。隱層節點選按經驗選取,一般設為輸入層節點數的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系統中,允許對輸入層各個節點的數據進行轉換,提供轉換的方法有取對數、平方根轉換和數據標準化轉換。
擴展資料:
神經網絡的研究內容相當廣泛,反映了多學科交叉技術領域的特點。主要的研究工作集中在以下幾個方面:
1.生物原型
從生理學、心理學、解剖學、腦科學、病理學等方面研究神經細胞、神經網絡、神經系統的生物原型結構及其功能機理。
2.建立模型
根據生物原型的研究,建立神經元、神經網絡的理論模型。其中包括概念模型、知識模型、物理化學模型、數學模型等。
3.算法
在理論模型研究的基礎上構作具體的神經網絡模型,以實現計算機模擬或準備制作硬件,包括網絡學習算法的研究。這方面的工作也稱為技術模型研究。
神經網絡用到的算法就是向量乘法,并且廣泛采用符號函數及其各種逼近。并行、容錯、可以硬件實現以及自我學習特性,是神經網絡的幾個基本優點,也是神經網絡計算方法與傳統方法的區別所在。
參考資料:百度百科-神經網絡(通信定義)
谷歌人工智能寫作項目:小發貓
2、BP神經網絡模型各個參數的選取問題
樣本變量不需要那么多,因為神經網絡的信息存儲能力有限,過多的樣本會造成一些有用的信息被丟棄神經網絡模型參數的設計與模擬。如果樣本數量過多,應增加隱層節點數或隱層數目,才能增強學習能力。
一、隱層數
一般認為,增加隱層數可以降低網絡誤差(也有文獻認為不一定能有效降低),提高精度,但也使網絡復雜化,從而增加了網絡的訓練時間和出現“過擬合”的傾向。一般來講應設計神經網絡應優先考慮3層網絡(即有1個隱層)。一般地,靠增加隱層節點數來獲得較低的誤差,其訓練效果要比增加隱層數更容易實現。對于沒有隱層的神經網絡模型,實際上就是一個線性或非線性(取決于輸出層采用線性或非線性轉換函數型式)回歸模型。因此,一般認為,應將不含隱層的網絡模型歸入回歸分析中,技術已很成熟,沒有必要在神經網絡理論中再討論之。
二、隱層節點數
在BP 網絡中,隱層節點數的選擇非常重要,它不僅對建立的神經網絡模型的性能影響很大,而且是訓練時出現“過擬合”的直接原因,但是目前理論上還沒有一種科學的和普遍的確定方法。 目前多數文獻中提出的確定隱層節點數的計算公式都是針對訓練樣本任意多的情況,而且多數是針對最不利的情況,一般工程實踐中很難滿足,不宜采用。事實上,各種計算公式得到的隱層節點數有時相差幾倍甚至上百倍。為盡可能避免訓練時出現“過擬合”現象,保證足夠高的網絡性能和泛化能力,確定隱層節點數的最基本原則是:在滿足精度要求的前提下取盡可能緊湊的結構,即取盡可能少的隱層節點數。研究表明,隱層節點數不僅與輸入/輸出層的節點數有關,更與需解決的問題的復雜程度和轉換函數的型式以及樣本數據的特性等因素有關。
3、神經網絡BP模型
一、BP模型概述
誤差逆傳播(Error Back-Propagation)神經網絡模型簡稱為BP(Back-Propagation)網絡模型。
Pall Werbas博士于1974年在他的博士論文中提出了誤差逆傳播學習算法。完整提出并被廣泛接受誤差逆傳播學習算法的是以Rumelhart和McCelland為首的科學家小組。他們在1986年出版“Parallel Distributed Processing,Explorations in the Microstructure of Cognition”(《并行分布信息處理》)一書中,對誤差逆傳播學習算法進行了詳盡的分析與介紹,并對這一算法的潛在能力進行了深入探討。
BP網絡是一種具有3層或3層以上的階層型神經網絡。上、下層之間各神經元實現全連接,即下層的每一個神經元與上層的每一個神經元都實現權連接,而每一層各神經元之間無連接。網絡按有教師示教的方式進行學習,當一對學習模式提供給網絡后,神經元的激活值從輸入層經各隱含層向輸出層傳播,在輸出層的各神經元獲得網絡的輸入響應。在這之后,按減小期望輸出與實際輸出的誤差的方向,從輸入層經各隱含層逐層修正各連接權,最后回到輸入層,故得名“誤差逆傳播學習算法”。隨著這種誤差逆傳播修正的不斷進行,網絡對輸入模式響應的正確率也不斷提高。
BP網絡主要應用于以下幾個方面:
1)函數逼近:用輸入模式與相應的期望輸出模式學習一個網絡逼近一個函數;
2)模式識別:用一個特定的期望輸出模式將它與輸入模式聯系起來;
3)分類:把輸入模式以所定義的合適方式進行分類;
4)數據壓縮:減少輸出矢量的維數以便于傳輸或存儲。
在人工神經網絡的實際應用中,80%~90%的人工神經網絡模型采用BP網絡或它的變化形式,它也是前向網絡的核心部分,體現了人工神經網絡最精華的部分。
二、BP模型原理
下面以三層BP網絡為例,說明學習和應用的原理。
1.數據定義
P對學習模式(xp,dp),p=1,2,…,P;
輸入模式矩陣X[N][P]=(x1,x2,…,xP);
目標模式矩陣d[M][P]=(d1,d2,…,dP)。
三層BP網絡結構
輸入層神經元節點數S0=N,i=1,2,…,S0;
隱含層神經元節點數S1,j=1,2,…,S1;
神經元激活函數f1[S1];
權值矩陣W1[S1][S0];
偏差向量b1[S1]。
輸出層神經元節點數S2=M,k=1,2,…,S2;
神經元激活函數f2[S2];
權值矩陣W2[S2][S1];
偏差向量b2[S2]。
學習參數
目標誤差?;
初始權更新值Δ0;
最大權更新值Δmax;
權更新值增大倍數η+;
權更新值減小倍數η-。
2.誤差函數定義
對第p個輸入模式的誤差的計算公式為
中國礦產資源評價新技術與評價新模型
y2kp為BP網的計算輸出。
3.BP網絡學習公式推導
BP網絡學習公式推導的指導思想是,對網絡的權值W、偏差b修正,使誤差函數沿負梯度方向下降,直到網絡輸出誤差精度達到目標精度要求,學習結束。
各層輸出計算公式
輸入層
y0i=xi,i=1,2,…,S0;
隱含層
中國礦產資源評價新技術與評價新模型
y1j=f1(z1j),
j=1,2,…,S1;
輸出層
中國礦產資源評價新技術與評價新模型
y2k=f2(z2k),
k=1,2,…,S2。
輸出節點的誤差公式
中國礦產資源評價新技術與評價新模型
對輸出層節點的梯度公式推導
中國礦產資源評價新技術與評價新模型
E是多個y2m的函數,但只有一個y2k與wkj有關,各y2m間相互獨立。
其中
中國礦產資源評價新技術與評價新模型
則
中國礦產資源評價新技術與評價新模型
設輸出層節點誤差為
δ2k=(dk-y2k)·f2′(z2k),
則
中國礦產資源評價新技術與評價新模型
同理可得
中國礦產資源評價新技術與評價新模型
對隱含層節點的梯度公式推導
中國礦產資源評價新技術與評價新模型
E是多個y2k的函數,針對某一個w1ji,對應一個y1j,它與所有的y2k有關。因此,上式只存在對k的求和,其中
中國礦產資源評價新技術與評價新模型
則
中國礦產資源評價新技術與評價新模型
設隱含層節點誤差為
中國礦產資源評價新技術與評價新模型
則
中國礦產資源評價新技術與評價新模型
同理可得
中國礦產資源評價新技術與評價新模型
4.采用彈性BP算法(RPROP)計算權值W、偏差b的修正值ΔW,Δb
1993年德國 Martin Riedmiller和Heinrich Braun 在他們的論文“A Direct Adaptive Method for Faster Backpropagation Learning:The RPROP Algorithm”中,提出Resilient Backpropagation算法——彈性BP算法(RPROP)。這種方法試圖消除梯度的大小對權步的有害影響,因此,只有梯度的符號被認為表示權更新的方向。
權改變的大小僅僅由權專門的“更新值”
確定
中國礦產資源評價新技術與評價新模型
其中
表示在模式集的所有模式(批學習)上求和的梯度信息,(t)表示t時刻或第t次學習。
權更新遵循規則:如果導數是正(增加誤差),這個權由它的更新值減少。如果導數是負,更新值增加。
中國礦產資源評價新技術與評價新模型
RPROP算法是根據局部梯度信息實現權步的直接修改。對于每個權,我們引入它的
各自的更新值
,它獨自確定權更新值的大小。這是基于符號相關的自適應過程,它基
于在誤差函數E上的局部梯度信息,按照以下的學習規則更新
中國礦產資源評價新技術與評價新模型
其中0<η-<1<η+。
在每個時刻,如果目標函數的梯度改變它的符號,它表示最后的更新太大,更新值
應由權更新值減小倍數因子η-得到減少;如果目標函數的梯度保持它的符號,更新值應由權更新值增大倍數因子η+得到增大。
為了減少自由地可調參數的數目,增大倍數因子η+和減小倍數因子η–被設置到固定值
η+=1.2,
η-=0.5,
這兩個值在大量的實踐中得到了很好的效果。
RPROP算法采用了兩個參數:初始權更新值Δ0和最大權更新值Δmax
當學習開始時,所有的更新值被設置為初始值Δ0,因為它直接確定了前面權步的大小,它應該按照權自身的初值進行選擇,例如,Δ0=0.1(默認設置)。
為了使權不至于變得太大,設置最大權更新值限制Δmax,默認上界設置為
Δmax=50.0。
在很多實驗中,發現通過設置最大權更新值Δmax到相當小的值,例如
Δmax=1.0。
我們可能達到誤差減小的平滑性能。
5.計算修正權值W、偏差b
第t次學習,權值W、偏差b的的修正公式
W(t)=W(t-1)+ΔW(t),
b(t)=b(t-1)+Δb(t),
其中,t為學習次數。
6.BP網絡學習成功結束條件每次學習累積誤差平方和
中國礦產資源評價新技術與評價新模型
每次學習平均誤差
中國礦產資源評價新技術與評價新模型
當平均誤差MSE<ε,BP網絡學習成功結束。
7.BP網絡應用預測
在應用BP網絡時,提供網絡輸入給輸入層,應用給定的BP網絡及BP網絡學習得到的權值W、偏差b,網絡輸入經過從輸入層經各隱含層向輸出層的“順傳播”過程,計算出BP網的預測輸出。
8.神經元激活函數f
線性函數
f(x)=x,
f′(x)=1,
f(x)的輸入范圍(-∞,+∞),輸出范圍(-∞,+∞)。
一般用于輸出層,可使網絡輸出任何值。
S型函數S(x)
中國礦產資源評價新技術與評價新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍(0,1)。
f′(x)=f(x)[1-f(x)],
f′(x)的輸入范圍(-∞,+∞),輸出范圍(0,
]。
一般用于隱含層,可使范圍(-∞,+∞)的輸入,變成(0,1)的網絡輸出,對較大的輸入,放大系數較小;而對較小的輸入,放大系數較大,所以可用來處理和逼近非線性的輸入/輸出關系。
在用于模式識別時,可用于輸出層,產生逼近于0或1的二值輸出。
雙曲正切S型函數
中國礦產資源評價新技術與評價新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍(-1,1)。
f′(x)=1-f(x)·f(x),
f′(x)的輸入范圍(-∞,+∞),輸出范圍(0,1]。
一般用于隱含層,可使范圍(-∞,+∞)的輸入,變成(-1,1)的網絡輸出,對較大的輸入,放大系數較小;而對較小的輸入,放大系數較大,所以可用來處理和逼近非線性的輸入/輸出關系。
階梯函數
類型1
中國礦產資源評價新技術與評價新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。
f′(x)=0。
類型2
中國礦產資源評價新技術與評價新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍{-1,1}。
f′(x)=0。
斜坡函數
類型1
中國礦產資源評價新技術與評價新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍[0,1]。
中國礦產資源評價新技術與評價新模型
f′(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。
類型2
中國礦產資源評價新技術與評價新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍[-1,1]。
中國礦產資源評價新技術與評價新模型
f′(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。
三、總體算法
1.三層BP網絡(含輸入層,隱含層,輸出層)權值W、偏差b初始化總體算法
(1)輸入參數X[N][P],S0,S1,f1[S1],S2,f2[S2];
(2)計算輸入模式X[N][P]各個變量的最大值,最小值矩陣 Xmax[N],Xmin[N];
(3)隱含層的權值W1,偏差b1初始化。
情形1:隱含層激活函數f( )都是雙曲正切S型函數
1)計算輸入模式X[N][P]的每個變量的范圍向量Xrng[N];
2)計算輸入模式X的每個變量的范圍均值向量Xmid[N];
3)計算W,b的幅度因子Wmag;
4)產生[-1,1]之間均勻分布的S0×1維隨機數矩陣Rand[S1];
5)產生均值為0,方差為1的正態分布的S1×S0維隨機數矩陣Randnr[S1][S0],隨機數范圍大致在[-1,1];
6)計算W[S1][S0],b[S1];
7)計算隱含層的初始化權值W1[S1][S0];
8)計算隱含層的初始化偏差b1[S1];
9))輸出W1[S1][S0],b1[S1]。
情形2:隱含層激活函數f( )都是S型函數
1)計算輸入模式X[N][P]的每個變量的范圍向量Xrng[N];
2)計算輸入模式X的每個變量的范圍均值向量Xmid[N];
3)計算W,b的幅度因子Wmag;
4)產生[-1,1]之間均勻分布的S0×1維隨機數矩陣Rand[S1];
5)產生均值為0,方差為1的正態分布的S1×S0維隨機數矩陣Randnr[S1][S0],隨機數范圍大致在[-1,1];
6)計算W[S1][S0],b[S1];
7)計算隱含層的初始化權值W1[S1][S0];
8)計算隱含層的初始化偏差b1[S1];
9)輸出W1[S1][S0],b1[S1]。
情形3:隱含層激活函數f( )為其他函數的情形
1)計算輸入模式X[N][P]的每個變量的范圍向量Xrng[N];
2)計算輸入模式X的每個變量的范圍均值向量Xmid[N];
3)計算W,b的幅度因子Wmag;
4)產生[-1,1]之間均勻分布的S0×1維隨機數矩陣Rand[S1];
5)產生均值為0,方差為1的正態分布的S1×S0維隨機數矩陣Randnr[S1][S0],隨機數范圍大致在[-1,1];
6)計算W[S1][S0],b[S1];
7)計算隱含層的初始化權值W1[S1][S0];
8)計算隱含層的初始化偏差b1[S1];
9)輸出W1[S1][S0],b1[S1]。
(4)輸出層的權值W2,偏差b2初始化
1)產生[-1,1]之間均勻分布的S2×S1維隨機數矩陣W2[S2][S1];
2)產生[-1,1]之間均勻分布的S2×1維隨機數矩陣b2[S2];
3)輸出W2[S2][S1],b2[S2]。
2.應用彈性BP算法(RPROP)學習三層BP網絡(含輸入層,隱含層,輸出層)權值W、偏差b總體算法
函數:Train3BP_RPROP(S0,X,P,S1,W1,b1,f1,S2,W2,b2,f2,d,TP)
(1)輸入參數
P對模式(xp,dp),p=1,2,…,P;
三層BP網絡結構;
學習參數。
(2)學習初始化
1)
;
2)各層W,b的梯度值
,
初始化為零矩陣。
(3)由輸入模式X求第一次學習各層輸出y0,y1,y2及第一次學習平均誤差MSE
(4)進入學習循環
epoch=1
(5)判斷每次學習誤差是否達到目標誤差要求
如果MSE<?,
則,跳出epoch循環,
轉到(12)。
(6)保存第epoch-1次學習產生的各層W,b的梯度值
,
(7)求第epoch次學習各層W,b的梯度值
,
1)求各層誤差反向傳播值δ;
2)求第p次各層W,b的梯度值
,
;
3)求p=1,2,…,P次模式產生的W,b的梯度值
,
的累加。
(8)如果epoch=1,則將第epoch-1次學習的各層W,b的梯度值
,
設為第epoch次學習產生的各層W,b的梯度值
,
。
(9)求各層W,b的更新
1)求權更新值Δij更新;
2)求W,b的權更新值
,
;
3)求第epoch次學習修正后的各層W,b。
(10)用修正后各層W、b,由X求第epoch次學習各層輸出y0,y1,y2及第epoch次學習誤差MSE
(11)epoch=epoch+1,
如果epoch≤MAX_EPOCH,轉到(5);
否則,轉到(12)。
(12)輸出處理
1)如果MSE<ε,
則學習達到目標誤差要求,輸出W1,b1,W2,b2。
2)如果MSE≥ε,
則學習沒有達到目標誤差要求,再次學習。
(13)結束
3.三層BP網絡(含輸入層,隱含層,輸出層)預測總體算法
首先應用Train3lBP_RPROP( )學習三層BP網絡(含輸入層,隱含層,輸出層)權值W、偏差b,然后應用三層BP網絡(含輸入層,隱含層,輸出層)預測。
函數:Simu3lBP( )。
1)輸入參數:
P個需預測的輸入數據向量xp,p=1,2,…,P;
三層BP網絡結構;
學習得到的各層權值W、偏差b。
2)計算P個需預測的輸入數據向量xp(p=1,2,…,P)的網絡輸出 y2[S2][P],輸出預測結果y2[S2][P]。
四、總體算法流程圖
BP網絡總體算法流程圖見附圖2。
五、數據流圖
BP網數據流圖見附圖1。
六、實例
實例一 全國銅礦化探異常數據BP 模型分類
1.全國銅礦化探異常數據準備
在全國銅礦化探數據上用穩健統計學方法選取銅異常下限值33.1,生成全國銅礦化探異常數據。
2.模型數據準備
根據全國銅礦化探異常數據,選取7類33個礦點的化探數據作為模型數據。這7類分別是巖漿巖型銅礦、斑巖型銅礦、矽卡巖型、海相火山型銅礦、陸相火山型銅礦、受變質型銅礦、海相沉積型銅礦,另添加了一類沒有銅異常的模型(表8-1)。
3.測試數據準備
全國化探數據作為測試數據集。
4.BP網絡結構
隱層數2,輸入層到輸出層向量維數分別為14,9、5、1。學習率設置為0.9,系統誤差1e-5。沒有動量項。
表8-1 模型數據表
續表
5.計算結果圖
如圖8-2、圖8-3。
圖8-2
圖8-3 全國銅礦礦床類型BP模型分類示意圖
實例二 全國金礦礦石量品位數據BP 模型分類
1.模型數據準備
根據全國金礦儲量品位數據,選取4類34個礦床數據作為模型數據,這4類分別是綠巖型金礦、與中酸性浸入巖有關的熱液型金礦、微細浸染型型金礦、火山熱液型金礦(表8-2)。
2.測試數據準備
模型樣本點和部分金礦點金屬量、礦石量、品位數據作為測試數據集。
3.BP網絡結構
輸入層為三維,隱層1層,隱層為三維,輸出層為四維,學習率設置為0.8,系統誤差1e-4,迭代次數5000。
表8-2 模型數據
4.計算結果
結果見表8-3、8-4。
表8-3 訓練學習結果
表8-4 預測結果(部分)
續表
4、利用人工神經網絡建立模型的步驟
人工神經網絡有很多種,我只會最常用的BP神經網絡。不同的網絡有不同的結構和不同的學習算法。
簡單點說,人工神經網絡就是一個函數。只是這個函數有別于一般的函數。它比普通的函數多了一個學習的過程。
在學習的過程中,它根據正確結果不停地校正自己的網絡結構,最后達到一個滿意的精度。這時,它才開始真正的工作階段。
學習人工神經網絡最好先安裝MathWords公司出的MatLab軟件。利用該軟件,你可以在一周之內就學會建立你自己的人工神經網絡解題模型。
如果你想自己編程實現人工神經網絡,那就需要找一本有關的書籍,專門看神經網絡學習算法的那部分內容。因為“學習算法”是人工神經網絡的核心。最常用的BP人工神經網絡,使用的就是BP學習算法。
總結
以上是生活随笔為你收集整理的神经网络模型参数辨识,神经网络模型应用实例的全部內容,希望文章能夠幫你解決所遇到的問題。