1. 程式人生 > >100天搞定機器學習|day38 反向傳播演算法推導

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

往期回顧

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

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

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

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

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

之前講過,最終層的啟用值公式:

換個標記方法:

整個流程就是這樣的:

當然了,a(L−1)還可以再向上推一層,不過這不重要。

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

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

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

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

這就是鏈式法則

開始分別求導

這只是包含一個訓練樣本的代價對

的導數,
總的代價函式是所有訓練樣本代價的總平均,它對 的導數就要求出這個表示式對每一個訓練樣本的平均,

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

當然了,對偏置求導數也是同樣的步驟。只要把 替換成

同樣的,這裡也有反向傳播的思想

到此,我們可以方向應用鏈式法則,來計算代價函式對之前的權重和偏置的敏感程度

到這裡,我們可以看每層不止一個神經元的情況了,其實並不複雜太多,只是多寫一些下標罷了。

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

代價函式也類似

不同的是代價函式對(L-1)層啟用值的導數
因為此時,啟用值可以通過不同的途徑影響cost function,

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

相關推薦

100機器學習|day38 反向傳播演算法推導

往期回顧 100天搞定機器學習|(Day1-36) 100天搞定機器學習|Day37無公式理解反向傳播演算法之精髓 上集我們學習了反向傳播演算法的原理,今天我們深入講解其中的微積分理論,展示在機器學習中,怎麼理解鏈式法則。 我們從一個最簡單的網路講起,每層只有一個神經元,圖上這個網路就是由三個權重

100機器學習|day37 無公式理解反向傳播演算法之精髓

 100天搞定機器學習(Day1-34) 100天搞定機器學習|Day35 深度學習之神經網路的結構 100天搞定機器學習|Day36 深度學習之梯度下降演算法 本篇為100天搞定機器學習之第37天,亦為3Blue1Brown《深度學習之反向傳播演算法》學習筆記。 上集提到我們

100機器學習|Day3多元線性迴歸

前情回顧 第二天100天搞定機器學習|Day2簡單線性迴歸分析,我們學習了簡單線性迴歸分析,這個模型非常簡單,很容易理解。實現方

100機器學習|Day4-6 邏輯迴歸

邏輯迴歸avik-jain介紹的不是特別詳細,下面再嘮叨一遍這個演算法。 1.模型 在分類問題中,比如判斷郵件是否為垃圾郵件,判斷

100機器學習|Day15 樸素貝葉斯

Day15,開始學習樸素貝葉斯,先了解一下貝爺,以示敬意。 托馬斯·貝葉斯 (Thomas Bayes),英國神學家、數學家、數理統計學家和哲學家,1702年出生於英國倫敦,做過神甫;1742年成為英國皇家學會會員;1763年4月7日逝世。貝葉斯曾是對概率論與統計的早期發展有重大影響的兩位(貝葉斯和布萊斯·帕

100機器學習|Day17-18 神奇的邏輯迴歸

前情回顧 機器學習100天|Day1資料預處理 100天搞定機器學習|Day2簡單線性迴歸分析 100天搞定機器學習|Day3多元線性迴歸 100天搞定機器學習|Day4-6 邏輯迴歸 100天搞定機器學習|Day7 K-NN 100天搞定機器學習|Day8 邏輯迴歸的數學原理 100天搞定機器學習|Day9

100機器學習|Day23-25 決策樹及Python實現

演算法部分不再細講,之前發過很多: 【算法系列】決策樹 決策樹(Decision Tree)ID3演算法 決策樹(Decision Tree)C4.5演算法 決策樹(Decision Tree)CART演算法 ID3、C4.5、CART三種決策樹的區別 實驗: 匯入需要用到的python庫 import

100機器學習|Day 30-32 微積分的本質

3blue1brown系列課程,精美的動畫,配上生動的講解,非常適合幫助建立數學的形象思維,非常值得反覆觀看: http://www.3blue1brown.com/ 嗶哩嗶哩: https://space.bilibili.com/88461692 作者還把製作視訊的用到的程式碼放到了 github

100機器學習|Day33-34 隨機森林

前情回顧 機器學習100天|Day1資料預處理 100天搞定機器學習|Day2簡單線性迴歸分析 100天搞定機器學習|Day3多元線性迴歸 100天搞定機器學習|Day4-6 邏輯迴歸 100天搞定機器學習|Day7 K-NN 100天搞定機器學習|Day8 邏輯迴歸的數學原理 100天搞定機器學習|Day9

100機器學習|Day35 深度學習之神經網路的結構

100天搞定機器學習|Day1資料預處理 100天搞定機器學習|Day2簡單線性迴歸分析 100天搞定機器學習|Day3多元線性迴歸 100天搞定機器學習|Day4-6 邏輯迴歸 100天搞定機器學習|Day7 K-NN 100天搞定機器學習|Day8 邏輯迴歸的數學原理 100天搞定機器學習|Day9-12

100機器學習|Day36用有趣的方式解釋梯度下降演算法

本文為3Blue1Brown神經網路課程講解第二部分《Gradient descent, how neural networks learn 》的學習筆記,觀看地址:www.bilibili.com/video/av16144388前文我們已經搭建了一個包含兩個隱藏層的神經網路,我們需要這樣一種演算法:網路得

100機器學習|day39 Tensorflow Keras手寫數字識別

提示:建議先看day36-38的內容 TensorFlow™ 是一個採用資料流圖(data flow graphs),用於數值計算的開源軟體庫。節點(Nodes)在圖中表示數學操作,圖中的線(edges)則表示在節點間相互聯絡的多維資料陣列,即張量(tensor)。它靈活的架構讓你可以在多種平臺上展開計算,

100機器學習|day40-42 Tensorflow Keras識別貓狗

100天搞定機器學習|1-38天 100天搞定機器學習|day39 Tensorflow Keras手寫數字識別 前文我們用keras的Sequential 模型實現mnist手寫數字識別,準確率0.9713。今天我們完成day40-42的課程,實現貓、狗的識別。 本文資料集下載地址 https://down

100機器學習|day43 幾張GIF理解K-均值聚類原理

前文推薦 如何正確使用「K均值聚類」? KMeans演算法是典型的基於距離的聚類演算法,採用距離作為相似性的評價指標,即認為兩個物件的距離越近,其相似度就越大。該演算法認為簇是由距離靠近的物件組成的,因此把得到緊湊且獨立的簇作為最終目標。 K個初始聚類中心點的選取對聚類結果具有較大的影響,因為在該演算法第一步

100機器學習|Day56 隨機森林工作原理及調參實戰(信用卡欺詐預測)

本文是對100天搞定機器學習|Day33-34 隨機森林的補充 前文對隨機森林的概念、工作原理、使用方法做了簡單介紹,並提供了分類和迴歸的例項。 本期我們重點講一下: 1、整合學習、Bagging和隨機森林概念及相互關係 2、隨機森林引數解釋及設定建議 3、隨機森林模型調參實戰 4、隨機森林模型優缺點總結 整

從0到1 | 0基礎/轉行如何用3個月機器學習

寫這篇文章的初衷是現在好多朋友都想了解如何入門/轉行機器學習,搭上人工智慧這列二十一世紀的快車。再加上這個問題每隔一陣子就會有人提及,因此想寫篇文章來個一勞永逸。 文章的宗旨: 指出學習中的一些誤區 提供客觀可行的學習表 給出進階學習的建議 目標讀者是: 零基礎,對人工智慧感興趣的讀者 有基

機器學習PPT筆記-1

Introduction of Deep Learning some introductions Machine Learning is close to Looking for a Function The model is a set of fun

吳恩達-機器學習(5)-反向傳播

文章目錄 Cost Function and Backpropagation Cost Function Backpropagation Algorithm Backpropagation

反向傳播演算法推導

      BP(backpropgationalgorithm ):後向傳導演算法,顧名思義就是從神經網路的輸出(頂層)到輸入(底層)進行求解。那麼求解什麼呢,求解的就是神經網路中的引數的導數,即引數梯度方向,從而就可以使用梯度下降等求解無約束問題(cost functio

神經網路和反向傳播演算法推導

注:由於自己畫圖實在太難畫,本文中基本所有插圖來源於演算法糰子機器學習班,請勿轉載 1.普通的機器學習模型: 其實,基本上所有的基本機器學習模型都可以概括為以下的特徵:根據某個函式,將輸入計算並輸出。圖形化表示為下圖: 當我們的g(h)為sigmoid函式時候,它就是一個