Я пытаюсь вычислить
где h(x) = X*theta, theta is nx1 matrix and X is an mxn and y is also m x 1
матрица. alpha,m,theta(j) and x(j)(i)
- скалярные значения. Я пытаюсь векторизовать это следующим образом
theta0 =(X*theta - y)
theta1 = (X*theta - y).*X(:,2)
theta0 = sum(theta0);
theta1 = sum(theta1);
theta0 = theta(1) - theta0*alpha/m;
theta1 = theta(2) - theta1*alpha/m;
theta = [theta0;theta1];
где num_iter=1500
и m=length(y)
но мой код зашёл в бесконечный цикл. мой эквивалент для решения петли ниже
theta0 =0;
theta1= 0;
for i = 1:m,
theta0 = theta0 + (sum(X(i,:)*theta) - y(i));
theta1 = theta1 + (sum(X(i,:)*theta) - y(i))*X(i,2);
end
theta(1) = theta(1) - theta0*alpha/m;
theta(2) = theta(2) - theta1*alpha/m;
пожалуйста, дайте мне, где я ошибся