【深度學習】logistic regression 中的反向傳播 (Back Propagation)

logistic regression 中的反向傳播 (back propagation)

梯度下降

《深度學習中的 logistic regression》 一文中,最後我們得到了 logistic regressioncost function :
J(ω,β)=1miL(y^,P(yx))J(\omega,\beta)={1\over m}\sum_i\mathscr{L}(\hat y, P(y|x))
接下來只需要用梯度下降求解 cost function 的極小值。

現在我們在 logistic regression 中有 兩個參數,z=xTω+βz=x^T\omega+\beta,權重 ω\omega,偏置 β\beta
因此梯度下降爲:
{ω:=ωαJ(ω,β)ωβ:=βαJ(ω,β)β}\begin{aligned}\\ \{&\\ &\quad\quad\quad\quad\omega:=\omega-\alpha{\partial J(\omega,\beta)\over\partial\omega}\\ \\ &\quad\quad\quad\quad\beta:=\beta-\alpha{\partial J(\omega,\beta)\over\partial\beta}\\ \}&\\ \end{aligned}

其中 α\alpha 爲學習率(超參數)。
接下來的未知量只有 J(ω,β)ω{\partial J(\omega,\beta)\over\partial\omega}J(ω,β)β{\partial J(\omega,\beta)\over\partial\beta} 。所以接下來的問題就是求解這兩個值,這兩個值我們會把它叫做 J(ω,β)J(\omega,\beta) 的梯度,記爲 J(ω,β)\nabla J(\omega,\beta)。即:
J(ω,β)=[J(ω,β)ωJ(ω,β)β]\nabla J(\omega,\beta)=\begin{bmatrix}\\ {\partial J(\omega,\beta)\over\partial\omega}\\ {\partial J(\omega,\beta)\over\partial\beta}\\ \end{bmatrix}

因此我們把這個算法叫做梯度下降

現在我們要求解梯度,就需要用到 反向傳播 求梯度下降。

反向傳播

我們先來看一個普遍的正向傳播。
正向傳播
那它的反向傳播長什麼樣呢?
在這裏插入圖片描述
紅色線就是表示的反向傳播,每條線代表
我們先看一下在 loss function 前的反向傳播。
正向傳播
這個是正向的傳播,有目前的 ω\omegaβ\beta 計算 zz,然後通過 σ(z)\sigma(z) 計算 y^\hat y,其中 y^\hat y 表示 P(y=1x)P(y = 1 | x),然後通過 lossfunctionloss function 計算出 loss
接下來如果我們已經求出 loss 了,我們要對 ω\omegaβ\beta 進行修正。
也就是要求反向傳播。

先把舊稿發出,未完待續。(或許沒有後續???)
想被催更

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章