逻辑回归是一个二分类问题 (二分类与回归不同,所以代价函数也不一样,因为取值希望是0,1)
函数:
其中:,
损失函数:
计算图
梯度下降法推导:
有3个公式,有3个导数
第1个:
第2个:,a在前向计算时记得保留,在反向传播时很有用
第3个:,
注意到,这里参数更新与线性回归一样,都是(a-y)x。
接下来是向量化:
w是一列矩阵,
X是矩阵,,每一列是一个样本
前向计算:
Z,A,dZ
可以用np.dot()
计算代价函数时,np.sum()加起来
反向计算:
dW = np.dot(dZ^T, X) / m,就可以直接计算了,把Z转置就可以了,这里真的是太聪明了。
db = np.sum(dZ) / m。