一、在代码中实现梯度下降的反向传播
Z=w^TX+b=np.dot(w.T,X)+b得到线性回归模型。
A=sigmoid(Z)得到预测值。
dZ=A-Y得到成本函数关于Z的导数。
dw=(1/m)*X*dZ^T得到成本函数对于w的导数。
db=(1/m)*np.sum(dZ)得到成本函数对于b的导数。
二、更新参数
w:=w-a*dw
b:=b-a*db
其中a是步长或者学习率。
三、Python代码补充
计算A矩阵指定列元素的和:cal=A.sum(axis=0)就可以计算矩阵A第所有列元素的和,其中axis=0代表竖直列相加,axis=1代表水平行相加,cal是一个和A相同列数的行矩阵。
在Python中,不要使用秩为1的矩阵,例如cal=np.random.randn(5)就是一个秩为1的矩阵,应该使用cal=np.random.randn(5,1)为5*1的矩阵。