2016-11-07 52 views
0

我對帶數據科學的python編程有點新。 X是一個矩陣97x2元素,θ是一個3x1元素向量,y是一個97X2向量 m = y的長度= 97 以下是Python中的算法,但我沒有得到錯誤在哪裏。python上的矩陣運算錯誤

J= (1/2*m)*sum(np.square(np.dot(X,theta)-y))) 

我不得不元素明智的乘法和總結他們得到一個標量值J(成本函數)。然而,我得到了一個由97個元素組成的數組0

+1

python 2或python 3? –

回答

0

首先,這不會與提供的尺寸一起運行。 np.dot(A, B)要求A和B在一個維度上匹配,而你的是97x2和3x1,因此它是沒有意義的。可能你試圖實現的算法需要你將1的列連接到X(因爲它看起來像常規線性迴歸)。您使用的所有分區的第二個是整數除法在python 2中,當您執行諸如1/2 *之類的填充時,它將會出現0,它實際上相當於0 *。簡單地把你的變量浮動,因此做

J = (0.5*m)*sum(np.square(np.dot(X, theta) - y)))