機器學習反向傳播演算法的數學推導
周志華的西瓜書機器學習被譽為是機器學習的入門寶典,但是這本書對於深度學習的知識介紹非常少,僅僅只是在第五章《神經網路》中對其進行簡單的概括。
這一章對於深度學習的介紹非常淺顯,沒有很深入的對其中的知識進行挖掘,也沒有很複雜的數學推導。
博主在這裡對反向傳播演算法進行數學推導,這裡我使用的方法和周老師有些不同,或許更方便一些。
一、反向傳播演算法概述
誤差反向傳播演算法又稱為BP演算法,是由Werbos等人在1974年提出來的,我們熟知的Hinton也對該演算法做出非常巨大的貢獻。這是一種在神經網路中最為有效的訓練演算法,直到現在還在深度學習中發揮著極其重要的作用。
它是利用輸出後的誤差來估計輸出層前一層的誤差,再用這個誤差估計更前一層的誤差,如此一層一層地反傳下去,從而獲得所有其它各層的誤差估計。這是一種屬於有監督學習的方式,可以對網路中的連線權重做動態調整。
反向傳播演算法和正向傳播演算法相對應,一起構成了神經網路的整個過程:
二、數學推導
在這裡,為方便對模型的理解和數學推導,我們沒有采用西瓜書中的模型表示方式,而是用下圖來對其進行簡化:
- 與輸入層相關的變數和引數:下標
- 與隱含層相關的變數和引數:下標
- 與輸出層相關的變數和引數:下標
- 激勵函式的輸入:
- 激勵函式的輸出:
- 節點誤差:
則輸入隱藏層和輸出層的量分別為:
隱含層和輸出層的的輸出分別是:
函式的誤差損失為:
BP演算法是基於梯度下降的策略,以目標的負梯度方向對引數進行調整,所以我們用鏈式法則求出誤差的梯度為:
由前文我們得到的關係有:
所以,綜上所得,我們有:
對於誤差,當我們給定學習率為時有:
將和帶入後有:
則得到上式之後,則我們根據進行引數更新。
至此,反向傳播演算法的推導過程全部完成,其他引數的更新與上文相同,這裡不再贅述,讀者感興趣可以用這種方法自己來完成。
相關文章
- 機器學習分享——反向傳播演算法推導機器學習反向傳播演算法
- 【機器學習】李宏毅——何為反向傳播機器學習反向傳播
- 卷積神經網路(CNN)反向傳播演算法公式詳細推導卷積神經網路CNN反向傳播演算法公式
- 反向傳播演算法的暴力理解反向傳播演算法
- 吳恩達機器學習筆記 —— 10 神經網路引數的反向傳播演算法吳恩達機器學習筆記神經網路反向傳播演算法
- 反向傳播演算法(BackPropagation)反向傳播演算法
- 《神經網路的梯度推導與程式碼驗證》之LSTM的前向傳播和反向梯度推導神經網路梯度
- 《神經網路的梯度推導與程式碼驗證》之CNN的前向傳播和反向梯度推導神經網路梯度CNN
- 詳解 BackPropagation 反向傳播演算法!反向傳播演算法
- 《神經網路的梯度推導與程式碼驗證》之FNN(DNN)的前向傳播和反向梯度推導神經網路梯度DNN
- 2.反向傳播反向傳播
- LSTM模型與前向反向傳播演算法模型反向傳播演算法
- 數學推導+Python實現機器學習演算法:線性迴歸Python機器學習演算法
- 深度學習二:概率和反向傳播的變種深度學習反向傳播
- 數學推導+純Python實現機器學習演算法:邏輯迴歸Python機器學習演算法邏輯迴歸
- 關於 RNN 迴圈神經網路的反向傳播求導RNN神經網路反向傳播求導
- 卷積神經網路(CNN)反向傳播演算法卷積神經網路CNN反向傳播演算法
- 深度神經網路(DNN)反向傳播演算法(BP)神經網路DNN反向傳播演算法
- 《神經網路和深度學習》系列文章十五:反向傳播演算法神經網路深度學習反向傳播演算法
- 【機器學習之數學】01 導數、偏導數、方向導數、梯度機器學習梯度
- 【Stanford CNN課程筆記】4. 反向傳播演算法CNN筆記反向傳播演算法
- 零基礎深度學習入門:由淺入深理解反向傳播演算法深度學習反向傳播演算法
- 《神經網路的梯度推導與程式碼驗證》之LSTM前向和反向傳播的程式碼驗證神經網路梯度反向傳播
- 《神經網路的梯度推導與程式碼驗證》之vanilla RNN前向和反向傳播的程式碼驗證神經網路梯度RNN反向傳播
- 【DL筆記4】神經網路詳解,正向傳播和反向傳播筆記神經網路反向傳播
- 《神經網路的梯度推導與程式碼驗證》之CNN前向和反向傳播過程的程式碼驗證神經網路梯度CNN反向傳播
- 迴圈神經網路(RNN)模型與前向反向傳播演算法神經網路RNN模型反向傳播演算法
- numpy實現神經網路-反向傳播神經網路反向傳播
- 你真的理解反向傳播嗎?面試必備反向傳播面試
- 深度學習與CV教程(4) | 神經網路與反向傳播深度學習神經網路反向傳播
- 機器學習——提升方法AdaBoost演算法,推導過程機器學習演算法
- 一個不錯的網站"數學傳播"網站
- 《神經網路的梯度推導與程式碼驗證》之FNN(DNN)前向和反向傳播過程的程式碼驗證神經網路梯度DNN反向傳播
- NLP教程(3) | 神經網路與反向傳播神經網路反向傳播
- NLP教程(3) - 神經網路與反向傳播神經網路反向傳播
- 用張量廣播機制實現神經網路反向傳播神經網路反向傳播
- 常見機器學習演算法背後的數學機器學習演算法
- 啟用函式、正向傳播、反向傳播及softmax分類器,一篇就夠了!函式反向傳播