在19世紀,人們發現了人腦神經細胞傳導興奮的規律,計算機科學家們由此受到啟發,提出來人工神經網路,希望用這個模型來模擬人腦。
神經元細胞有幾個重要組成:軸突,樹突,細胞體。軸突能將神經元的興奮傳遞給其連線的神經元,而樹突能夠接收其他神經元傳遞過來的興奮。神經元細胞根據接收到的興奮決定是否將興奮傳遞給下乙個神經元細胞。
將神經元細胞抽象為數學模型,輸入為(x
1,x2
,…,x
n), 每個輸入都對應乙個權重(w
1,w2
,…,w
n),θ為神經元的偏置,決定是否輸出訊號。f(z)為啟用函式,將實數範圍壓縮到0至1。y為神經元的輸出。
可以假設x0
=1,w
0=−θ
。上式可以改寫為y=
f(wt
x)目前提出的神經網路模型很多,但最常用的還是前饋神經網路。
下面先定義描述神經網路的引數:
1. w
l 第l層到第l+1層之間的權重矩陣,矩陣的維數為nl
+1×n
l 2. a
l 第l層的神經元的輸出向量
3. z
l 第l層神經元輸入的加權和向量
4. x
神經網路的輸入向量
5.
y神經網路的輸出向量
6. l
神經網路的層數
7. nl
第l層神經元的數量
8. g(z
) 神經元的啟用函式
根據定義我們可以得到 zl
=wta
l al
+1=g
(zl)
增加偏置 al
+10=
1
其中 a1=
x,y=
al根據上式不斷迭代 計算出 即可得到神經網路的最終輸出結果。
神經網路的損失函式為 j=
12∑i
=1nl
(ali
−yi)
2(3)
學習神經網路就是要學習權重矩陣。可以根據梯度下降的優化方法求出權重矩陣的最優值。 wl
=wl−
λ∂j∂
wl(4)
有因為zl+
1i=w
li∗⋅
al,所以 ∂j
∂wli
j=∂j
∂zl+
1i∂z
l+1i
∂wli
j(5) 令
δl+1
i=∂j
∂zl+
1i,且∂z
l+1i
∂wli
j=al
j ,即可得: ∂j
∂wli
j=δl
+1i×
alj(6)
對於δl
i=∂j
∂zli
有兩種情況
1. 當l=l,即為最後一層時 δl
i=∂1
2∑nl
+li=
1(al
i−yi
)2∂z
li=(
ali−
yi)g
′(zl
i)(7)
2. 當l為任意一層時 δl
i=∂j
∂zli
=∂j∂
zl+1
⋅∂zl
+1∂z
li=∑
j=1n
l+1∂
j∂zl
+1j∂
zl+1
j∂zl
i=∑j
=1nl
+1δl
+1j∂
zl+1
j∂zl
i=∑j
=1nl
+1δl
+1jw
ljig
′(zl
i)=(
wl)t
i∗⋅δ
l+1g
′(zl
i)(8)
將(6)(7)(8)寫成向量形式,最終得到bp神經網路的理**式 ∂j
∂wl=
δl+1
⋅(al
)t(9) δl
=(al
−y).
∗g′(
zl)(10) δ
l=(w
l)t⋅
δl+1
.∗g′
(zl)
(11)
BP神經網路演算法推導
1 前饋神經網路 反饋神經網路 bp網路等,他們之間的關係 前饋型神經網路 取連續或離散變數,一般不考慮輸出與輸入在時間上的滯後效應,只表達輸出與輸入的對映關係 在此種神經網路中,各神經元從輸入層開始,接收前一級輸入,並輸入到下一級,直至輸出層。整個網路中無反饋,可用乙個有向無環圖表示。常見的前饋神...
BP神經網路演算法推導
目錄正向計算 反向傳播 設損失函式為f vec 則f vec delta f vec nabla cdot delta 其中 nabla 是 f vec 的梯度 所以當 delta eta nabla f vec eta 0 時,下降速率最快 即 delta eta frac 設當前啟用函式為f x...
神經網路BP演算法推導
j theta frac1m sum m sum k left y k log left h theta left x right right k left 1 y k right log left 1 left h theta left x right right k right right fr...