目錄正向計算
反向傳播
\[設損失函式為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) = 1/(1+\exp(-x))\\
有f'(x) = \exp(-x)/(1+\exp(-x))^2=f(x)*(1-f(x))
\]節點 \(i\)的輸入為\(net_i\),輸出為\(o_i\)
\(v_,w_是節點i到節點j,節點j到節點k的權值\)
誤差為\(e\),是個多元函式
輸入層不使用啟用函式,\(o_i = x_i\)
隱含層輸入為 \(net_j = \sigma_^ v_*o_i\)
輸出為 \(o_j = f(net_j)\)
輸入為\(net_k = \sigma_^w_*o_j\)
輸出為 \(o_k = f(net_k)\)
\(e=\frac\sigma_^(d_k-o_k)^2, d_k為期望輸出\)
使用梯度下降法調整節點間連線的權值,使得e獲得極小值
\[把e視為是關於\vec, \vec的函式\\
由前置知識得,\delta} = -\eta\frac }=-\eta\frac\cdot \frac}\\
即 \delta} = \eta(-\frac}})o_j\\
設\delta_k = -\frac}} = -\frac}} \cdot \frac\\
即 \delta_k = (d_k-o_k)f'(net_k), \delta} = \eta\delta_ko_j
\]\[同理\delta} = -\eta\frac }=\eta(-\frac) \frac}\\
即 \delta} = \eta(-\frac}})o_i\\
設\delta_j = -\frac}} = -\frac}} \cdot \frac=-\fracf'(net_j)\\
-\frac = -\sigma_^\frac\frac=\sigma_^\delta_kw_\\
所以\delta v_ = \eta o_if'(net_j)\sigma_^\delta_kw_
\]假設經過正向計算得到\(o_i, o_j,o_k\),且已知\(v_,w_,d_k\)
計算\(f'(net_k), f'(net_j)\),對於我選用的啟用函式來說,
\[f'(net_k)=o_k(1-o_k)\\
f'(net_j)=o_j(1-o_j)
\]有可能選擇其他啟用函式,所以把此步驟單獨分開
計算\(\delta_k=(d_k-o_k)f'(net_k)\)
計算\(\delta w_=\eta\delta_ko_j\)
計算\(\delta v_=\eta o_i f'(net_j)\sigma_^\delta_k w_\)
\(v_+=\delta v_, w_ += \delta w_\)
BP神經網路演算法推導
1 前饋神經網路 反饋神經網路 bp網路等,他們之間的關係 前饋型神經網路 取連續或離散變數,一般不考慮輸出與輸入在時間上的滯後效應,只表達輸出與輸入的對映關係 在此種神經網路中,各神經元從輸入層開始,接收前一級輸入,並輸入到下一級,直至輸出層。整個網路中無反饋,可用乙個有向無環圖表示。常見的前饋神...
神經網路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...
神經網路BP演算法簡單推導
這幾天圍繞 a neural probability language model 看了一些周邊資料,如神經網路 梯度下降演算法,然後順便又延伸溫習了一下線性代數 概率論以及求導。總的來說,學到不少知識。下面是一些筆記概要。一 神經網路 神經網路我之前聽過無數次,但是沒有正兒八經研究過。形象一點來說...