神經網路BP演算法推導

2022-08-13 03:48:17 字數 1745 閱讀 9983

\[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] + \frac \sum_^ \sum_^ \sum_^} \left( \theta_^ \right)^2

\]假設有乙個三層的神經網路

引數含義:

向前傳播演算法過程:(其中\(g\)為sigmoid啟用函式。)

引數含義:

先來從後往前計算每層的「誤差「。注意到這裡的誤差用雙引號括起來,因為並不是真正的誤差。

然後來計算每層引數矩陣的梯度,用\(\delta^\)表示。

當\(\lambda=0\)時,即不考慮正則化處理

則利用反向傳播演算法計算所有的偏導數(不考慮正則化)

推導:\[j\left(\theta \right)=-y \log h(x)-(1-y)\log (1-h(x))

\]然後我們來求解代價函式對引數的梯度:\(\frac} j\left(\theta \right)\),\(\frac} j\left(\theta \right)\)

根據鏈式求導法則,可以計算得到:

\[\frac} j\left(\theta \right)=\frac}·\frac}}·\frac }}

\]

- 其中,$\frac}=\frac=-\frac yh+(1-y)\frac1=\frac$

- $\frac}}=\frac }=a^·\left(1-a^\right)=h·(1-h)$

- $\frac } }=a^$

- 所以可得:

\[\frac} j\left(\theta \right)=(h-y)·a^=\delta^·a^

\]\[\frac} j\left(\theta \right)=\frac}·\frac}}·\frac }}·\frac}}·\frac }}

\]

- 其中,由上可知,$\frac}·\frac}}=h-y=\delta^$

- $\frac }}=\theta^$

- $\frac}}=g^\prime\left(z^\right)$

- $\frac }}=a^$

- 所以可得:

\[\frac} j\left(\theta \right)=\delta^ \theta^ g^\prime\left(z^\right) a^=\delta^·a^

\]當\(\lambda \neq 0\)時,即考慮正則化處理:

\[\frac^} j\left(\theta \right) = d_^= \frac1m \delta_^ \quad for \quad j=0

\]\[\frac^} j\left(\theta \right) = d_^= \frac1m \delta_^+\frac \theta_^ \quad for \quad j \geq 1

\]bp(反向傳播)神經網路

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演算法簡單推導

這幾天圍繞 a neural probability language model 看了一些周邊資料,如神經網路 梯度下降演算法,然後順便又延伸溫習了一下線性代數 概率論以及求導。總的來說,學到不少知識。下面是一些筆記概要。一 神經網路 神經網路我之前聽過無數次,但是沒有正兒八經研究過。形象一點來說...