我在下面的迭代方式和八度音阶中的简单向量方式(简单回归)之间得到了不同的结果。我在迭代方式做错了什么?
迭代版
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));
答案 0 :(得分:3)
在MATLAB中,我也认为在Octave中,1/2*m
与1/(2*m)
不同。这是您的错误来源。