BP神經網路

2021-09-22 12:27:42 字數 1547 閱讀 3747

最近幾年來,神經網路演算法大熱。bp神經網路作為神經網路中入門級別的演算法,是很有必要了解的。

bp神經網路的作者大概是在生物神經元中得到了啟發,通過演算法模擬了神經元學習的過程以及連線方式,下面開始介紹bp神經網路。

神經元

神經元在結構是模擬了生物神經元的結構,我們知道的是生物神經元由樹圖輸入資訊,經過神經元的處理之後,由軸突輸出資訊,而神經網路演算法中的神經元也是如此,不過名稱要簡化一下,輸入就叫輸入,輸出就叫輸出,而中間的資訊處理叫做啟用函式。下圖是神經元結構圖。

在上圖**了輸入、輸出和啟用函式以外,還出現了w1、w2等引數,這些引數被稱為權重。而訓練神經網路的過程也就是更新權重的過程。

那麼權重是怎麼工作的呢?

現在假設我們有乙個分類任務,有著兩個屬性x1和x2,下面將資料繪製在二維座標系中,很明顯要對這些資料進行分類,其實就是繪製出一條決策邊界,將資料劃分為兩類即可。當你想要**新資料的類別時,只需要將資料輸入,根據資料在決策邊界的哪一側來判斷類別即可。由下面的影象同時結合數學知識我們可以明白權重決定了決策邊界的斜率。所以說當訓練出合適的權值後,分類的準確率也就提高了。

那麼決策邊界怎麼繪製呢?

假設分類的類別為r和p,r = x1w1 + x2w2,p = x1w3+x2w4(如下圖是神經網路連線方式)。當r>p時分類為r,反之則為p

而決策邊界就是指r==p的線,同時我們需要新增乙個偏移量讓決策邊界覆蓋的面更廣,這時r和p也就變成了r = x1w1 + x2w2 + b1,p = x1w3 + w2w4 + b2。如果資料過於複雜的話,則需要新增隱含層,讓決策邊界的範圍更廣。下圖是新增了隱含層的神經網路結構。

這種情況只適合資料是線性可分的情況,對於線性不可分的資料,啟用函式的作用就出來了。啟用函式可以完成線性到非線性的對映,如下圖所示,是加入了sigmod啟用函式的神經網路結構圖。

上面就是bp神經網路工作的原理,接下來就是最重要的一步了,如何更新權重。

在bp神經網路的訓練過程中分為兩個部分工作,前向傳播和反向傳播,整體的策略為通過梯度下降的方法降低誤差的值,讓誤差降到最低,訓練的流程圖如下圖所示。

更新權值的公式為:新的權值=原權值+學習速率×該節點的誤差×激勵函式的導函式的值(f(e)的倒數)×與該節點相連的輸入值

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