小编Fau*_*lty的帖子

成本函数,线性回归,试图避免硬编码theta.八度.

我正在通过Coursera参加Andrew Ng教授的机器学习课程的第二周.我们正在进行线性回归,现在我正在处理成本函数的编码.

我编写的代码正确地解决了问题,但是没有通过提交过程并且单元测试失败,因为我已经对theta的值进行了硬编码,并且不允许超过两个theta值.

这是我到目前为止的代码

function J = computeCost(X, y, theta)

m = length(y);
J = 0;

for i = 1:m,
    h = theta(1) + theta(2) * X(i)
    a = h - y(i);
    b = a^2;
    J = J + b;
    end;
J = J * (1 / (2 * m));

end
Run Code Online (Sandbox Code Playgroud)

单元测试是

computeCost( [1 2 3; 1 3 4; 1 4 5; 1 5 6], [7;6;5;4], [0.1;0.2;0.3])
Run Code Online (Sandbox Code Playgroud)

并应生成ans = 7.0175

所以我需要添加另一个for循环来迭代theta,因此允许theta的任意数量的值,但如果我可以围绕如何/在哪里,我会被诅咒.

任何人都可以建议一种方法,我可以在这个函数中允许任意数量的theta值吗?

如果您需要更多信息来了解我想要提出的问题,我会尽力提供.

machine-learning octave linear-regression

47
推荐指数
3
解决办法
5万
查看次数