基本bp神經網路演算法包括:
- 訊號的前向傳播
- 誤差的反向傳播
也即計算實際輸出時按照輸入到輸出的方向進行,權值閾值調整則相反。
bp是一種多層前饋神經網路,由輸入層、隱含層和輸出層組成。層與層之間有兩種訊號在流動:一種是從輸入流向輸出的工作訊號,是輸入和權值的函式;另一種是輸入流向輸出的訊號,即誤差。
==隱含層==第
i 個節點的輸入和輸出分別為:
輸入:ne
ti=∑
j=1m
ωijx
j+θi
輸出:oi
=ϕ(n
eti)
=ϕ(∑j=1
mωij
xj+θ
i) m
——輸入層節點個數 ωi
j——隱含層第
i 個節點到第
j個節點之間的權值θi
表示隱含層第
i 個節點的閾值
ϕ表示隱含層的激勵函式
==輸出層==第k個節點的輸入和輸出分別為:
輸入:ne
tk=∑
i=1q
ωkiy
i+ak
=∑i=1qω
kiϕ(
neti
)+ak
輸出:ok
=ψ(n
etk)
由輸出層開始逐層計算各層神經元的輸出誤差,根據==梯度下降法==調節各層的權值和閾值
每乙個樣本
p 的二次型誤差準則函式ep
: ep=
12∑k
=1l(
tk−o
k)2
系統對p
個訓練樣本的總誤差準則函式為: ep
=12∑
p=1p
∑k=1
l(tk
−ok)
根據梯度下降法依次修正輸出層權值的修正量δω
ki、輸出層閾值的修正量δa
k 、隱含層權值的修正量δω
ij、隱含層閾值的修正量δθ
i 。 δω
ki=−
η∂e∂
ωki
δak=
−η∂e
∂ak
δωij
=−η∂
e∂ωi
j δθ
i=−η
∂e∂θ
i 以上幾個公式有專門公式推導。
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 隱含層輸入...
BP神經網路
神經網路 nn多層前向神經網路 輸入層 特徵向量值 神經元數量由特徵值確定,特徵值有多少就有多少 隱藏層 可以有很多層 層數和每層神經元數量不定 輸出層 標記分類 神經元數量由目標集確定 每個神經元存的數字由上乙個神經元傳的值,自己的值和偏置值決定 權重 w 偏置 b 除了輸入層,每一層神經元都有偏...