吴恩达深度学习:2.14
1.之前学习了如何通过向量化同时计算整个训练集预测值a。本次课程将会学习如何同时向量化计算m个训练集的梯度,之前的计算得到dz的计算形式:,我们可以将dz写成一个1*m的矩阵,
,之前定义过A
,定义了Y为:
这样一个行向量。这样计算dz=A-Y,
2.我们已经去掉了一个for循环,我们将dw初始化为0向量,即dw=0,但是我们还有一个遍历训练集的循环,
即:dw=0;
dw+=x(1)dz(1);dw+=x(2)dz(2)
这样的过程我么进行m此,然后用dw/=m
我们将db初始化为0向量,db+=dz(1),db+=dz(2),一直写下去直到db(m),接着计算db/=m
(1)接下来我们继续用向量化的手段来减少一个for循环,向量化实现db只需要对所有的d(z)求和,然后除以m,即,在python中进行计算,只需要:
将这个变量传递给np.sum函数计算,就可以得到db。对于dw的计算,只需要通过
(2)没有向量化的效率非常低,所以计算,就可以通过
(3)然后计算dw和db
(4)更新w和b