入门机器学习(二)--多变量线性回归
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
正规方程不可逆通常出现的原因有以下两个:
① 有冗余的特征,比如特征中同时有一个房屋的面积和长宽(面积可以通过长宽表示出来)
② 特征数>=样本数