BP神經網路概述

2021-07-25 03:06:44 字數 1981 閱讀 2027

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 隱含層輸入...