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