1 概念

基于单变量的线性回归模型,如果我们加入更多的特征/参数,如之前提到的房屋预测模型,除面积外,还可添加卧室数量,房屋朝向,楼层......影响因子,那我们的假设可以更新为如下:

                                          四: 多变量线性回归

设X0为1,那么我们的参数以及每一条训练样本数据均为n+1维向量,特征矩阵维m*(n+1)维的矩阵;公式可以简化为:

                                           四: 多变量线性回归

 

2 多变量梯度下降

step1:构建代价函数

                  四: 多变量线性回归

step2: 求解

依然按照梯度下降算法原理计算

            四: 多变量线性回归

循环收敛到目标值

 

 

3 特征缩放

当我们选取多个特征的时候,需要考虑到使多个特征具有相近的尺度,这样有利于误差函数更好的收敛;

如房价预测的例子,我们选取特征1面积属于0~2000,特征2卧室数量0~5,因为两个特征尺度差比较大,绘制登高线后会发现图形非常的扁(如下),需要收敛多次才能到达最低位置;可以采用如图方法做特征缩放来得到更好的模型;

     四: 多变量线性回归

通常情况下,可以使用如下公司做特征处理;

                    四: 多变量线性回归    其中Xn 是平均值, sn 是标准差。

 

4  学习率

学习率可以控制我们的步长,当学习率太小,可能会导致迭代次数非常多,当学习率太大,可能会导致迭代后没有减小代价函数跳过最低点从而导致在局部无法收敛,通常可考虑尝试如下学习率:

α=0.01, 0.03, 0.1, 0.3, 1, 3, 10

 

5 特征与多项式回归

很多时候线性模型无法精准的描述数据的走势,曲线图能更好的拟合,针对这种情况,我们可以对已经存在的特征做多项式处理,提取新的特征,这样依然可以以线性模型的思路去解决问题,但实际上模拟的曲线已经转化为更贴近实际的曲线图;

如房价预测示例:

设X1=frontage(临街宽度), x2=depth(纵向深度) , x=frontage*depth=area(面积) ,

则:四: 多变量线性回归

 

6  正规方程

线性回归算法求解之正规方程(矩阵)

推导过程:

四: 多变量线性回归

函数调用参考:pinv(X'*X)*X'*y

 

7  梯度下降与正规方程对比

四: 多变量线性回归

 

8  不可逆性

即奇异/退化矩阵,通常正规方程求解无逆有以下两种情况:

1 特征间存在相关联性,可对冗余特征做删除处理等

2 使用较小的样本数量去计算较多的特征参数,可使用正则化的线性代数方法处理

pinv可流程准确的求得违逆,尽管可能不可逆,inv求矩阵逆;

 

 

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

文章内容学习整理于吴教授公开课课程与黄博士笔记,感谢!

 

 

 

相关文章: