两个版本理解最小二乘
目录
1 从纸面上粗浅理解
最近需要用到最小二乘法,尽管一直知道通过matlab直接就能实现,但是具体做法以及推导过程不清楚,心虚,以此博文记录一下。
回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。对于二维空间线性是一条直线;对于三维空间线性是一个平面,对于多维空间线性是一个超平面。 [4]
最常用的是普通最小二乘法( Ordinary Least Square,OLS):所选择的回归模型应该使所有观察值的残差平方和达到最小。(Q为残差平方和)- 即采用平方损失函数。
步骤:
1、样本回归模型:
2、平方损失函数
3、 Q对两个待估参数的偏导数
4、解方程
求得使平方损失函数取得极值点的那两个系数。这是一次线性回归问题。
使用向量表示OLS(Ordinary Least Square, 普通最小二乘法),则有:
XTXβ=XTy
也即:
β=(XTX)-1XTy
其中是最小二乘估计的线性回归系数。
也就是说,通过原始的散点(Xi,Yi),计算得到的是系数向量 ,再进行计算时,使用向量
与X相乘,即可得到Y。
最小二乘法在OMP稀疏恢复算法中有用到。
2 从几何意义上深入理解
很多拟合问题最终都可以归结为Ax=b的形式,比如,我们用传感器得到一组数据,例如,时刻t1=1,温度f是5,时刻t2=2,温度是8,时刻t3=3,温度是15,时刻t4=4,温度是16,那么(t,f)可以总结为(1,5),(2,8),(3,15),(4,16)。假如我们经验认为,温度和时刻是一次函数,也就是:
f=x1+x2*t
代入数据后,写成Ax=b的形式:
(1)
这里v1 v2 b是列向量,x1,x2是标量,就是一个实数。
这里的限制方程有4个,自变量只有两个,如果任意两个等式之间不存在倍数关系,或者不是线性关系,那么这个方程的解析解是不存在的,也就是精确的解是没有的,因为是超定方程。或者这样理解,把A看做是基向量,b是通过v1=[1 1 1 1]T和v2=[1 2 3 4]T这两个列向量线性叠加而来,系数分别是x1 x2。可以想象,由这两个列向量的任意组合的集合,将会张成一个类似于平面的超平面S。
当然,如果这两个列向量是[1 0]T和[0 1]T的话,那么他们的任意组合就是我们平常可以看到的二维平面。维度变为4时,想象不出来其样貌,但是依然遵守基本的性质,比如垂直的向量,他们的点积是0,也就是对应元素相乘的和是0。
假如无论x1 x2怎么组合,都无法用v1和v2表示,那就证明向量b不在v1 v2张成的空间中,这时候我们想到什么办法呢?退而求其次,我们找到b在S上的投影,用它来近似b,这不就是最妥协的办法了吗?
这样,根据向量的减法,就是与
垂直的法线了。法线是和平面S处处垂直的,也就是和任意向量Ax的内积都是0,那根据垂直的性质:
(2)
( , )表示内积,点积,用正常的按对应元素乘后相加就表示为右侧的形式。
(3)
将看做是列向量,与x同型。一个向量和同型的任意向量x的内积都是0,那么只能说明,这个向量是0。
(4)
那怎么表示?应该牢记,
是b在平面S上的投影,自然只能用v1 v2来表示:
(5)
(5)代入(4),就变成了
(6)
整理后解可以得到最小二乘解:
这里的是伪逆,可以简单理解为是ATb除以(ATA)。
这样,就得到了最小二乘拟合的系数。