用numpy计算负对数似然

用numpy计算负对数似然,numpy,logistic-regression,numpy-ndarray,Numpy,Logistic Regression,Numpy Ndarray,我只想用Numpy实现下面的负对数似然公式 然而,我得到了两个截然不同的结果,一个是求和公式,另一个是矩阵公式(在下面代码块的注释中) 知道我的矩阵公式有什么问题吗?第二个公式中没有转置。另外,我必须仔细观察,但你想在切片之前转置,而不是之后转置吗x[i].T将不同于x.T[i]@user3483203我到底应该转置什么,为什么?我应该提到的是,tx是一个具有行x_1,…,x_n的矩阵。 def log_likelihood(y, tx, w): s = 0 for i in range(l

我只想用Numpy实现下面的负对数似然公式

然而,我得到了两个截然不同的结果,一个是求和公式,另一个是矩阵公式(在下面代码块的注释中)


知道我的矩阵公式有什么问题吗?

第二个公式中没有转置。另外,我必须仔细观察,但你想在切片之前转置,而不是之后转置吗
x[i].T
将不同于
x.T[i]
@user3483203我到底应该转置什么,为什么?我应该提到的是,tx是一个具有行x_1,…,x_n的矩阵。
def log_likelihood(y, tx, w):
s = 0

for i in range(len(y)):
    s += np.log(1+np.exp(tx[i,:].T@w))-y[i]*tx[i,:].T@w

return s
#return np.sum(np.log(1+np.exp(tx@w))-y@tx@w)