1 回答
TA贡献1802条经验 获得超5个赞
由于您没有提供Xor Y,我不会看:
(Y.T @ -np.log(hyp) + (1-Y).T @ -np.log(1-hyp))
但与:
(theta[1:].T @ theta[1:]).item()
如果theta是(n,1):
In [15]: theta = np.arange(5)[:,None]
In [16]: theta.shape
Out[16]: (5, 1)
In [17]: (theta[1:].T @ theta[1:])
Out[17]: array([[30]])
In [18]: (theta[1:].T @ theta[1:])[0,0]
Out[18]: 30
In [19]: (theta[1:].T @ theta[1:]).item()
Out[19]: 30
但是如果你把它theta给minimize,它会把它分解成 (n,) 形状:
In [20]: theta=theta.ravel()
In [21]: (theta[1:].T @ theta[1:])
Out[21]: 30
In [22]: (theta[1:].T @ theta[1:]).shape
Out[22]: ()
In [23]: (theta[1:].T @ theta[1:]).item()
Out[23]: 30
In [24]: (theta[1:].T @ theta[1:])[0,0]
...
IndexError: invalid index to scalar variable.
I 正如最初所写的那样,item可以与单个项目数组一起使用,而不管尺寸如何。 [0,0]仅适用于二维(或更高)数组。
添加回答
举报