多元线性回归


机器学习

提示:该文是基于吴恩达老师机器学习视频总结:


一、多特征

在前面学习线性回归中,只有一个特征。但是在实际生活中,我们还会考虑许多因素,因此通常会使用到多元线性回归。在这里,我们依然使用房价数据,但是在前面的基础上,增加了多个特征进行房价的预测。具体如下图:
在这里插入图片描述

符号定义:
n代表数据的特征数量,这里n=4,分别代表卧室数量、房屋层数,建筑年长和面积
m依然代表训练集样本个数
x(i)代表第i个样本,既可以表示为一个向量。
x(i)j代表第i个样本的第j个特征值

在这里插入图片描述

因此我们也需要引入新的假设函数hθ(x),我们也可以用向量内积的概念将函数化简

二、多元梯度下降算法

其实多元梯度下降算法和的一元梯度下降算法的原理是一样的。
代价函数如下图:
在这里插入图片描述
而且一元和多元在梯度下降方面,可以发现原理其实是完全一样的,如下图:
在这里插入图片描述

1.特征缩放

在进行多元的梯度下降时,如果各个特征的取值范围比较相近,那么梯度下降的收敛速度会比较快。如果各个特征的取值范围差异较大,那么梯度下降的收敛过程就会比较缓慢。
比如下面这个例子,由于房屋面积和卧室数量2000:5这个差距过大,会使代价函数J(θ)这个等值线被拉长,因此梯度下降就很缓慢。

在这里插入图片描述
在这种情况下,一种有效的方式就是进行特征放缩。通过对特征值做除法,使得不同特征值之间的范围相差较小。
在这里插入图片描述
对于梯度下降,特征的取值范围最好是位于[-1,1]之间。其实在[-1,1]之间也是可以的,例如不会超过3,或者不低于1/3都是可以的。

对于上面的采用数值除以最大值的方法进行缩放,其实还有一些其他的方法。例如我们有时也会进行一个称为均值归一化的工作,通过均值归一化,可以使得我们进行梯度下降的时候能够收敛的更快。
具体注意点如下:
1、 通常会使用特征xi减去该特征的均值ui,也就是xi-ui。这样做的目的是为了让你的特征值范围经过0点这个值。
2、对于x0是不需要进行变换的,因为不可能使得具有为0的平均值
更一般的规律如下图,Si=当前特征最大值-当前特征最小值,xi代表当前特征的原数值,ui代表当前特征的原数值的平均值。当然Si也可以用当前特征的标准差来代替。

在这里插入图片描述

2.学习速率

我们通常会绘制一幅图来确定我们是否正确运行梯度下降,我们期望得到类似于下图的结果,如下图。当我们发现J(θ)下降幅度不大的时候,就差不多是收敛了。
在这里插入图片描述
接下来我们就讨论一下学习速率α不同的情况。
第一种情况就是当学习速率α过大:
在这里插入图片描述
或者出现起起伏伏的情况:
在这里插入图片描述
这些都是学习速率过大导致的。
当然,当学习速率过小时,则会使收敛速度过于缓慢。

三、构建新特征和多项式的回归

现在假设我们要对房价进行预测,现有训练集中有房子占地的长度和宽度两个特征。如果利用我们前面学到的知识,我们很容易想到利用这两个特征构建一个二元线性回归来预测房价,如下图。
在这里插入图片描述
此外,我们也可以从不同的角度看待这个问题。例如我们可以通过房子的面积来预测房价,我们通过构建一个新的特征area。从而构造一个一元的线性回归进行预测房价,如上图函数hθ(x)=θ0 + θ1x 。

对于下面的训练集,很明显不适合使用直线进行拟合,因此我们可以考虑使用二次多项式,三次多项式进行拟合。同时我们也会发现特征的缩放就显得尤为重要。

在这里插入图片描述

四、正规方程

到目前为止,我们都是一直通过梯度下降算法求解最优的θ,这一小节就会学习另一种求最优θ的方法,也就是正规方程的方法。正规方程的方法无需进行迭代,可以直接求得最优的θ。

现在我们假设代价函数J(θ)如下图:我们可以通过利用求导的方式求一个函数的极值点,如下图二次函数的最低点。我们对其进行推广,拓展到代价函数中,通过计算求偏导,分别令导函数等于0,也可以求得结果。
在这里插入图片描述
由于求导过程过于复杂,我们引入正对方程。
在这里插入图片描述
首先引入一个含有4个特征值案例,我们首先要做的是在数据集中加上一列,对应额外的特征变量x0,它的取值永远是1。第二步是将上表中的数据填写到矩阵中,如上图所示。第三步就是通过计算θ = (XTX)-1XTy 公式,直接求出最优的θ。并且对于使用正规方程法求最优θ,是不需要进行特征缩放的。

后对于梯度下降和正规方程进行对比,主要有以下几个方面:
1.梯度下降的缺点就是需要选择学习率α,并且需要进行多次迭代。而正规方程则可以直接计算得到结果。
2.但是梯度下降法也会存在一些优点,就是对于特征数量n特别大的情况也是能够非常好工作的。
3.而正规方程法在特征数量n很大的情况下,由于要计算(XTX)-1,所以计算量会变得很大,就会工作的非常慢。
4.因此,通常如果特征数量n小于10000,那么会选择正规方程,这样计算更加快速。当大于10000时,则通常会使用梯度下降算法。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值