多元线性回归方程

你想要的科技知识,这里都有!

——索奥

在上周,机器学习小组带你学习了线性回归方程,本周,我们将深入学习适用于多个变量的回归方程——多元线性回归方程。

在之前的学习中,我们举了以面积作为变量来预测住房价格这个例子。在实际中,住房价格不仅与住房面积有关,还与楼层、房间数量、使用年份等许多因素有关,因此为了综合考虑这些因素,更加准确地预测住房的价格,我们使用多元线性回归方程。

多元线性回归方程

多元线性回归方程:

我们定义x0 = 1 , 并用矩阵表示上式:

现在,回归方程有了,那我们如何通过这一方程找到我们所需的值?这就要用到梯度下降法了。

梯度下降法:

为尽快让你理解,现假设现有多元线性回归,并约定 x0=1,该模型的参数是从 θ0 到 θn ,不要认为这是 n+1 个单独的参数,你可以把这 n+1 个 θ 参数想象成一个 n+1 维的向量 θ,所以,你现在就可以把这个模型的参数想象成其本身就是一个 n+1 维的向量,我们的代价函数是从 θ0 到 θn 的函数 J 并给出了误差项平方的和。同样地,不要把函数 J 想成是一个关于 n+1 个自变量的函数,而是看成带有一个n+1 维向量的函数,这就是梯度下降法,我们将会不停地用 θj 减去 α 倍的导数项来替代 θj,同样的方法,我们写出函数J(θ)。因此 θj 被更新成 θj 减去学习率 α与对应导数的乘积,就是代价函数的对参数 θj 的偏 倒数。

提高梯度下降的效率

如果你有一个机器学习问题,这个问题有多个特征,如果你能确保这些特征,都处在一个相近的范围,这样梯度下降法就能更快地收敛了。

具体地说,假如你有一个具有两个特征的问题,其中 x1 是房屋面积大小,它的取值在0到2000之间,x2 是卧室的数量,这个值取值范围在1到5之间。如果你画出代价函数 J(θ) 的轮廓图,那么这个轮廓看起来 ,应该是像这样的,J(θ) 是一个关于参数 θ0 θ1 和 θ2 的函数,但我暂时不考虑 θ0 ,并假想一个函数的变量只有 θ1 和 θ2 ,但如果 x1 的取值范围远远大于 x2 的取值范围的话,那么最终画出来的代价函数 J(θ) 的轮廓图就会呈现出这样一种非常偏斜并且椭圆的形状,就是这些非常高大细长的椭圆形构成了代价函数 J(θ),而如果你用这个代价函数来运行梯度下降的话,你要得到梯度值最终可能需要花很长一段时间,并且可能会来回波动,然后会经过很长时间,最终才收敛到全局最小值。

事实上,你可以想像,如果这些轮廓再被放大一些的话,如果你画的再夸张一些,把它画的更细更长,那么可能情况会更糟糕,梯度下降的过程,可能更加缓慢,需要花更长的时间,反复来回振荡,最终才找到一条正确通往全局最小值的路。

特征缩放

在这样的情况下,一种有效的方法是进行特征缩放(feature scaling)。具体来说,把特征 x 定义为房子的面积大小除以2000的话,并且把 x2 定义为,卧室的数量除以5。那么这样的话,表示代价函数 J(θ)的轮廓图的形状就会变得偏移没那么严重,可能看起来更圆一些了。如果你用这样的代价函数,来执行梯度下降的话,这样你得到的梯度下降算法,就会更快地收敛。

更一般地,我们执行特征缩放时,也就是我们经常,我们通常的目的是将特征的取值约束到 -1到 +1的范围内。你的特征 x0 是总是等于1,因此,这已经是在这个范围内,但对其他的特征,你可能需要通过除以不同的数,来让它们处于同一范围内 -1 和 +1。

好了,这一期的教学就到这里,请关注机器学习小组下一期的专栏哦~

参考资料:机器学习|Coursera 课程

文案:董尧涵(机器学习小组)

排版:齐耀东(宣传部)

校对:傅叶雯

审核:杨雨谋

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181203G1BN9200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励