matlab 梯度下降 求偏导,通过计算图求梯度下降中各偏导的推导

通过计算图求梯度下降中各偏导的推导

Author: nex3z

2017-08-30

在 Neural Networks and Deep Learning 课程的 Logistic Regression Gradient Descent 一节以逻辑回归为例,介绍了使用计算图(Computation Graph)求梯度下降中各偏导的方法,但没有给出具体的推导过程。

例子中模型为:

\begin{equation}

z = w^Tx + b \tag{1}

\end{equation}

预测为:

\begin{equation}

\hat y = a = \sigma(z) \tag{2}

\end{equation}

其中 $\sigma (z)$ 为 Sigmoid 函数:

\begin{equation}

\sigma(z) = \frac{1}{1 + e^{-z}} \tag{3}

\end{equation}

损失函数为:

\begin{equation}

L(a, y) = -(ylog(a) + (1 – y)log(1 – a)) \tag{4}

\end{equation}

假设只有两个特征 $x_{1}$、$x_{2}$,则:

\begin{equation}

w^T =

\begin{bmatrix}

w_{1} \ w_{2} \tag{5}

\end{bmatrix}

\end{equation}

运算图如图1所示:

dfc37db53a7bc35cf58cfba2c83bca4b.png

图 1

反向计算各偏导的过程如下:

首先求得 $\frac{\partial L}{\partial a}$ 如下:

\begin{equation}

\frac{\partial L}{\partial a} = – \frac{y}{a} + \frac{1 – y}{1 – a} \tag{6}

\end{equation}

然后可以由链式法则求得 $\frac{\partial L}{\partial z}$ 如下:

\begin{equation}

\frac{\partial L}{\partial z} = \frac{\partial L}{\partial a} \cdot \frac{da}{dz} \tag{7}

\end{equation}

其中,$a = \sigma(z)$ 是 Sigmoid 函数,有:

\begin{equation}

\frac{d\sigma(z)}{dz} = \sigma(z)(1 – \sigma(z)) \tag{8}

\end{equation}

将式 (6)、(8) 带入式 (7),得:

\begin{equation}

\frac{\partial L}{\partial z} = (- \frac{y}{a} + \frac{1 – y}{1 – a}) \cdot a(1 – a) \

= -y(1 – a) + a(1 – y) \

= -y + a \tag{9}

\end{equation}

最后求得 $\frac{\partial L}{\partial w_{1}}$、$\frac{\partial L}{\partial w_{2}}$ 和 $\frac{\partial L}{\partial b}$ 如下:

\begin{equation}

\frac{\partial L}{\partial w_{1}} = \frac{\partial L}{\partial z} \cdot \frac{\partial z}{\partial w_{1}} = \frac{\partial L}{\partial z} \cdot x_{1} \tag{10}

\end{equation}

\begin{equation}

\frac{\partial L}{\partial w_{2}} = \frac{\partial L}{\partial z} \cdot \frac{\partial z}{\partial w_{2}} = \frac{\partial L}{\partial z} \cdot x_{2} \tag{11}

\end{equation}

\begin{equation}

\frac{\partial L}{\partial b} = \frac{\partial L}{\partial z} \cdot \frac{\partial z}{\partial b} = \frac{\partial L}{\partial z} \tag{12}

\end{equation}

这里 $\frac{\partial L}{\partial z}$ 不再展开。实际应用中,在由式 (9) 求得 $\frac{\partial L}{\partial z}$ 的值之后,就可以直接带入式 (10)、(11)、(12) 进行计算。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值