bp神經網路是一種多層前饋神經網路,該網路的主要特點是訊號的向前傳遞,誤差反向傳播。在前向傳遞中,輸入訊號從輸入層經隱含層逐層處理,直至輸出層。每一層的神經網路狀態只影響下一層的神經元的狀態。如果輸出層得不到想要的輸出,則轉入反向傳播,根據**誤差調整網路的權值和閥值,從而使bp神經網路**輸出不斷的逼近期望輸出。bp神經網路的拓撲結構如圖: !
圖中,x1,
x2...
是bp神經網路的輸入值,y1
,y2...
是bp神經網路的**值,ωi
j,ωj
k 是神經網路的權值。從圖中可以看出,bp神經網路可以看作乙個非線性函式,網路輸入值和**值分別是該函式的自變數和因變數。當輸入節點數為n
,輸出接點為m
時,bp神經網路就表達了從n
個自變數到m
個自變數的函式對映關係。
bp神經網路**首先要訓練網路,通過訓練使網路具有聯想記憶和**能力。bp神經網路的訓練過程包括如下的步驟:
網路初始化。根據系統輸入輸出序列(x
,y) 確定網路輸入層節點數
n ,隱含層節點數
l,輸出層節點數
m ,初始化輸入層,隱含層和輸出層神經元之間的連線權值ωi
j,ωj
k ,初始化隱含層閾值a,輸出層閾值b,給定學習速率和神經元激勵函式。
隱含層輸出計算。根據輸入向量
x ,輸入層和隱含層間的連線權值ωi
j以及隱含層閾值a,計算隱含層輸出
h 。hj
=f(∑
i=1n
ωijx
i−aj
)j=1
,2,.
..l式中,
l 為隱含層節點數;
f為隱含層激勵函式,該函式有多種表達形式,比如:f(
x)=1
1+e−
x
輸出層輸出計算。根據隱含層輸出
h ,連線權值ωj
k和閾值
b ,計算bp神經網路**輸出o。
ok=∑
j=1l
hjωi
j−bk
k=1,
2,..
.,m
誤差計算。根據網路**輸出
o 和期望輸出
y,計算網路**樹杈e。ek
=yk−
okk=
1,2,
...,
m
權值更新。根據網路**誤差
e 更新網路連線權值wi
j,wj
k 。wi
j=wi
j+ηh
j(1−
hj)x
(i)∑
k=1m
ωjke
ki=1
,2,.
..,n
;j=1
,2,.
..,l
; ωj
k=ωj
k+ηh
jekj
=1,2
,...
,l;k
=1,2
,...
,m; 式中η
為學習速率。
閾值更新。根據網路**誤差
e 更新網路節點的閾值a,
b。aj
=aj+
ηhj(
1−hj
)∑k=
1mωj
kekj
=1,2
,...
,lbk
=bk+
ekk=
1,2,
...m
迭代。判斷演算法迭代是否結束,若沒有結束,返回步驟2.
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神經網路
bp是back propagation bp神經網路主要的演算法在於誤差反向傳播error backpropagation 有三層 輸入層 input 隱含層 hidden 輸出層 output 輸入層 n個神經元 隱含層 p個神經元 輸出層 q個神經元 輸入向量 x x1,x2,x n 隱含層輸入...