有没有更好的方法来写这个?更具体地说,有没有办法删除循环并直接计算grad
而不迭代?
for j = 1:size(theta)
grad(j) = 1 / m * sum((h - y) .* X(:, j));
endfor
h
和y
都是向量,X
是一个矩阵,其行数与任意行数相同,列数与theta
相同
答案 0 :(得分:0)
您的代码似乎已经过优化。
唯一的另一种方式;这段代码可以写;将grad初始化为零矩阵,然后使用矢量化计算执行必要的Grad。下降优化算法。