bp神经网络权值调整公式,bp神经网络算法推导
神經網絡BP模型
一、BP模型概述誤差逆傳播(ErrorBack-Propagation)神經網絡模型簡稱為BP(Back-Propagation)網絡模型。
PallWerbas博士于1974年在他的博士論文中提出了誤差逆傳播學習算法。完整提出并被廣泛接受誤差逆傳播學習算法的是以Rumelhart和McCelland為首的科學家小組。
他們在1986年出版“ParallelDistributedProcessing,ExplorationsintheMicrostructureofCognition”(《并行分布信息處理》)一書中,對誤差逆傳播學習算法進行了詳盡的分析與介紹,并對這一算法的潛在能力進行了深入探討。
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,Δb1993年德國MartinRiedmiller和HeinrichBraun在他們的論文“ADirectAdaptiveMethodforFasterBackpropagationLearning:TheRPROPAlgorithm”中,提出ResilientBackpropagation算法——彈性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預測結果(部分)續表。
谷歌人工智能寫作項目:愛發貓
BP神經網絡(誤差反傳網絡)
雖然每個人工神經元很簡單,但是只要把多個人工神經元按一定方式連接起來就構成了一個能處理復雜信息的神經網絡文案狗。采用BP算法的多層前饋網絡是目前應用最廣泛的神經網絡,稱之為BP神經網絡。
它的最大功能就是能映射復雜的非線性函數關系。
對于已知的模型空間和數據空間,我們知道某個模型和他對應的數據,但是無法寫出它們之間的函數關系式,但是如果有大量的一一對應的模型和數據樣本集合,利用BP神經網絡可以模擬(映射)它們之間的函數關系。
一個三層BP網絡如圖8.11所示,分為輸入層、隱層、輸出層。它是最常用的BP網絡。理論分析證明三層網絡已經能夠表達任意復雜的連續函數關系了。只有在映射不連續函數時(如鋸齒波)才需要兩個隱層[8]。
圖8.11中,X=(x1,…,xi,…,xn)T為輸入向量,如加入x0=-1,可以為隱層神經元引入閥值;隱層輸出向量為:Y=(y1,…,yi,…,ym)T,如加入y0=-1,可以為輸出層神經元引入閥值;輸出層輸出向量為:O=(o1,…,oi,…,ol)T;輸入層到隱層之間的權值矩陣用V表示,V=(V1,…,Vj,…,Vl)T,其中列向量Vj表示隱層第j個神經元的權值向量;隱層到輸出層之間的權值矩陣用W表示,W=(W1,…,Wk,…,Wl)T,其中列向量Wk表示輸出層第k個神經元的權值向量。
圖8.11三層BP網絡[8]BP算法的基本思想是:預先給定一一對應的輸入輸出樣本集。學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。
正向傳播時,輸入樣本從輸入層傳入,經過各隱層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉入誤差的反向傳播。
將輸出誤差以某種形式通過隱層向輸入層逐層反傳,并將誤差分攤給各層的所有神經元,獲得各層的誤差信號,用它們可以對各層的神經元的權值進行調整(關于如何修改權值參見韓立群著作[8]),循環不斷地利用輸入輸出樣本集進行權值調整,以使所有輸入樣本的輸出誤差都減小到滿意的精度。
這個過程就稱為網絡的學習訓練過程。當網絡訓練完畢后,它相當于映射(表達)了輸入輸出樣本之間的函數關系。
在地球物理勘探中,正演過程可以表示為如下函數:d=f(m)(8.31)它的反函數為m=f-1(d)(8.32)如果能夠獲得這個反函數,那么就解決了反演問題。
一般來說,難以寫出這個反函數,但是我們可以用BP神經網絡來映射這個反函數m=f-1(d)。
對于地球物理反問題,如果把觀測數據當作輸入數據,模型參數當作輸出數據,事先在模型空間隨機產生大量樣本進行正演計算,獲得對應的觀測數據樣本,利用它們對BP網絡進行訓練,則訓練好的網絡就相當于是地球物理數據方程的反函數。
可以用它進行反演,輸入觀測數據,網絡就會輸出它所對應的模型。BP神經網絡在能夠進行反演之前需要進行學習訓練。訓練需要大量的樣本,產生這些樣本需要大量的正演計算,此外在學習訓練過程也需要大量的時間。
但是BP神經網絡一旦訓練完畢,在反演中的計算時間可以忽略。要想使BP神經網絡比較好地映射函數關系,需要有全面代表性的樣本,但是由于模型空間的無限性,難以獲得全面代表性的樣本集合。
用這樣的樣本訓練出來的BP網絡,只能反映樣本所在的較小范圍數據空間和較小范圍模型空間的函數關系。對于超出它們的觀測數據就無法正確反演。
目前BP神經網絡在一維反演有較多應用,在二維、三維反演應用較少,原因就是難以產生全面代表性的樣本空間。
MATLAB中BP神經網絡的訓練算法具體是怎么樣的
BP算法的基本思想是,學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經各隱層逐層處理后,傳向輸出層。
若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉入誤差的反向傳播階段。
誤差反傳是將輸出誤差以某種形式通過隱層向輸入層逐層反傳,并將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權值的依據。
這種信號正向傳播與誤差反向傳播的各層權值調整過程,是周而復始地進行的。權值不斷調整的過程,也就是網絡的學習訓練過程。此過程一直進行到網絡輸出的誤差減少到可接受的程度,或進行到預先設定的學習次數為止。
1)正向傳播:輸入樣本->輸入層->各隱層(處理)->輸出層注1:若輸出層實際輸出與期望輸出(教師信號)不符,則轉入2)(誤差反向傳播過程)2)誤差反向傳播:輸出誤差(某種形式)->隱層(逐層)->輸入層其主要目的是通過將輸出誤差反傳,將誤差分攤給各層所有單元,從而獲得各層單元的誤差信號,進而修正各單元的權值(其過程,是一個權值調整的過程)。
注2:權值調整的過程,也就是網絡的學習訓練過程(學習也就是這么的由來,權值調整)。具體的公式和推導請參閱相關教材,這里很難表述公式。
傷寒、副傷寒流行預測模型(BP神經網絡)的建立
由于目前研究的各種數學模型或多或少存在使用條件的局限性,或使用方法的復雜性等問題,預測效果均不十分理想,距離實際應用仍有較大差距。
NNT是Matlab中較為重要的一個工具箱,在實際應用中,BP網絡用的最廣泛。
神經網絡具有綜合能力強,對數據的要求不高,適時學習等突出優點,其操作簡便,節省時間,網絡初學者即使不了解其算法的本質,也可以直接應用功能豐富的函數來實現自己的目的。
因此,易于被基層單位預防工作者掌握和應用。
以下幾個問題是建立理想的因素與疾病之間的神經網絡模型的關鍵:(1)資料選取應盡可能地選取所研究地區系統連續的因素與疾病資料,最好包括有疾病高發年和疾病低發年的數據。
在收集影響因素時,要抓住主要影響傷寒、副傷寒的發病因素。
(2)疾病發病率分級神經網絡預測法是按發病率高低來進行預測,在定義發病率等級時,要結合專業知識及當地情況而定,并根據網絡學習訓練效果而適時調整,以使網絡學習訓練達到最佳效果。
(3)資料處理問題在實踐中發現,資料的特征往往很大程度地影響網絡學習和訓練的穩定性,因此,數據的應用、納入、排出問題有待于進一步研究。
6.3.1人工神經網絡的基本原理人工神經網絡(ANN)是近年來發展起來的十分熱門的交叉學科,它涉及生物、電子、計算機、數學和物理等學科,有著廣泛的應用領域。
人工神經網絡是一種自適應的高度非線性動力系統,在網絡計算的基礎上,經過多次重復組合,能夠完成多維空間的映射任務。
神經網絡通過內部連接的自組織結構,具有對數據的高度自適應能力,由計算機直接從實例中學習獲取知識,探求解決問題的方法,自動建立起復雜系統的控制規律及其認知模型。
人工神經網絡就其結構而言,一般包括輸入層、隱含層和輸出層,不同的神經網絡可以有不同的隱含層數,但他們都只有一層輸入和一層輸出。
神經網絡的各層又由不同數目的神經元組成,各層神經元數目隨解決問題的不同而有不同的神經元個數。
6.3.2BP神經網絡模型BP網絡是在1985年由PDP小組提出的反向傳播算法的基礎上發展起來的,是一種多層次反饋型網絡(圖6.17),它在輸入和輸出之間采用多層映射方式,網絡按層排列,只有相鄰層的節點直接相互連接,傳遞之間信息。
在正向傳播中,輸入信息從輸入層經隱含層逐層處理,并傳向輸出層,每層神經元的狀態只影響下一層神經元的狀態。
如果輸出層不能得到期望的輸出結果,則轉入反向傳播,將誤差信號沿原來的連同通路返回,通過修改各層神經元的權值,使誤差信號最小。
BP網絡的學習算法步驟如下(圖6.18):圖6.17BP神經網絡示意圖圖6.18BP算法流程圖第一步:設置初始參數ω和θ,(ω為初始權重,θ為臨界值,均隨機設為較小的數)。
第二步:將已知的樣本加到網絡上,利用下式可算出他們的輸出值yi,其值為巖溶地區地下水與環境的特殊性研究式中:xi為該節點的輸入;ωij為從I到j的聯接權;θj為臨界值;yj為實際算出的輸出數據。
第三步:將已知輸出數據與上面算出的輸出數據之差(dj-yj)調整權系數ω,調整量為ΔWij=ηδjxj式中:η為比例系數;xj為在隱節點為網絡輸入,在輸出點則為下層(隱)節點的輸出(j=1,2…,n);dj為已知的輸出數據(學習樣本訓練數據);δj為一個與輸出偏差相關的值,對于輸出節點來說有δj=ηj(1-yj)(dj-yj)對于隱節點來說,由于它的輸出無法進行比較,所以經過反向逐層計算有巖溶地區地下水與環境的特殊性研究其中k指要把上層(輸出層)節點取遍。
誤差δj是從輸出層反向逐層計算的。各神經元的權值調整后為ωij(t)=ωij(t-1)+Vωij式中:t為學習次數。
這個算法是一個迭代過程,每一輪將各W值調整一遍,這樣一直迭代下去,知道輸出誤差小于某一允許值為止,這樣一個好的網絡就訓練成功了,BP算法從本質上講是把一組樣本的輸入輸出問題變為一個非線性優化問題,它使用了優化技術中最普遍的一種梯度下降算法,用迭代運算求解權值相當于學習記憶問題。
6.3.3BP神經網絡模型在傷寒、副傷寒流行與傳播預測中的應用傷寒、副傷寒的傳播與流行同環境之間有著一定的聯系。
根據桂林市1990年以來鄉鎮為單位的傷寒、副傷寒疫情資料,傷寒、副傷寒疫源地資料,結合現有資源與環境背景資料(桂林市行政區劃、土壤、氣候等)和社會經濟資料(經濟、人口、生活習慣等統計資料)建立人工神經網絡數學模型,來逼近這種規律。
6.3.3.1模型建立(1)神經網絡的BP算法BP網絡是一種前饋型網絡,由1個輸入層、若干隱含層和1個輸出層構成。
如果輸入層、隱含層和輸出層的單元個數分別為n,q1,q2,m,則該三層網絡網絡可表示為BP(n,q1,q2,m),利用該網絡可實現n維輸入向量Xn=(X1,X2,…,Xn)T到m維輸出向量Ym=(Y1,Y2,…,Ym)T的非線性映射。
輸入層和輸出層的單元數n,m根據具體問題確定。
(2)樣本的選取將模型的輸入變量設計為平均溫度、平均降雨量、巖石性質、巖溶發育、地下水類型、飲用水類型、正規自來水供應比例、集中供水比例8個輸入因子(表6.29),輸出單元為傷寒副傷寒的發病率等級,共一個輸出單元。
其中q1,q2的值根據訓練結果進行選擇。表6.29桂林市傷寒副傷寒影響因素量化表通過分析,選取在傷寒副傷寒有代表性的縣鎮在1994~2001年的環境參評因子作為樣本進行訓練。
利用聚類分析法對疫情進行聚類分級(Ⅰ、Ⅱ、Ⅲ、Ⅳ),傷寒副傷寒發病最高級為Ⅳ(BP網絡中輸出定為4),次之的為Ⅲ(BP網絡中輸出定為3),以此類推,最低為Ⅰ(BP網絡中輸出定為1)(3)數據的歸一化處理為使網絡在訓練過程中易于收斂,我們對輸入數據進行了歸一化處理,并將輸入的原始數據都化為0~1之間的數。
如將平均降雨量的數據乘以0.0001;將平均氣溫的數據乘以0.01;其他輸入數據也按類似的方法進行歸一化處理。
(4)模型的算法過程假設共有P個訓練樣本,輸入的第p個(p=1,2,…,P)訓練樣本信息首先向前傳播到隱含單元上。
經過激活函數f(u)的作用得到隱含層1的輸出信息:巖溶地區地下水與環境的特殊性研究經過激活函數f(u)的作用得到隱含層2的輸出信息:巖溶地區地下水與環境的特殊性研究激活函數f(u)我們這里采用Sigmoid型,即f(u)=1/[1+exp(-u)](6.5)隱含層的輸出信息傳到輸出層,可得到最終輸出結果為巖溶地區地下水與環境的特殊性研究以上過程為網絡學習的信息正向傳播過程。
另一個過程為誤差反向傳播過程。
如果網絡輸出與期望輸出間存在誤差,則將誤差反向傳播,利用下式來調節網絡權重和閾值:巖溶地區地下水與環境的特殊性研究式中:Δω(t)為t次訓練時權重和閾值的修正;η稱為學習速率,0<η<1;E為誤差平方和。
巖溶地區地下水與環境的特殊性研究反復運用以上兩個過程,直至網絡輸出與期望輸出間的誤差滿足一定的要求。該模型算法的缺點:1)需要較長的訓練時間。
由于一些復雜的問題,BP算法可能要進行幾小時甚至更長的時間的訓練,這主要是由于學習速率太小造成的,可采用變化的學習速率或自適應的學習速率加以改進。2)完全不能訓練。
主要表現在網絡出現的麻痹現象上,在網絡的訓練過程中,當其權值調的過大,可能使得所有的或大部分神經元的加權總和n偏大,這使得激活函數的輸入工作在S型轉移函數的飽和區,從而導致其導數f′(n)非常小,從而使得對網絡權值的調節過程幾乎停頓下來。
3)局部極小值。BP算法可以使網絡權值收斂到一個解,但它并不能保證所求為誤差超平面的全局最小解,很可能是一個局部極小解。
這是因為BP算法采用的是梯度下降法,訓練從某一起點沿誤差函數的斜面逐漸達到誤差的最小值。
考慮到以上算法的缺點,對模型進行了兩方面的改進:(1)附加動量法為了避免陷入局部極小值,對模型進行了改進,應用了附加動量法。
附加動量法在使網絡修正及其權值時,不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上變化趨勢的影響,其作用如同一個低通濾波器,它允許網絡忽略網絡上的微小變化特性。
在沒有附加動量的作用下,網絡可能陷入淺的局部極小值,利用附加動量的作用則有可能滑過這些極小值。
該方法是在反向傳播法的基礎上在每一個權值的變化上加上一項正比于前次權值變化量的值,并根據反向傳播法來產生心的權值變化。
促使權值的調節向著誤差曲面底部的平均方向變化,從而防止了如Δω(t)=0的出現,有助于使網絡從誤差曲面的局部極小值中跳出。
這種方法主要是把式(6.7)改進為巖溶地區地下水與環境的特殊性研究式中:A為訓練次數;a為動量因子,一般取0.95左右。
訓練中對采用動量法的判斷條件為巖溶地區地下水與環境的特殊性研究(2)自適應學習速率對于一個特定的問題,要選擇適當的學習速率不是一件容易的事情。
通常是憑經驗或實驗獲取,但即使這樣,對訓練開始初期功效較好的學習速率,不見得對后來的訓練合適。
所以,為了盡量縮短網絡所需的訓練時間,采用了學習速率隨著訓練變化的方法來找到相對于每一時刻來說較差的學習速率。
下式給出了一種自適應學習速率的調整公式:巖溶地區地下水與環境的特殊性研究通過以上兩個方面的改進,訓練了一個比較理想的網絡,將動量法和自適應學習速率結合起來,效果要比單獨使用要好得多。
6.3.3.2模型的求解與預測采用包含了2個隱含層的神經網絡BP(4,q1,q2,1),隱含層單元數q1,q2與所研究的具體問題有關,目前尚無統一的確定方法,通常根據網絡訓練情況采用試錯法確定。
在滿足一定的精度要求下一般認小的數值,以改善網絡的概括推論能力。
在訓練中網絡的收斂采用輸出值Ykp與實測值tp的誤差平方和進行控制:巖溶地區地下水與環境的特殊性研究1)將附加動量法和自適應學習速率結合應用,分析桂林市36個鄉鎮地質條件各因素對傷寒副傷寒發病等級的影響。
因此訓練樣本為36個,第一個隱含層有19個神經元,第二個隱含層有11個神經元,學習速率為0.001。A.程序(略)。B.網絡訓練。
在命令窗口執行運行命令,網絡開始學習和訓練,其學習和訓練過程如下(圖6.19)。圖6.19神經網絡訓練過程圖C.模型預測。
a.輸入未參與訓練的鄉鎮(洞井鄉、兩水鄉、延東鄉、四塘鄉、嚴關鎮、靈田鄉)地質條件數據。b.預測。程序運行后網絡輸出預測值a3,與已知的實際值進行比較,其預測結果整理后見(表6.30)。
經計算,對6個鄉鎮傷寒副傷寒發病等級的預測符合率為83.3%。表6.30神經網絡模型預測結果與實際結果比較c.地質條件改進方案。
在影響疾病發生的地質條件中,大部分地質條件是不會變化的,而改變發病地區的飲用水類型是可以人為地通過改良措施加以實施的一個因素。
因此,以靈田鄉為例對發病率較高的鄉鎮進行分析,改變其飲用水類型,來看發病等級的變化情況。
表6.31顯示,在其他地質條件因素不變的情況下,改變當地的地下水類型(從原來的巖溶水類型改變成基巖裂隙水)則將發病等級從原來的最高級4級,下降為較低的2級,效果是十分明顯的。
因此,今后在進行傷寒副傷寒疾病防治的時候,可以通過改變高發區飲用水類型來客觀上減少疫情的發生。
表6.31靈田鄉改變飲用水類型前后的預測結果2)選取桂林地區1994~2000年月平均降雨量、月平均溫度作為輸入數據矩陣,進行樣本訓練,設定不同的隱含層單元數,對各月份的數據進行BP網絡訓練。
在隱含層單元數q1=13,q2=9,經過46383次數的訓練,誤差達到精度要求,學習速率0.02。A.附加動量法程序(略)。B.網絡訓練。
在命令窗口執行運行命令,網絡開始學習和訓練,其學習和訓練過程如下(圖6.20)。C.模型預測。a.輸入桂林市2001年1~12月桂林市各月份的平均氣溫和平均降雨量。預測程度(略)。b.預測。
程序運行后網絡輸出預測值a2,與已知的實際值進行比較,其預測結果整理后見(表6.32)。經計算,對2001年1~12月傷寒副傷寒發病等級進行預測,12個預測結果中,有9個符合,符合率為75%。
圖6.20神經網絡訓練過程圖表6.32神經網絡模型預測結果與實際值比較6.3.3.3模型的評價本研究采用BP神經網絡對傷寒、副傷寒發病率等級進行定量預測,一方面引用數量化理論對不確定因素進行量化處理;另一方面利用神經網絡優點,充分考慮各影響因素與發病率之間的非線性映射。
實際應用表明,神經網絡定量預測傷寒、副傷寒發病率是理想的。其主要優點有:1)避免了模糊或不確定因素的分析工作和具體數學模型的建立工作。2)完成了輸入和輸出之間復雜的非線性映射關系。
3)采用自適應的信息處理方式,有效減少人為的主觀臆斷性。雖然如此,但仍存在以下缺點:1)學習算法的收斂速度慢,通常需要上千次或更多,訓練時間長。2)從數學上看,BP算法有可能存在局部極小問題。
本模型具有廣泛的應用范圍,可以應用在很多領域。從上面的結果可以看出,實際和網絡學習數據總體較為接近,演化趨勢也基本一致。
說明選定的氣象因子、地質條件因素為神經單元獲得的傷寒、副傷寒發病等級與實際等級比較接近,從而證明傷寒、副傷寒流行與地理因素的確存在較密切的相關性。
對如下BP神經網絡,寫出它的計算公式(含學習公式),并對其初始權值以及樣本x1=1,x
BP人工神經網絡
人工神經網絡(artificialneuralnetwork,ANN)指由大量與自然神經系統相類似的神經元聯結而成的網絡,是用工程技術手段模擬生物網絡結構特征和功能特征的一類人工系統。
神經網絡不但具有處理數值數據的一般計算能力,而且還具有處理知識的思維、學習、記憶能力,它采用類似于“黑箱”的方法,通過學習和記憶,找出輸入、輸出變量之間的非線性關系(映射),在執行問題和求解時,將所獲取的數據輸入到已經訓練好的網絡,依據網絡學到的知識進行網絡推理,得出合理的答案與結果。
巖土工程中的許多問題是非線性問題,變量之間的關系十分復雜,很難用確切的數學、力學模型來描述。
工程現場實測數據的代表性與測點的位置、范圍和手段有關,有時很難滿足傳統統計方法所要求的統計條件和規律,加之巖土工程信息的復雜性和不確定性,因而運用神經網絡方法實現巖土工程問題的求解是合適的。
BP神經網絡模型是誤差反向傳播(BackPagation)網絡模型的簡稱。它由輸入層、隱含層和輸出層組成。
網絡的學習過程就是對網絡各層節點間連接權逐步修改的過程,這一過程由兩部分組成:正向傳播和反向傳播。
正向傳播是輸入模式從輸入層經隱含層處理傳向輸出層;反向傳播是均方誤差信息從輸出層向輸入層傳播,將誤差信號沿原來的連接通路返回,通過修改各層神經元的權值,使得誤差信號最小。
BP神經網絡模型在建立及應用過程中,主要存在的不足和建議有以下四個方面:(1)對于神經網絡,數據愈多,網絡的訓練效果愈佳,也更能反映實際。
但在實際操作中,由于條件的限制很難選取大量的樣本值進行訓練,樣本數量偏少。(2)BP網絡模型其計算速度較慢、無法表達預測量與其相關參數之間親疏關系。
(3)以定量數據為基礎建立模型,若能收集到充分資料,以定性指標(如基坑降水方式、基坑支護模式、施工工況等)和一些易獲取的定量指標作為輸入層,以評價等級作為輸出層,這樣建立的BP網絡模型將更準確全面。
(4)BP人工神經網絡系統具有非線性、智能的特點。
較好地考慮了定性描述和定量計算、精確邏輯分析和非確定性推理等方面,但由于樣本不同,影響要素的權重不同,以及在根據先驗知識和前人的經驗總結對定性參數進行量化處理,必然會影響評價的客觀性和準確性。
因此,在實際評價中只有根據不同的基坑施工工況、不同的周邊環境條件,應不同用戶的需求,選擇不同的分析指標,才能滿足復雜工況條件下地質環境評價的要求,取得較好的應用效果。
BP神經網絡算法求講解
(1)BP算法的學習過程中有兩個過程是什么?(2)寫出BP神經網絡的數學模型,并以20
bp(backpropagation)網絡是1986年由rumelhart和mccelland為首的科學家小組提出,是一種按誤差逆傳播算法訓練的多層前饋網絡,是目前應用最廣泛的神經網絡模型之一。
bp網絡能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和最小。
bp神經網絡模型拓撲結構包括輸入層(input)、隱層(hidelayer)和輸出層(outputlayer)。人工神經網絡就是模擬人思維的第二種方式。
這是一個非線性動力學系統,其特色在于信息的分布式存儲和并行協同處理。雖然單個神經元的結構極其簡單,功能有限,但大量神經元構成的網絡系統所能實現的行為卻是極其豐富多彩的。
人工神經網絡首先要以一定的學習準則進行學習,然后才能工作。現以人工神經網絡對手寫“a”、“b”兩個字母的識別為例進行說明,規定當“a”輸入網絡時,應該輸出“1”,而當輸入為“b”時,輸出為“0”。
所以網絡學習的準則應該是:如果網絡作出錯誤的的判決,則通過網絡的學習,應使得網絡減少下次犯同樣錯誤的可能性。
首先,給網絡的各連接權值賦予(0,1)區間內的隨機值,將“a”所對應的圖象模式輸入給網絡,網絡將輸入模式加權求和、與門限比較、再進行非線性運算,得到網絡的輸出。
在此情況下,網絡輸出為“1”和“0”的概率各為50%,也就是說是完全隨機的。這時如果輸出為“1”(結果正確),則使連接權值增大,以便使網絡再次遇到“a”模式輸入時,仍然能作出正確的判斷。
如果輸出為“0”(即結果錯誤),則把網絡連接權值朝著減小綜合輸入加權值的方向調整,其目的在于使網絡下次再遇到“a”模式輸入時,減小犯同樣錯誤的可能性。
如此操作調整,當給網絡輪番輸入若干個手寫字母“a”、“b”后,經過網絡按以上學習方法進行若干次學習后,網絡判斷的正確率將大大提高。
這說明網絡對這兩個模式的學習已經獲得了成功,它已將這兩個模式分布地記憶在網絡的各個連接權值上。當網絡再次遇到其中任何一個模式時,能夠作出迅速、準確的判斷和識別。
一般說來,網絡中所含的神經元個數越多,則它能記憶、識別的模式也就越多。如圖所示拓撲結構的單隱層前饋網絡,一般稱為三層前饋網或三層感知器,即:輸入層、中間層(也稱隱層)和輸出層。
它的特點是:各層神經元僅與相鄰層神經元之間相互全連接,同層內神經元之間無連接,各層神經元之間無反饋連接,構成具有層次結構的前饋型神經網絡系統。
單計算層前饋神經網絡只能求解線性可分問題,能夠求解非線性問題的網絡必須是具有隱層的多層神經網絡。神經網絡的研究內容相當廣泛,反映了多學科交叉技術領域的特點。
主要的研究工作集中在以下幾個方面:(1)生物原型研究。從生理學、心理學、解剖學、腦科學、病理學等生物科學方面研究神經細胞、神經網絡、神經系統的生物原型結構及其功能機理。(2)建立理論模型。
根據生物原型的研究,建立神經元、神經網絡的理論模型。其中包括概念模型、知識模型、物理化學模型、數學模型等。(3)網絡模型與算法研究。
在理論模型研究的基礎上構作具體的神經網絡模型,以實現計算機模擬或準備制作硬件,包括網絡學習算法的研究。這方面的工作也稱為技術模型研究。(4)人工神經網絡應用系統。
在網絡模型與算法研究的基礎上,利用人工神經網絡組成實際的應用系統,例如,完成某種信號處理或模式識別的功能、構作專家系統、制成機器人等等。
縱觀當代新興科學技術的發展歷史,人類在征服宇宙空間、基本粒子,生命起源等科學技術領域的進程中歷經了崎嶇不平的道路。我們也會看到,探索人腦功能和神經網絡的研究將伴隨著重重困難的克服而日新月異。
神經網絡可以用作分類、聚類、預測等。神經網絡需要有一定量的歷史數據,通過歷史數據的訓練,網絡可以學習到數據中隱含的知識。
在你的問題中,首先要找到某些問題的一些特征,以及對應的評價數據,用這些數據來訓練神經網絡。雖然bp網絡得到了廣泛的應用,但自身也存在一些缺陷和不足,主要包括以下幾個方面的問題。
首先,由于學習速率是固定的,因此網絡的收斂速度慢,需要較長的訓練時間。
對于一些復雜問題,bp算法需要的訓練時間可能非常長,這主要是由于學習速率太小造成的,可采用變化的學習速率或自適應的學習速率加以改進。
其次,bp算法可以使權值收斂到某個值,但并不保證其為誤差平面的全局最小值,這是因為采用梯度下降法可能產生一個局部最小值。對于這個問題,可以采用附加動量法來解決。
再次,網絡隱含層的層數和單元數的選擇尚無理論上的指導,一般是根據經驗或者通過反復實驗確定。因此,網絡往往存在很大的冗余性,在一定程度上也增加了網絡學習的負擔。最后,網絡的學習和記憶具有不穩定性。
也就是說,如果增加了學習樣本,訓練好的網絡就需要從頭開始訓練,對于以前的權值和閾值是沒有記憶的。但是可以將預測、分類或聚類做的比較好的權值保存。
BP神經網絡動量因子不理解
BP神經網絡在批處理訓練時會陷入局部最小,也就是說誤差能基本不變化其返回的信號對權值調整很小但是總誤差能又大于訓練結果設定的總誤差能條件。
這個時候加入一個動量因子有助于其反饋的誤差信號使神經元的權值重新振蕩起來。可以參看一些專門介紹神經網絡的書籍。
?
總結
以上是生活随笔為你收集整理的bp神经网络权值调整公式,bp神经网络算法推导的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity 斜坡滑落
- 下一篇: python生成统计图_用python