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不会被取消签名,但我不知道修改后的代码是否有效。