1.之前学习了如何通过向量化同时计算整个训练集预测值a。本次课程将会学习如何同时向量化计算m个训练集的梯度,之前的计算得到dz的计算形式:吴恩达深度学习:2.14,我们可以将dz写成一个1*m的矩阵,吴恩达深度学习:2.14,之前定义过A吴恩达深度学习:2.14,定义了Y为:吴恩达深度学习:2.14这样一个行向量。这样计算dz=A-Y,吴恩达深度学习:2.14  

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,即吴恩达深度学习:2.14,在python中进行计算,只需要:

  吴恩达深度学习:2.14

  将这个变量传递给np.sum函数计算,就可以得到db。对于dw的计算,只需要通过吴恩达深度学习:2.14

 

   (2)没有向量化的效率非常低,所以计算吴恩达深度学习:2.14,就可以通过

  吴恩达深度学习:2.14

 

   (3)然后计算dw和db

  吴恩达深度学习:2.14

  (4)更新w和b
  吴恩达深度学习:2.14

 

相关文章: