回顾
在之前梯度下降部分说到过,dz1=a1-y1,dz2=a2-y2,……。那么这里用一个矩阵dz=[dz1,dz2,…]。然后还定义了A=[a1,a2,a3…]。Y=[y1,y2,y3…]。所以基于这些定义,可以发现dz=A-Y。
对于db,在python中可以使用(1/m )*np.sum(dz)
。dw可以使用(1/m)*X*dz^T
。x是矩阵,dz^T是dz的转置矩阵。
![在这里插入图片描述](https://img-blog.csdnimg.cn/c0fc359da32e4014bb5540155bb75708.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55av5a2Q55qE5qKm5oOz77yg,size_19,color_FFFFFF,t_70,g_se,x_16)
梯度下降回归的一次迭代
下面是向量化计算梯度下降一次迭代的代码逻辑。如果这个迭代要进行1000次,那么还是要在外部加一个for循环,是没办法替换掉的。
![在这里插入图片描述](https://img-blog.csdnimg.cn/657a4cc8a27a4664aeb61da40d201b0a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55av5a2Q55qE5qKm5oOz77yg,size_15,color_FFFFFF,t_70,g_se,x_16)