如何对以下代码进行矢量化?编辑:,y是列向量;X是矩阵;, m是标量
temp1 = theta(1) - alpha/m * sum((X*theta-y).*X(:,1));
temp2 = theta(2) - alpha/m * sum((X*theta-y).*X(:,2));
theta(1) = temp1;
theta(2) = temp2;
我尝试了以下操作,但是求和操作不符合我的要求…
temp = alpha/m*sum(bsxfun(@times, (X*theta-y), X))
theta = bsxfun(@minus, theta, temp)
你需要一个矩阵乘法来矢量化它
可能:
theta = theta - alpha/m*(X'*((X*theta)-y))