100天搞定機器學習|day38 反向傳播算法推導

往期回顧算法

image

100天搞定機器學習|(Day1-36)網絡

image

100天搞定機器學習|Day37無公式理解反向傳播算法之精髓機器學習

上集咱們學習了反向傳播算法的原理,今天咱們深刻講解其中的微積分理論,展現在機器學習中,怎麼理解鏈式法則。函數

image

咱們從一個最簡單的網絡講起,每層只有一個神經元,圖上這個網絡就是由三個權重和三個偏置決定的,咱們的目標是理解代價函數對這些變量有多敏感。這樣咱們就知道怎麼調整這些變量,才能使代價函數降低的最快。學習

image.gif

咱們先來關注最後兩個神經元,咱們給最後一個神經元一個上標L,表示它處在第L層。給定一個訓練樣本,咱們把這個最終層激活值要接近的目標叫作y,y的值爲0/1。那麼這個簡易網絡對於單個訓練樣本的代價就等於(a(L)−y)2。對於這個樣本,咱們把這個代價值標記爲C0。image3d

以前講過,最終層的激活值公式:imagecdn

換個標記方法:imageblog

整個流程就是這樣的:get

image

固然了,a(L−1)還能夠再向上推一層,不過這不重要。it

image

這些東西都是數字,咱們能夠想象,每一個數字都對應數軸上的一個位置。咱們第一個目標是來理解代價函數對權重image

的微小變化有多敏感。換句話說,求C0對image

的導數。image 的微小變化致使image 產生變化,而後致使image ,最終影響到cost。image

咱們把式子拆開,首先求image 的變化量比image 的變化量,即image 關於image 的導數;同力考慮image 變化量比image 的變化量,以及最終的c的變化量比上直接改動image 產生的變化量。image

這就是鏈式法則image

開始分別求導image

image

這只是包含一個訓練樣本的代價對image 的導數,總的代價函數是全部訓練樣本代價的總平均,它對image 的導數就要求出這個表達式對每個訓練樣本的平均,image

這只是梯度向量的一個份量,梯度由代價函數對每個權重和偏置求導數構成。image

固然了,對偏置求導數也是一樣的步驟。只要把image 替換成imageimage

一樣的,這裏也有反向傳播的思想image

到此,咱們能夠方向應用鏈式法則,來計算代價函數對以前的權重和偏置的敏感程度image

到這裏,咱們能夠看每層不止一個神經元的狀況了,其實並不複雜太多,只是多寫一些下標罷了。image

這些方程式和以前每層只有一個神經元的時候本質上同樣的

image

代價函數也相似image

不一樣的是代價函數對(L-1)層激活值的導數由於此時,激活值能夠經過不一樣的途徑影響cost function,image

只要計算出倒數第二層代價函數對激活值的敏感度,接下來重複上述過程就好了。至此,反向傳播介紹完畢。image

相關文章
相關標籤/搜索