Matlab 向量θ在梯度下降后无符号

Matlab 向量θ在梯度下降后无符号,matlab,linear-regression,gradient-descent,Matlab,Linear Regression,Gradient Descent,我应该在下面的代码中修复什么,这样θ就不会被取消签名?θ是在起始点包含两个零的向量。我在写线性回归,这是它的梯度下降部分 function [theta, Js] = GradientDescent(X, y, theta, alpha, iterations) % Prepare Variables m = length(y); Js = zeros(iterations, 1); for i = 1 : iterations, h = X *

我应该在下面的代码中修复什么,这样θ就不会被取消签名?θ是在起始点包含两个零的向量。我在写线性回归,这是它的梯度下降部分

function [theta, Js] = GradientDescent(X, y, theta, alpha, iterations)
    % Prepare Variables
    m = length(y);
    Js = zeros(iterations, 1);

    for i = 1 : iterations,
        h = X * theta;
        t1 = theta(1) - (alpha * (1 / m) * sum(h - y));
        t2 = theta(2) - (alpha * (1 / m) * sum((h - y) .* X(:, 2)));
        theta(1) = t1;
        theta(2) = t2;

        Js(i) = ComputeCost(X, y, theta);
    end
end

你可以尝试减去2*pi:
theta(theta>0)=theta(theta>0)-2*pi。θ不会得到无符号,但我不知道修改后的代码是否有效。您可以尝试减去2*pi:
θ(θ>0)=θ(θ>0)-2*pi。Theta不会被取消签名,但我不知道修改后的代码是否有效。