【深度学习】logistic regression 中的反向传播 (Back Propagation)

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

梯度下降

《深度学习中的 logistic regression》 一文中,最后我们得到了 logistic regressioncost function :
J ( ω , β ) = 1 m i L ( y ^ , P ( y x ) ) J(\omega,\beta)={1\over m}\sum_i\mathscr{L}(\hat y, P(y|x))
接下来只需要用梯度下降求解 cost function 的极小值。

现在我们在 logistic regression 中有 两个参数, z = x T ω + β 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 计算 z z ,然后通过 σ ( z ) \sigma(z) 计算 y ^ \hat y ,其中 y ^ \hat y 表示 P ( y = 1 x ) P(y = 1 | x) ,然后通过 l o s s f u n c t i o n loss function 计算出 loss
接下来如果我们已经求出 loss 了,我们要对 ω \omega β \beta 进行修正。
也就是要求反向传播。

先把旧稿发出,未完待续。(或许没有后续???)
想被催更

发布了80 篇原创文章 · 获赞 56 · 访问量 50万+

猜你喜欢

转载自blog.csdn.net/qq_40861916/article/details/99762603