python

时间:2016-11-07 20:02:48

标签: python numpy

我对数据科学的python编程有点新兴。 X是矩阵97x2元素,θ是3x1元素向量,y是97X2向量 m = y = 97的长度 以下是python中的算法,但我没有得到错误的位置。

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

我必须进行元素乘法并将它们相加以获得一个标量值J(成本函数)。但是我得到一个包含0

的97个元素的数组

1 个答案:

答案 0 :(得分:0)

首先,这不会在提供维度的情况下运行。 np.dot(A, B)要求A和B在一个维度上匹配,而你的是97x2和3x1,因此没有意义。您尝试实现的算法可能需要将1s的列连接到X(因为它看起来像常规线性回归)。你使用的第二个分区是python 2中的整数除法,当你执行像1/2 *之类的东西时它会出现0,它实际上等同于0 *。只需将变量转换为浮点数,即可

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