2-6 向量化 logistic 回归的梯度输出
向量化 logistic 回归的梯度输出( Vectorizing Logistic Regression's Gradient)
已知:
$d{z^{(1)}} = {a^{(1)}} - {y^{(1)}}$ $d{z^{(2)}} = {a^{(2)}} - {y^{(2)}}$ 。。。
定义:
$dZ = [d{z^{(1)}},d{z^{(2)}}...d{z^{(m)}}]$
${\rm{A}} = [{a^{(1)}},{a^{(2)}}...{a^{(m)}}]$
${\rm{Y}} = [{y^{(1)}},{y^{(2)}}...{y^{(m)}}]$
则:
$dZ = A - Y = [{a^{(1)}} - {y^{(1)}}{a^{(2)}} - {y^{(2)}}...{a^{(m)}} - {y^{(m)}}]$
那么:
$db = \frac{1}{m}\sum\nolimits_1^m {d{z^{(i)}}} $
python中的代码
db = 1/m*np.sum(dZ)
$dw = \frac{1}{m}X*d{z^T}$
展开后为:
$dw = \frac{1}{m}({x^{(1)}}d{z^{(1)}} + {x^{(2)}}d{z^{(2)}}...{x^{(m)}}d{z^{(m)}})$
前向传播和反向传播的计算过程可以总结为: