python中的代价函数
这是一个成本函数,我想知道为什么我需要转置第一个h(θ,X)因为我无法评论,所以我试图根据我的假设给出答案。我不确定输入变量θ和X以及输出的数据结构 Numpy dot产品文档说明: 对于二维数组,它等价于矩阵乘法,对于一维数组,它等价于向量的内积(无复共轭)。对于N维,它是a的最后一个轴和b的倒数第二个轴的和积 矩阵乘法由R(lxm)xr(mxn)->R(lxn)python中的代价函数,python,machine-learning,Python,Machine Learning,这是一个成本函数,我想知道为什么我需要转置第一个h(θ,X)因为我无法评论,所以我试图根据我的假设给出答案。我不确定输入变量θ和X以及输出的数据结构 Numpy dot产品文档说明: 对于二维数组,它等价于矩阵乘法,对于一维数组,它等价于向量的内积(无复共轭)。对于N维,它是a的最后一个轴和b的倒数第二个轴的和积 矩阵乘法由R(lxm)xr(mxn)->R(lxn) 请注意,一个矩阵的列数必须等于另一个矩阵的行数 这意味着如果有两个行向量x,y,可能的结果是: 点(x.T,y)=>标量 点(x
请注意,一个矩阵的列数必须等于另一个矩阵的行数 这意味着如果有两个行向量x,y,可能的结果是:
- 点(x.T,y)=>标量
- 点(x,y.T)=>矩阵
- 点(Y,x)=>列向量
- 点(x,Y)=>行向量
np.dot
计算平方和。你自己定义h()
,所以如果你想让参数是X,θ
,那么你就直接修改它。只需记住同时更改对它的所有调用。
def h(theta,X):
return np.dot(X,theta)
def computeCost(mytheta,X,y):
return float((1/2*m) * np.dot((h(mytheta,X)-y).T,(h(mytheta,X)-y)))