2013-05-06 88 views
1

要有gradient descent成本函数矢量或和矩阵运算

enter image description here

的定义为

enter image description here

的设定功能如下定义是什么,我拿出对于多元线性回归是

theta = theta - alpha * 1/m * ([theta', -1]*[X';y']*X)'; 
h_theta = 1/(2*m)* (X*theta - y)'*(X*theta-y); 

(八度音阶符号,'表示矩阵转置,[A, n]意味着增加一个新列矩阵A与标值n,[A; B],追加矩阵B为矩阵逐行)

它是正确的如何做的工作远远我可以告诉(情节看起来好),但是我有强烈的感觉,这是不必要的复杂。

如何使用尽可能少的矩阵操作来编写它(当然没有元素操作)?

回答

1

我不认为这是不必要的复杂,而是这是你想要的。矩阵操作很好,因为您不必自行循环元素或执行元素操作。我记得在线学习课程,我的解决方案看起来很相似。

0

你拥有它的方式是最有效的方式,因为它是完全向量化的。可以通过对求和等进行for循环来完成,但是在处理能力方面这是非常低效的。