吴恩达深度学习: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
  

 

posted @ 2019-01-23 18:09  stone1234567890  阅读(152)  评论(0编辑  收藏  举报