1. 程式人生 > >誤差反向傳播(BP)演算法

誤差反向傳播(BP)演算法

反向傳播(back-propagation,BP)

BP演算法就是通過迭代優化網路的權值使得輸出與輸入之間的實際對映關係與所期望的對映關係一致,採用梯度下降演算法通過調整各層權值求目標函式最小化。

由於採用Sigmoid函式作為神經元傳遞函式,不管網路結構多麼複雜,總可以通過計算梯度來考察各個引數。這就是多層感知器反向傳播演算法的基本思想。

這是應用反向傳播演算法的網路結構,首先我們以這個3層神經元的網路為例子進行反向傳播演算法的公式推導。

為了便於描述給出下列記號:

根據以上的網路結構和標記,我們可以寫出損失函式,這裡使用的是平方損失:

我們的目標是損失函式最小化,通過一步步調整權重,使得經過每一個樣本的調整之後,損失函式越來越小,則可以保證預測值逐步靠近真實值。

需要調整的損失函式的引數是w,完整公式表示是:

使用泰勒展開式將公式展開,注意因為這裡不只一個引數,所以使用的是多元函式的泰勒展開式。展開到了一階導數:

如果我們想要損失函式每次訓練之後減小,只需要以下的式子為負值便好。

為了滿足這個條件,只要令:

即可保證等式右端J的值小於上一次。