機器學習筆記:反向傳播BP算法的理解

背景

back-propagation(反向傳播)算法是神經網絡算法中優化參數的一種經常使用的算法,它創建在Gradient Descent算法的基礎上。算法

對一個神經網絡算法:
clipboard.png網絡

咱們定義L表明神經網絡算法的層數,clipboard.png表明第j層第i個節點的激勵,clipboard.png表明將函數從第j層映射到第j+1層的參數矩陣,定義clipboard.png,使其知足clipboard.png機器學習

在Andrew Ng的機器學習視頻中,使用Gradient Descent優化參數通常步驟是:函數

  1. 求出cost function。
    clipboard.png
  2. 求出每一個節點的誤差。
    clipboard.png
  3. 求出每一個節點的全部樣本的帶權值的誤差之和。
    clipboard.png
  4. 求出cost function的偏導數
    clipboard.png

最後根據clipboard.png,按照梯度降低算法求解參數。學習

推導

看到這裏,咱們也許會對二、3步產生疑問,二、3步時如何產生的?下面咱們就來推導反向傳播算法:
首先忽略正則部分clipboard.png,這部分對反向傳播算法沒有影響。爲了看起來簡潔明瞭,咱們假設訓練集只有一個樣本,將cost function重寫爲:clipboard.png優化

當l=L-1時,運用鏈式法則,求cost function的偏導數:spa

clipboard.png

clipboard.png,不難發現
clipboard.png3d

令l=L-2,求cost function的偏導數:視頻

clipboard.png

clipboard.png,有
clipboard.pngblog

這裏有個須要注意的地方:使用鏈式法則求J(theta)對clipboard.png
求偏導的時候,不要忘記求和符號,由於輸出層的每個節點都是clipboard.png的函數。

按照上面的步驟依次類推下去,咱們發現後面的每個偏導數,均可以寫成

clipboard.png

綜上所述,咱們即可得知上面的四個步驟是如何得來的。

相關文章
相關標籤/搜索