- 怎么樣計算偏導數來實現logistic回歸的梯度下降法
- 它的核心關鍵點是其中的幾個重要公式用來實現logistic回歸的梯度下降法
- 接下來開始學習logistic回歸的梯度下降法
- logistic回歸的公式
- 現在只考慮單個樣本的情況,關於該樣本的損失函數定義如上面第三個公式,其中a是logistic回歸的輸出,y是樣本的基本真值標簽值,
- 下面寫出該樣本的偏導數流程圖
- 假設樣本只有兩個特征x1和x2
- 為了計算Z,我們需要輸入參數w1和w2和b
- 因此在logistic回歸中,我們要做的就是變換參數w和b的值,來最最小化損失函數,
- 在前面,我們已經前向傳播步驟,在單個訓練樣本上,計算損失函數,現在我們開始討論怎么樣向后計算偏導數,(重點)
- 要想計算損失函數L的導數,
- 首先,我們需要向前一步,先計算損失函數的導數,計算函數L關於a的導數,在代碼中,只需要使用da來表示這個變量,
- 事實上,
- 損失函數導數的計算公式就是這樣,最終結果關於變量a的導數
- 事實上,
- 現在可以再向后一步,計算dz,dz是損失函數關於z的導數,
- 事實上
- 事實上
- 現在,向后傳播的最后一步,w和b需要如何變化,
- 特別的關於w1的導數(函數L對w1求導)
- 關於w2的求導
- 關於b的求導
- db=dz=a-y
- 特別的關於w1的導數(函數L對w1求導)
- 因此,關於單個樣本的梯度下降法,所需要做的就是使用這個計算公式計算dz,然后計算dw1、dw2、db,然后
- 更新w1位w1減去學習率乘以dw1
- 更新w2位w2減去學習率乘以dw2
- 更新b為b減去學習率乘以db
- 更新w1位w1減去學習率乘以dw1
- 這就是單個樣本實例的一次梯度更新步驟
- 首先,我們需要向前一步,先計算損失函數的導數,計算函數L關於a的導數,在代碼中,只需要使用da來表示這個變量,
- 但是訓練logistic回歸模型,不僅僅只有一個訓練樣本,而是有m個訓練樣本的整個訓練集,
- 下一節將會介紹,這些想法是如何應用到整個訓練樣本集當中的。而不僅僅是單個樣本。