反向傳播演算法的理解(Nielsen版)
阿新 • • 發佈:2019-01-22
在學習standford大學機器學習在coursera上的公開課中,對於其中講授的神經網路的反向傳播演算法不是很清楚,經過網上查詢資料,覺得Michael Nielsen的「Neural Networks and Deep Learning」中的解釋特別清楚,於是這份材料為主經過學習,現在說一下我的理解。
記憶BP演算法的竅門
我總結記住反向傳播演算法的關鍵要素可以用三個數字來代表:214
- 兩個假設
- 一箇中間變數
- 四個公式
代價函式
在闡述反向傳播演算法之前,我們還是先明確代價函式的定義,我們定義代價函式的形式如下:
其中n是樣本的總數,L是神經網路的總層數,
兩個假設
總體的代價函式可以寫成全部單個樣本的代價總和的平均值。
也就是C=1n∑xCx ,其中Cx=12||y−aL||2 代價函式可以認為是神經網路輸出的函式。
比如對於單獨的一個樣本來說,代價函式可以寫成C=12||y−aL||=12∑j(yj−aLj)2
一箇中間變數
我們定義神經網路中第
其中
憑什麼這麼定義?憑什麼這麼定義?憑什麼這麼定義?(重要的事情說三遍)
我認為理解這點是整個演算法的核心,演算法的全部內容都是基於這個假設展開的,如果這點不成立後面推匯出花也沒用!不幸的是,網上大多數文章都在這個問題都是一筆帶過,在Nielsen的書裡有對這點進行描述,我結合他的闡述以及我的理解表達一下我對這個假設的看法::如果我們在第