BP神經網路

2021-08-01 00:03:57 字數 2904 閱讀 1548

bp是back propagation

bp神經網路主要的演算法在於誤差反向傳播error backpropagation

有三層:輸入層(input)、隱含層(hidden)、輸出層(output)

輸入層:n個神經元

隱含層:p個神經元

輸出層:q個神經元

輸入向量:x=

(x1,

x2,.

..,x

n)隱含層輸入向量:hi

=(hi

1,hi

2,..

.,hi

p)隱含層輸出向量:ho

=(ho

1,ho

2,..

.,ho

p)輸出層輸入向量:yi

=(yi

1,yi

2,..

.,yi

q)輸出層輸出向量:yo

=(yo

1,yo

2,..

.,yo

q)期望輸出向量:do

=(d1

,d2,

...,

dq)

輸入層與隱含層的連線權值:wi

h 隱含層到輸出層的連線權值:wh

o 隱含層閾值:bh

輸出層閾值:bo

樣本資料個數:k=

1,2,

...,

m 啟用函式:f(

.)誤差函式:e=

12∑o

=1q(

do(k

)−yo

o(k)

)2

網路初始化

給各個權值賦予隨機初值在(-1, -1)

設定誤差函式e,給定計算精度值ε

給定計算學習次數m

隨機選取第k個樣本及對應期望輸出x(

k)=(

x1(k

),x2

(k),

...,

xn(k

))

do(k

)=(d

1(k)

,d2(

k),.

..,d

q(k)

) 計算各個神經元的輸入和輸出hi

h(k)

=∑i=

1nwi

hxi(

k)−b

hh=1

,2,.

..,p

hoh(k)

=f(h

ih(k

))h=

1,2,

...,

p y

io(k

)=∑h

=1pw

hoho

h(k)

−boo

=1,2

,...

,q

yoo(

k)=f

(yio

(k))

o=1,

2,..

.,q

求誤差對wh

o 偏導

用到鏈導法則∂e

∂who

=∂e∂

yio∂

yio∂

who

把這個式子分成兩部分來求:∂e

∂yio

=∂(1

2∑o=

1q(d

o(k)

−yoo

(k))

2)∂y

io=−

(do(

k)−y

oo(k

))yo

′o(k

)=−(

do(k

)−yo

o(k)

)f′(

yio(

k))=

−δo(

k)

∂yio

∂who

=hoh

(k) 這個等式很明顯

求誤差對wi

h 偏導 ∂

e∂wi

h=∂e

∂hih

(k)∂

hih(

k)∂w

ih

這個也分兩部分來求,後一部分是:∂h

ih(k

)∂wi

h=xi

(k)

∂e∂hih(

k)=−

(∑o=

1qδo

(k)w

ho)f

′(hi

h(k)

)=δh

(k)

如何理解上式:

主要思想就是鏈導

誤差對隱含層輸入的偏導 = 誤差對輸出層輸入的偏導

× 輸出層輸入對隱含層輸出的偏導

× 隱含層輸出對隱含層輸入的偏導

其中:

誤差對輸出層輸入的偏導就是δo

(k)

輸出層輸入對隱含層輸出的偏導就是wh

o 隱含層輸出對隱含層輸入的偏導就是f′

(hih

(k))

所以就有了上式

更新權值δw

ho(k

)=−μ

∂e∂w

ho=μ

δo(k

)hoh

(k)

wn+1

ho=w

nho+

δwho

(k)

δwih(k)

=−μ∂

e∂wi

h=δh

(k)x

i(k)

wn+1ih=

wnih

+δwi

h(k)

BP神經網路

基本bp神經網路演算法包括 訊號的前向傳播 誤差的反向傳播 也即計算實際輸出時按照輸入到輸出的方向進行,權值閾值調整則相反。bp是一種多層前饋神經網路,由輸入層 隱含層和輸出層組成。層與層之間有兩種訊號在流動 一種是從輸入流向輸出的工作訊號,是輸入和權值的函式 另一種是輸入流向輸出的訊號,即誤差。隱...

BP神經網路

x 為輸入向量,y為隱藏層的神經元,z 為輸出層,d為目標真實值,本文預設 z 不經過sigmod處理。x y的權重為 w,y z的權重為 v yj ix iwij 1 oyi f y j 2 其中激勵函式f x 1 1 e x f x f x 1 f x 3 z k j f yj vjk 此時系統...

BP神經網路

神經網路 nn多層前向神經網路 輸入層 特徵向量值 神經元數量由特徵值確定,特徵值有多少就有多少 隱藏層 可以有很多層 層數和每層神經元數量不定 輸出層 標記分類 神經元數量由目標集確定 每個神經元存的數字由上乙個神經元傳的值,自己的值和偏置值決定 權重 w 偏置 b 除了輸入層,每一層神經元都有偏...