Machine Learning:Linear Regression With Multiple Variables
Machine Learning:Linear Regression With Multiple Variables
接着上次预测房子售价的例子,引出多变量的线性回归。
在这里我们用向量的表示方法使表达式更加简洁。
进行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)的过程。
上面的内容比较了梯度下降和正规方程的优缺点。
如果X’*X不可逆(即|X’*X|=0),那么我们应该如何处理?
------------------------------------------------------------------------------------------------------------------
本内容摘自斯坦福大学Andrew Ng老师《机器学习》课件
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。