1.2.2 Logistic回归和梯度下降计算的数学流程
計算圖
可以說,一個神經網絡的計算都是按照前向或者反向傳播過程來實現的,首先計算出神經網絡的輸出,緊接著一個反向傳播的操作。后者,我們用來計算出對應的梯度或者導數。這個流程圖解釋了為什么用這樣的方式來實現。
我們舉一個更為簡單的函數為例,如何計算該函數。具體流程如下:
流程圖是用藍色箭頭畫出來的,從左到右的計算過程。那么紅色箭頭是從右到左的導數計算過程。
計算圖的導數計算
反向傳播算法的實質實際上就是用微積分的鏈式法則求導的過程。
比如說我們算dJ/da的大小,就用鏈式法則反過來算一下。
logistic回歸的梯度下降法
這一部分將介紹如何用導數流程圖來計算梯度。
我們回憶一下邏輯回歸公式,注意這里的a是預測值的意思等于y(i)
整個計算流程如圖
想要計算損失函數L的導數,要逐步返回計算前面各項的導數。
如圖所示,我們先用反向傳播方法求出各個導數值(對于單個變量的就是這么算),然后使用梯度算法,更新
w=w?αdw1
我們從這個公式可以看出,dw1是我們用反向傳播求出來的,這是只是增加了一個學習率 α
m個樣本的梯度下降
之前我們介紹了如何將梯度回歸應用到Logistic回歸的一個訓練樣本上,現在我們想要把他們應用到m個訓練樣本上。
首先,我們要明確成本函數J(w,b),期望使得成本函數達到最小的值。
如圖所示,我們這里要做的就是使用之前的鏈式法則求出相應的導數值,做差,然后求平均。這就是Logistic回歸和梯度下降算法。
整個計算的編程流程如下:
完成左側的迭代計算之后,我們使用梯度算法對w進行一次學習更新(寫在右側),即w1減去學習率乘以dw1。然后不斷重復這些步驟,即迭代完成之后進行更新
注意這里我們每一個xi都會計算出一個dw,而我們希望得到的是dw的平均值,所以最后除以m。當我們用向量化進行計算也是一樣的,對于所有的X也就是X向量,除以m取一個平均值。
總結
以上是生活随笔為你收集整理的1.2.2 Logistic回归和梯度下降计算的数学流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.2.1 Logistic回归和梯度下
- 下一篇: 1.2.3 使用向量化进行加速计算