Я нахожусь на второй неделе курса машинного обучения профессора Эндрю Нг через Coursera. Мы работаем над линейной регрессией, и сейчас я имею дело с кодированием функции стоимости.
Код, который я написал, правильно решает проблему, но не передает процесс отправки и не выполняет unit test, потому что я жестко закодировал значения 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
unit test есть
computeCost( [1 2 3; 1 3 4; 1 4 5; 1 5 6], [7;6;5;4], [0.1;0.2;0.3])
и должен производить ans = 7.0175
Поэтому мне нужно добавить еще один цикл для итерации по тете, поэтому, учитывая любое количество значений для theta, но я буду проклят, если смогу обернуть голову вокруг того, как/где.
Может ли кто-нибудь предложить способ, которым я могу разрешить любое количество значений для theta внутри этой функции?
Если вам нужна дополнительная информация, чтобы понять, что я пытаюсь спросить, я постараюсь изо всех сил предоставить ее.