首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

线性篇-A0:距离与最小二乘法矩阵形式

感谢微信公众号,可以记录自己的一些东西233。

今天想写的是线性回归中的最小二乘法。

我们先看看线性回归在干什么,假设现在我们收集了一份数据,里面有我们想预测的变量y和很多自变量xi,我们现在希望用xi的线性组合形式来得到一个预测y的方程:

y = b + k1x1+ k2x2+ ~ +kmxm(1)

(我们假设收集了m个自变量)

为什么是线性的,首先当然是因为它最简单最容易找到解释意义,其次这种形式在现实也是最常见的。比如天气温度上升一度,当天冰淇淋销量增加的量是多少(个)。在一个合理的范围内我们是可以认为温度每上升1度冰淇淋销量增加k个的(即这种来自气温的影响是等量的,不是说气温由26升到27度时销量增加120个,但27度升到28度时销量就增加150个,而是与变化时的气温没关,只与气温变化量的大小有关)

那再看回(1)式,此时我们是认为xi每变化一个单位,关心的y就会增加ki个单位。而且,m个自变量间对y的作用是独立的。

但是假设y的确服从上面的等式由m个自变量所决定,在实际收集y的数据时一个重要的情况就是收集到的数据不一定恰好是那个观察的真值。就像我们通过考试评价自身的学习水平,也会出现成绩忽高忽低的情况。这时候建立的公式(1)和实际收集到的y就会出现偏差了!(注意,这还是假定y的真值与m个自变量之间的关系的确是线性的前提,实际上m个自变量不一定就能完全决定y的真值)

那我们当然是希望预测的ŷ和实际的y越靠近越好啊,此时如果有n个人,我们就收集到n个y的观察值,同时通过上面的那个预测方程我们又能算出n个预测值ŷ。因为我们假定这n个人都是随机收集得到的,当然在分析两个y之间的差值时不能厚此薄彼,大家都应该处于同等的地位才对。

这个时候距离就很自然的出来为我们服务啦,想想我们以前学习的平面上的距离和空间上的距离,最常见的是用的勾股定理求出点的距离。

推广到n维空间,点X和点Y的距离就可以通过以下公式来求得(这个求出来的值也叫X和Y的欧几里得距离)

另外,我们评价预测的ŷ和实际的y吻不吻合,实际上就是对模型(1)的预测效果进行评价。我们把预测的ŷ和实际的y之间的差距理解为这个线性回归模型做的不够好的地方(预测的和真实的应该越相近越好),也可以看做对于真实的y而言,使用预测模型预测的ŷ来替代的话造成的损失(损失掉一部分信息了)。那么怎么衡量这个损失,最常用的就是这个欧几里得距离了。

现在我们可以这样看,考虑一个n维欧几里得空间Rn,现在有点y和ŷ,我们想要它们之间的距离达到最小化。因为如果按照欧几里得距离的计算公式,y和ŷ的距离最小,那么此时这个模型的损失就是最小的。

然后要注意的是,ŷ-b是一个n维的向量,上面说到的m个自变量也是n为的向量(收集了n个人嘛),同时满足(1)式,此时我们就能说:

”ŷ-b可以被x1~ xm线性表达”

讲到线性表达,一个例子就是我们常见的二维向量(a,b),实际上可以有(0,1)和(1,0)通过线性组合的方式表达:

(a,b)= a*(1,0) + b*(0,1)

(先往右走a米,再往上走b米,就等价于从原点直接走到点(a,b)的位置)

所以实际上在R2中的任意一个向量(x,y)都是由(0,1)和(1,0)两个向量线性组合而成,我们就可以将R2成为由(0,1)和(1,0)张成(生成)的空间。

同样的道理,x1~ xm也可以张成一个m维的空间(不一定是m维,如果出现共线性情况的话),这个空间里的任意一个元素都能被x1~ xm线性表出,ŷ-b就是这个空间里的其中一个元素(因为它也能被x1~ xm线性表出)

所以求解线性回归的问题就转换成了:

在Rn中,寻找x1~ xm张成的子空间V中的一个点,使得该点与y-b点的欧氏距离达到最小。

(在我能到达的范围里找到离你最近的地方233)

而距离达到最小,实际上就是y-b点与其在子空间V上的投影的距离,此时y-b分解成垂直于空间V的向量β与可以由V线性表出的向量α。

同时可以找到唯一的组合k1~km,满足

α= k1x1+ k2x2+ ~ +kmxm

(与(1)式相比没有截距项b,可以理解成数据先经过中心化操作了,真实值y被预先挪动了b个单位)

———————分割———————

(以下内容需要线性代数知识)

b= (k1,k2,…,km),现在要求解向量b使得损失最小。(这个b不是上面的b啊!)

注意到有Xb=α,可以由此式得到b(α我们没有,但是可以用y替代,见下面)

求解Xb=α就可以等价变为求解Xb = y,因为:

Xb

XTXb= XTα

b= (XTX)-1XTα

b= (XTX)-1(XTα+ XTβ)

←β垂直于子空间V,

XT的每一行即一个变量xi,

即有xiTβ= 0,XTβ= 0m*1

b= (XTX)-1XT(α+β)

b= (XTX)-1XTy

当然,可以使用求导的方式得到极值时b的值,详见:

https://blog.csdn.net/monsterhoho/article/details/46753673

但是我觉得那样没有这样浅显,因为我们是知道α的确是能有xi线性表出的,因此方程组Xb=α的确有非零解,使用b= (XTX)-1XTy作为解的形式是因为在计算过程中可以发现y剥离的一部分可以消去而保留α向量的部分(而y是我们能拿到的而α是不能直接拿到的)。如果直接用导数,就把式子转化为一个函数的极值问题,也就找不到这些能帮助理解回归模型的东西啦(虽然这种转化归并的方式才是最常见的方式)。

总结,最小二乘法是向量y-b到子空间V的投影问题;也即是寻找系数向量b,使得Xb线性组成的向量ŷ-b与y-b(也就是ŷ与y啦)距离最小的问题,距离最小的点对应与y在子空间V中的投影,此时y可表示为α+β且有α⊥β,借助此性质可以得到最小二乘法矩阵形式的解b= (XTX)-1XTy

但是,现实总是不会那么完美,上面的讨论都是建立在m个自变量间相互独立的前提下的,然而当①变量间存在相关性;②数据是高维数据时;都会造成矩阵(XTX)不可逆无法由求逆方式得到ŷ(有无穷多个解),或者(XTX)行列式的值很小导致最终结果不稳定。这是如何处理就是我们有机会要讲的岭回归和lasso回归啦。

本次内容就到这里啦,谢谢坚持看到这一句的你。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180731G0LKNG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券