跟着吴恩达学习机器学习 5多变量线性回归

1 多维特征

在之前的单变量问题中,考虑的是房子的面积对房价的影响,实际上,地理位置、楼层、房子的卧室数量等都会对价格有影响。
在这里插入图片描述
上图中分别列举了楼层等其他影响对价格的影响,每一行数据表示多变量作用的房子价格。
在这里插入图片描述Xi表示特征矩阵的第j行(从1开始),j表示第j个训练实例的的特征,也就是表示第i行的第j的特征,如第二行的第三个特征就是2。
多变量的预测h(x)如:
在这里插入图片描述
模型中的参数是一个n+1维的向量,则任何一个训练实例也都是n+1维的向量,特征矩阵X的维度是 m*(n+1)。
因此公式可以简化为下图,其中上标T代表矩阵转置。
在这里插入图片描述

2 多变量梯度下降

多变量的代价函数和单变量一样,代价函数是所有建模误差的平方
在这里插入图片描述
那么,这儿的目的就是找到使得代价函数值最小的一系列参数。
则多变量的梯度下降算法为:
在这里插入图片描述
进行替换后也就是:
在这里插入图片描述
求导后可得(将公式化简后)
在这里插入图片描述
那么,这些参数就可以的到
在这里插入图片描述
这只是θ1的例子,θ0、θ2到θn都是如此。
所以需要随机选择一系列的参数值作为初始值,计算所有的预测结果后,再给所有的参数一个新的值,如此循环直到收敛。

3 梯度下降法特征缩放

在面对多维特征的时候,要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛。
以房价问题为例,假设我们使用两个特征,房屋的尺寸和房间的数量,尺寸的值为 0-2000 平米,而房间数量的值则是0-5,以两个参数分别为横纵坐标,绘制代价函数的等高线图能,看出图像会显得很扁(如下图),梯度下降算法需要非常多次的迭代才能收敛。
在这里插入图片描述
那么,为了解决个特征值不均衡的情况,解决的方法是尝试将所有特征的尺度都尽量缩放到-1到1之间。
下图就解决这个问题给出了详细的办法。
在这里插入图片描述
左边是特征值不均衡的情况(x1表示房间的大小0-2000平米,x2表示房间1-5个),右边是都把特征值缩放在一定值得范围内。右图的x1x2明显是进过公式计算得到。此公式如下。
在这里插入图片描述
中是μn表示的是平均值,sn是最大值-最小值(2000-0,5-0),当然这个sn也可以是标准差。
标准差=方差的算术平方根=s=sqrt(((x1-x)^2 +(x2-x)^2 +…(xn-x)^2)/n)。

4 梯度下降法-学习率

学习率的大小影响着loss函数的变化,一般在0.01-0.001,一个正常的loss函数值变化如下图。
在这里插入图片描述
梯度下降算法的每次迭代受到学习率的影响(可以通过看函数的变化得到是否收敛的信息),如果学习率α过小,则达到收敛所需的迭代次数会非常高,则代价很大;如果学习率α过大,每次迭代可能不会减小代价函数,(loss函数的值表现会类似一个余弦函数的【0,正无穷的】,下图就是学习率设的过大的表现情况,loss值在左右晃动的情况下,一直在增大(右图)),可能会越过局部最小值导致无法收敛。当然,选取一个合适的学习率是很麻烦的。
在这里插入图片描述

5 特征和多项式回归

线性回归并不适用于所有数据,有时我们需要曲线来适应我们的数据,比如一个二次方模型和三次方模型:
二次方 三次方
下图的原始数据就不适合线性模型
在这里插入图片描述
通过下面的方法可以将高次方的转换为线性模型
在这里插入图片描述
将x2、x3带入三次方程,可得线性模型函数。

6 正规方程

除了梯度下降的方法求损失函数的最小值外,还可以通过正规方程求解。
在这里插入图片描述
对于这个一元二次方程,我们可以很熟练的知道它的最小值是多少,并且求出来。当然不能使高中的方法,这里我们对参数求偏导,公式如下。
在这里插入图片描述
假设我们的训练集特征矩阵为 X(包含了 x0=1)并且我们的训练集结果为向量 y,则利用正规方程解出向量。需要对每一个参数求偏导。
在这里插入图片描述
给出例子,第一个特征都是1,是把常规理解的常量参数置为1
在这里插入图片描述
整理到表中
在这里插入图片描述
上图就是x矩阵的表示,我们可以得到x矩阵的转置,然后得到x矩阵x矩阵的转置的结果进行矩阵的逆,再x的转置,再*y。
什么时候使用梯度下降,什么时候又使用正规方程去求得损失函数的最小值值呢。
在这里插入图片描述
只要特征变量的数目并不大,标准方程是一个很好的计算参数θ的替代方法。具体地说,只要特征变量数量小于一万,可以使用标准方程法,而不使用梯度下降法。
但是这么久。我目前没有使用过正规函数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值