Processing math: 100%

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

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

  例子中模型为:

z=wTx+b

  预测为:

ˆy=a=σ(z)

  其中 σ(z) 为 Sigmoid 函数:
σ(z)=11+ez

  损失函数为:

L(a,y)=(ylog(a)+(1y)log(1a))

  假设只有两个特征 x1x2,则:

wT=[w1 w2]

  运算图如图1所示:

图 1

图 1

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

  • 首先求得 La 如下:

La=ya+1y1a

  • 然后可以由链式法则求得 Lz 如下:

Lz=Ladadz

其中,a=σ(z) 是 Sigmoid 函数,有:
dσ(z)dz=σ(z)(1σ(z))

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

Lz=(ya+1y1a)a(1a) =y(1a)+a(1y) =y+a

  • 最后求得 Lw1Lw2Lb 如下:

Lw1=Lzzw1=Lzx1

Lw2=Lzzw2=Lzx2

Lb=Lzzb=Lz

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