入门机器学习(二)--多变量线性回归

1. 多维特征

对于房子来说,房子的大小,房间数,楼层,房领等特征都是影响房价的因素,这些称为多维特征。

如下图所示:

其中,

表示的是第i个样本中的第j个特征。

多变量线性回归的假设函数可以表示为:

对上式进行简化,另x0=1,则特征矩阵X以及系数矩阵θ可以表示为:

   

则假设函数可以被表示为:

2. 多元梯度下降法

假设函数为:

其中x0=1

代价函数为:

梯度下降的迭代公式为:

对于多元变量线性回归的迭代公式,其梯度下降的公式可以更具体的表示为:

举例:

一个特征缩放的方法:

如果特征之间数量级相差过大,应该对特征进行相应的缩放,缩放的方法是归一法,即(样本值-最小值)/(最大值-最小值),这样会将特征的值的范围缩放到0~1之间

特征缩放可以使梯度下降的更快以及收敛所需要的迭代次数更少。

一些多元梯度下降过程中的技巧:

根据代价函数的曲线来判断梯度下降法是否正常工作,正常的代价函数曲线是如下所示的逐步递减的曲线。

如果代价函数曲线如下所示,说明梯度下降没有正常工作,请尝试用更小的学习率

如果代价函数如下所示,说明学习率比较大,请尝试更小的学习率

如果代价函数如下所示,也请尝试更小的学习率

学习率可以从以下值尝试:...,0.001,0.01,0.1,1

3. 特征和多项式回归

线性回归并不适应与所有的数据,比如下图的数据

这是一个非线性的数据,可以假设目标函数为:

或者

后者曲线在自变量变大的时候不会下降,会趋于平滑

这样就可以将梯度下降法就可以用作在非线性回归中。

4. 正规方程

相对于梯度下降法的多次迭代,正规方程的方法,可以直接一步求出最优的参数,其方程为:

其中θ为系数矩阵,X为特征矩阵,正规方程适用的前提是X的转置与X的乘积是可逆的。

梯度下降法和正规方程的区别:

如果正规方程不可以逆怎么办?

可以使用各个工具中的伪逆函数进行计算,例如Octave中的:pinv(x'*x)*x'*y

正规方程不可逆通常出现的原因有以下两个:

有冗余的特征,比如特征中同时有一个房屋的面积和长宽(面积可以通过长宽表示出来)

特征数>=样本数