【正文】
反向?qū)W習(xí)過程 . 把 xim和期望輸出 oi進(jìn)行比較 ,如果兩者不等 ,則產(chǎn)生誤差信號(hào) e,接著則按權(quán)系數(shù)的修正公式反向傳播修改權(quán)系數(shù) . ? 上面公式中 ,求取本層 dik時(shí) ,要用到高一層的 dik+1. ? 可見 ,誤差函數(shù)的求取是從輸出層開始 ,到輸入層的反向傳播過程 .在這個(gè)過程中不斷進(jìn)行遞歸求誤差 . ? 通過多個(gè)樣本的反復(fù)訓(xùn)練 ,同時(shí)向誤差漸漸減小的方向?qū)?quán)系數(shù)進(jìn)行修正 ,以達(dá)最終消除誤差 . BP算法的數(shù)學(xué)表達(dá) 若 BP網(wǎng)絡(luò)的神經(jīng)元的非線性激發(fā)函數(shù)為 S函數(shù), 由于神經(jīng)元的輸出: 其中 i=x1w1i+x2w2i+… +xnwni n e ten etfo ???? 11)()1()()1(1)( 22 ooooeen e tfn e tn e t ????????? ??輸出函數(shù)分析 f ′() o 0 1 1 ( 0,) ( 0,0) o ?應(yīng)該將 的值盡量控制在收斂比較快的范圍內(nèi) ?可以用其它的函數(shù)作為激活函數(shù) , 只要該函數(shù)是處處可導(dǎo)的 BP算法的數(shù)學(xué)表達(dá) ? 由神經(jīng)元的激發(fā)函數(shù)為 S函數(shù) ,則上述權(quán)系數(shù)的學(xué)習(xí)公式為 BP算法的數(shù)學(xué)表達(dá) kkr , j r , jnk k k 1 kr , j r , j r ji1 w w ( s )w ( s 1 ) w ( s ) η d ( i) x ( i) 1 , . . . , 1km?? ?? ? ? ? ??其中 1m m m m1 i i i ik k 1 k k kr s s ,r r r1d ( i ) ( x o ) x ( 1 x )d ( i ) d ( i ) w x ( i ) [ 1 x ( i ) ] 1 , .. ., 2knskm???????? ? ??????? 從上面公式也可以知道 ,如果網(wǎng)絡(luò)的層數(shù)較多時(shí) ,所用的計(jì)算量就相當(dāng)可觀 ,故而收斂速度不快 . BP算法的執(zhí)行步驟 1. BP算法的執(zhí)行步驟 ? 在 BP算法應(yīng)用于前饋多層網(wǎng)絡(luò)時(shí) ,采用 S激發(fā)函數(shù)時(shí) ,可用下列步驟對(duì)網(wǎng)絡(luò)的權(quán)系數(shù) 進(jìn)行遞歸求取 ,其中 k=m1,…,2,1。 ? 若 k=m1,即所討論的 為輸出層與倒數(shù)第二層間的權(quán)重 ,則由上式 ,有 kjr,w? 若 k=m2,有 m1m1m 1 m 2nnm m 1 m 1 m 2i i 1,s s r ,jm 2i 1 s 1r ,jnnm m m 1 m 1 m 2i i 1 1,s s r ,ji 1 s 1nnnm m 1 m 1 m 2 m 2 m 21 1,s s s,q q r ,ji 1 s 1 q 1e( x o ) f w x ( i) ww( x o ) f ( u ( i) ) w x ( i) wd ( i) w f ( u ( i) ) w x ( i) w????????????? ? ?? ? ????? ? ? ??????? ??? ? ? ??????? ? ?????????? ? ?nm m 1 m 1 m 21 1,r r ji1nm 1 m 2rji1d ( i) w f ( u ( i) ) x ( i)d ( i) x ( i)?????????? BP算法的數(shù)學(xué)表達(dá) 其中 BP算法的數(shù)學(xué)表達(dá) m 1 m m 1 m 1r 1 1 , r rd ( i ) d ( i ) w f ( u ( i ) )? ??nk 1 krjki1r , je d ( i) x ( i) 3 , . . . , 2 , 1w km??? ? ? ?? ?其中 1k k 1 k kr s s , r r1d ( i) d ( i) w f ( u ( i) )kns? ???? ???????這里引入 drm(i)的意義如前。 ? 從第 k1層的第 j個(gè)神經(jīng)元到第 k層的第 i個(gè)神經(jīng)元的權(quán)系數(shù)為 wijk1 ? 各個(gè)神經(jīng)元的激發(fā)函數(shù)為 f(?), 則各個(gè)變量的關(guān)系可用下面有關(guān)數(shù)學(xué)式表示 : k1kkiink k 1 k 1i i, j jj1x f ( u )u w x????? ?其中 nk1為第 k1隱單元層的神經(jīng)元個(gè)數(shù) . BP算法的原理 ? BP算法分二步進(jìn)行 ,即 ? NN輸出計(jì)算的 正向傳播 和 ? NN學(xué)習(xí)過程的 反向傳播 . 這兩個(gè)過程的工作簡述如下 . A. 正向傳播 ? 輸入的樣本從輸入層經(jīng)過隱單元一層一層進(jìn)行處理 ,則傳向輸出層 ,即在所給定的輸入樣本下 ,計(jì)算 NN的輸出 . ? 在逐層處理的過程中 ,每一層神經(jīng)元的狀態(tài)只對(duì)下一層神經(jīng)元的狀態(tài)產(chǎn)生影響 . ? 在輸出層把現(xiàn)行輸出和期望輸出進(jìn)行比較 ,如果現(xiàn)行輸出不等于期望輸出 ,則進(jìn)入反向傳播過程 . BP算法的原理 B. 反向傳播 ? 把誤差信號(hào)按原來正向傳播的路徑反向傳回到每個(gè)神經(jīng)元 ,并對(duì)每個(gè)隱層的各神經(jīng)元的權(quán)系數(shù)進(jìn)行修改 ,以使誤差信號(hào)趨向最小 . Input Units Output Units U nits H idden A c tiv at ion F low s F or w ar d Err or P ro pa ga te s B ac k w ar ds BP算法的數(shù)學(xué)表達(dá) 1. BP算法的數(shù)學(xué)表達(dá) ? BP算法實(shí)質(zhì)是求取誤差函數(shù)的最小值問題 ,它采用非線性規(guī)劃中的最速下降法 ,按誤差函數(shù)的負(fù)梯度方向修改權(quán)系數(shù) . ? 為了說明 BP算法 ,首先定義誤差函數(shù) e