我在八度音(Octave)中使用下面的迭代方法和简单的向量方法(简单回归)得到的结果不同。我在迭代方法中做错了什么?
-
迭代版本
sum_val = 0;for m_val = 1:m, h = X(m_val,:) * theta; err_sq = power((h - y(m_val)),2); sum_val = sum_val + err_sq;end;J = (1/2*m)*sum_val;
-
向量方法:
J = (1/(2*m))*sum(power((X*theta - y),2));
回答:
在MATLAB中,我想在Octave中也是如此,1/2*m
与1/(2*m)
是不一样的。这是你错误的来源。