深度学习(0)Logistics正向、反向传播推导

定义

损失函数(loss function)可以很好的表征单一样本下估计值 \(a=\hat{y}\) 和真实值y(y=1或0)之间的误差。但我们知道,作为训练用的样本数据绝不可能只有一个,于是我们引入m个样本损失函数的算数平均值作为成本函数(cost function),用符号J来表。于是有, - 仿射变换 \(z=w^Tx+b\) - 激活函数 \(a=\sigma (z) = sigmoid(z) = \frac{1}{1+e^{-z}}\) - 损失函数 \(L(a,y)=-(ylog^{(a)}+(1-y)log^{(1-a)})\) - 成本函数 \[J(w, b)=\frac{1}{m} \sum_{i=1}^{m} L\left(a^{(i)}, y^{(i)}\right) = \frac{1}{m} \sum_{i=1}^{m} -(y^{(i)}log^{(a^{(i)})}+(1-y^{(i)})log^{(1-a^{(i)})})\]

正向传播

  • 仿射变换 \(z^{(i)}=\sum_{j=1}^{n} w_{j} x_{j}^{(i)}+b\)
  • 激活函数 \(a^{(i)}=\sigma \(z^{(i)}\) = sigmoid(z^{(i)}) = \frac{1}{1+e^{-z^{(i)}}}\)
  • 损失函数 \(L^{(i)}=-y^{(i)} \ln a^{(i)}-\left(1-y^{(i)}\right) \ln \left(1-a^{(i)}\right)\)
  • 成本函数 \[J=\frac{1}{m} \sum_{i=1}^{m} L\left(a^{(i)}, y^{(i)}\right) = \frac{1}{m} \sum_{i=1}^{m} -(y^{(i)}log^{(a^{(i)})}+(1-y^{(i)})log^{(1-a^{(i)})})\]

反向传播

\[\frac{d J}{d L^{(i)}}= \frac{d\left(\{\frac{1}{m} \sum_{i=1}^{m} L(i)\}\right)}{dL^{(i)}} = \frac{d \left(\frac{1}{m} \left(L(1)+L(2)+\dots+L(i)+\dots\right)\right)}{dL^{(i)}} =\frac{1}{m}\]

\[\frac{d L^{(i)}}{d a^{(i)}}= \frac{d \left(-y^{(i)} \ln a^{(i)}-(1-y^{(i)}) \ln (1-a^{(i)})\right)}{d a^{(i)}}= -\frac{y^{(i)}}{a^{(i)}}+\frac{1-y^{(i)}}{1-a^{(i)}} = \frac{a^{(i)}-y^{(i)}}{a^{(i)}(1-a^{(i)})}\] 对于sigmoid函数,存在 \[\frac{d\left(sigmoid(x)\right)}{d(x)}=sigmoid(x)(1-sigmoid(x))\] 于是有, \[\frac{d a^{(i)}}{d z^{(i)}}=a^{(i)} \left(1-a^{(i)}\right)\]

\[\frac{d z^{(i)}}{d w_{j}}= \frac{d \left( w_1x_1^{(i)}+b + w_2x_2^{(i)}+b + \dots + w_jx_j^{(i)}+b+\dots \right)}{d w_{j}}= x_{j}^{(i)}\]

\[\frac{d z^{(i)}}{d b}=1\]

综上所述, \[\frac{d J}{d w_{j}}=\frac{1}{m} \sum_{i=1}^{m} \frac{d L^{(i)}}{d a^{(i)}} \frac{d a^{(i)}}{d z^{(i)}} \frac{d z^{(i)}}{d w_{j}} = \frac{1}{m} \sum_{i=1}^{m}\left(a^{(i)}-y^{(i)}\right) x_{j}^{(i)}\]

\[\frac{d J}{d b}=\frac{1}{m} \sum_{i=1}^{m} \frac{d L^{(i)}}{d a^{(i)}} \frac{d a^{(i)}}{d z^{(i)}} \frac{d z^{(i)}}{d b} = \frac{1}{m} \sum_{i=1}^{m}\left(a^{(i)}-y^{(i)}\right)\]

梯度下降

\[w_j = w_j - \alpha dw_j\] \[b = b - \alpha db\]


References:

[1] 吴恩达网易云课堂《神经网络基础》 [2] 吴恩达神经网络和深度学习心得总结(一):神经网络基础和logistic回归