Machine Learning:Linear Regression With Multiple Variables

Machine Learning:Linear Regression With Multiple Variables

      接着上次预测房子售价的例子,引出多变量的线性回归。



       在这里我们用向量的表示方法使表达式更加简洁。



         变量梯度下降跟单变量一样需同步更新所有的theta值。

        进行feature scaling的原因是为了使gradient descent算法收敛速度加快。如下图所示,左图theta2与theta1的量级相差太大,这样导致Cost Function的等高图为一个细高的椭圆形状,可以看到其收敛轨迹,这样太慢!右图为进行过feature scaling的等高图,theta的取值范围相似,加快了收敛速度。

        feature scaling的进行没有一个严格的准则,只需要使各个feature的取值范围相近即可。

       这里介绍了一个feature scaling的方法,X(i)=(X(i)-average(X))/(max-min)。当然其他方法也可以只要使feature的范围合理即可。

       此外,当我们对training set里的training data进行feature scaling后,在我们进行预测的时候,对于一个新来的example也需要进行同样方法的scaling,也就是说我们需要保存一些数据如average(X),max,min等。

     下面重复一下Learning rate的选择问题。






        polynomial阶数的选择也是需要考虑的问题,因为这关系着under-fitting(欠拟合)和over-fitting(过拟合)的问题,我们会在后序文章中进行讨论。


    下面我们介绍一种不需要进行很多次迭代就可以求出最优theta的方法:normal equation(正规方程)。



下面附上一段证明J(theta)的过程。

然后令J(theta)=0,便可以得到上述式子。

上面的内容比较了梯度下降和正规方程的优缺点。

如果X’*X不可逆(即|X’*X|=0),那么我们应该如何处理?





         ------------------------------------------------------------------------------------------------------------------

    本内容摘自斯坦福大学Andrew Ng老师《机器学习》课件


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。