多变量线性回归

一、多维特征

1.1 引入

对房价模型增加特征,如房间数楼层等,构成一个含有多个变量的模型,模型中的特征为(x1,x2,…,xn
多变量线性回归

1.2 几个变量

① n:特征的数量
② x(i):第i个训练实例,即特征矩阵中的第i行,例如:多变量线性回归

③ xj(i):特征矩阵中第i行第j个特征,即第i个训练实例的第j个特征,例如多变量线性回归

1.3 多变量公式

支持多变量的假设h表示为:
多变量线性回归
为使公式简化,引入x0=1,此时模型中的参数是一个n+1维的向量,多变量线性回归
即特征矩阵X的维度是m*(n+1),公式化简为
多变量线性回归

二、多变量梯度下降

2.1 构建代价函数:

多变量线性回归
其中:多变量线性回归

2.2 多变量线性回归的批量梯度下降算法

多变量线性回归
求导数后得到:
多变量线性回归
当n≥1时,
多变量线性回归
随机选择一系列参数值,计算所有预测结果,再给所有的参数一个新的值,循环直到收敛。

三、梯度下降实践——特征缩放

面对多维特征问题时,要保证特征具有相近的尺度,帮助梯度下降算法更快收敛。

3.1 提出问题

假设房价问题具有两个特征,房屋尺寸和房间数量,
房间尺寸的值为0-2000平方英尺,
房间数量的值为0-5,
以两个参数分别为横纵坐标,绘制代价函数等高线图,可以看出图像很扁,梯度下降算法需要很多次迭代才能收敛
多变量线性回归

3.2 解决方案

尝试将所有特征的尺度缩放到-1~1之间。
最简单的方法是令:
多变量线性回归
其中μn是平均值,sn是标准差

四、梯度下降实践——学习率

通过绘制迭代次数和代价函数的图表来观测算法在何时趋于收敛
多变量线性回归
梯度下降算法每次迭代受学习率的影响。
①学习率α过小,达到收敛所需的迭代次数很高。
②学习率α过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。

可以考虑尝试的学习率α:
0.01,0.03,0.1,0.3,1,3,10

五、特征和多项式回归

以房价预测问题为例
多变量线性回归
x1 = frontafe(临街宽度)
x2 = depth(纵向深度)
x = frontafe * depth = area(面积)
则:
多变量线性回归
或者二次方模型:
多变量线性回归
三次方模型:
多变量线性回归
多变量线性回归
根据函数图形特征,还可以使:
多变量线性回归

注:若采用多项式回归模型,在运行梯度下降算法前,特征缩放非常有必要

六、正规方程

正规方程通过求解下面的方程来找出使得代价函数最小的参数多变量线性回归
假设训练集特征矩阵为X(包含x0=1),并且训练集结果为向量y,利用正规方程解出向量多变量线性回归

上标T代表矩阵转置,上标-1代表矩阵的逆

设矩阵A=XTX,则(XTX)-1=A-1
例如:
多变量线性回归
即:
多变量线性回归
用正规方程求解参数:
多变量线性回归

在Octave中,正规方程写作:pinv(X’X)X’y

对于不可逆矩阵,正规方程方法无法使用。
不可逆矩阵:
①特征之间不独立,同时包含多种不同尺寸的特征
②特征数量大于训练集的数量

总结:
特征变量的数目不大(小于一万)——标准方程

七、正规方程及不可逆性

7.1提出问题

正规方程多变量线性回归
θ=inv(X’X)X’y中X’X结果不可逆

7.2不可逆矩阵

不可逆矩阵也成为奇异或退化矩阵。

7.3产生原因

①特征之间不独立,同时包含多种不同尺寸的特征
例如:在预测住房价格时,x1是以英尺为尺寸规格计算的房子,x2是以平方米为尺寸规格计算的房子,这样,两个特征值始终满足约束:x1=x2(3.28)2

②特征数量大于训练集的数量
当尝试从10个训练样本中找到满足101个参数的值,这工作会花费很长的时间。通常,会使用一种叫做正则化的线性代数方法,通过删除某些特征或者使用某些技术解决该问题

7.4解决方法

①删除无用特征
②当特征线性相关时,删除两个重复特征中的其中一个
③删除较少使用的特征

在Octave中,可以用伪逆函数pinv()来实现,即使X’X的结果不可逆,但算法执行的流程是正确的