让gradient descent成本函数
有以下定义
将假设函数定义为
我提出的多变量线性回归是
theta = theta - alpha * 1/m * ([theta', -1]*[X';y']*X)';
h_theta = 1/(2*m)* (X*theta - y)'*(X*theta-y);
(八度音符,'
表示矩阵转置,[A, n]
表示向标量值为n的矩阵A添加新列,[A; B]
表示将矩阵B附加到矩阵A行-wise)
我正确地完成了它的工作我可以告诉它(情节看起来还不错),但我有一种强烈的感觉,它不必要地复杂。
如何使用尽可能少的矩阵运算来编写它(当然没有元素操作)?
答案 0 :(得分:1)
我不认为这是不必要的复杂,而是你想要的。矩阵运算很好,因为您不必自己循环元素或执行元素操作。我记得在网上上课,我的解决方案看起来很相似。
答案 1 :(得分:0)
你拥有它的方式是最有效的方式,因为它是完全矢量化的。它可以通过在求和上使用for循环来完成,但是这在处理能力方面效率非常低。