-
y值没有对应的y0、y1....
- 我对利用梯度下降法theta进行更新的理解:如果用向量进行表示的话应该是theta = theta - alpha/m((Xtheta - y)'X)' (1)
theta = [theta0;theta1;...]
X也是训练数据矩阵,y是结果矩阵
即得到mx1矩阵;
而后下图红框中的值表示成向量的话就,即X(:,1),这个表示对应的m个x0值、X(:,2),这个表示对应的m个x1值、X(:,3),这个表示对应的m个x2值 ,这三个矩阵都是mx1的矩阵,而 (Xtheta - y)'X(:,1)相当于
注意:matlab中矩阵下标是从1开始的,那么theta0 、theta1、theta2同时更新的话,即可表示为矩阵theta的更新,如上式(1)所示,各个theta值的更新是通过迭代次数不同而不断发生变化,直至达到设定好的迭代次数或者 J 的值达到某一小的程度。
但是!却一定不能这样写:
因为当更新完theta(1)后,式子2红框中的theta是已经更新了theta(1)而theta(2)并没有变,所以theta(2)相当于是在theta(1)的基础上更新的,故并不是没有同时更新theta(1)、theta(2)