梯度下降法后知后觉

  1. y值没有对应的y0、y1....


    Paste_Image.png
Paste_Image.png
  1. 我对利用梯度下降法theta进行更新的理解:如果用向量进行表示的话应该是theta = theta - alpha/m((Xtheta - y)'X)' (1)
    theta = [theta0;theta1;...]
    X也是训练数据矩阵,y是结果矩阵

Paste_Image.png
可以表示为(Xtheta - y)
即得到mx1矩阵;
而后下图红框中的值表示成向量的话就,即X(:,1),这个表示对应的m个x0值、X(:,2),这个表示对应的m个x1值、X(:,3),这个表示对应的m个x2值 ,这三个矩阵都是mx1的矩阵,而 (X
theta - y)'
X(:,1)相当于
Paste_Image.png
最终得到的是一个数值。
注意:matlab中矩阵下标是从1开始的,那么theta0 、theta1、theta2同时更新的话,即可表示为矩阵theta的更新,如上式(1)所示,各个theta值的更新是通过迭代次数不同而不断发生变化,直至达到设定好的迭代次数或者 J 的值达到某一小的程度。
Paste_Image.png

Paste_Image.png

但是!却一定不能这样写:


Paste_Image.png

因为当更新完theta(1)后,式子2红框中的theta是已经更新了theta(1)而theta(2)并没有变,所以theta(2)相当于是在theta(1)的基础上更新的,故并不是没有同时更新theta(1)、theta(2)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容