我有一个非常基本的问题,涉及逻辑回归设置中的Python,numpy和矩阵乘法。
首先,让我为未使用数学符号表示歉意。
我对矩阵点乘法与元素明智的倍增的使用感到困惑。成本函数由下式给出:
在python中,我将其写为
cost = -1/m * np.sum(Y * np.log(A) + (1-Y) * (np.log(1-A)))
但例如,此表达式(第一个表达式-J关于w的导数)
是
dw = 1/m * np.dot(X, dz.T)
我不明白为什么在上面使用点乘法是正确的,但是在成本函数中使用逐元素乘法,即为什么不这样做:
cost = -1/m * np.sum(np.dot(Y,np.log(A)) + np.dot(1-Y, np.log(1-A)))
我完全理解这一点并没有得到详尽的解释,但是我想这个问题是如此简单,以至于即使具有基本逻辑回归经验的人也会理解我的问题。
Y * np.log(A)
np.dot(X, dz.T)