最小二乘法

来源:互联网 发布:淘宝怎么设置员工旺旺 编辑:程序博客网 时间:2024/06/07 13:41

最小二乘法与矩阵的前世今生

投影矩阵与最小二乘二者有什么必然的联系?
一般的矩阵中向量a⃗ 指列向量aT表示行向量
先从投影矩阵开始说起:
二维平面中向量b在向量a上的投影
一个向量在另一个向量的投影
现在我们假设投影点是向量上的一点p,可以规定p⃗ =xa⃗ (x是某个数)。定义e⃗ =b⃗ -p⃗ ,称e⃗  为误差。因为e⃗ p⃗  也就是a⃗  垂直,所以有aT(b⃗ -a⃗ x)=0,展开化简得到:

x=aTaTa⃗ b⃗ 
p=a⃗ x=a⃗ aTb⃗ aTa⃗ 

将其拓展到三维空间中去,我们可以想象一个三维空间内的向量在该空间内的一个平面上的投影:
这里写图片描述
我们假设这个平面的基是a1,a2。那么矩阵A 的列空间就是该平面。假设一个不在该平面上的向量b⃗ 在该平面上的投影是p⃗  。我们的任务就是找到合适的x,使得p⃗ =Ax 。这里有一个关键的地方:e⃗ 与该平面垂直,所以AT(bAx)=0。我们把上边式子展开,得到:
x=(ATA)1ATb , p⃗ =Ax=A(ATA)1ATb
所以可以引出投影矩阵(projection matrix):
P=A(ATA)1AT
特别的需要记得投影矩阵的两个特性:
PT=P ,P2=P
    对于特性一,因为P本身就是个对称阵,所以很好理解。第二个,直观的理解就是投影到A上后再投影一次,显然投影并没有改变,也就是二次投影还是其本身。
    通过投影矩阵P可以吧b⃗ 投影成p⃗ ,从线性代数的角度来说,Ax=b并不一定总有解,这在实际情况中会经常遇到(m >n)。所以我们就把b⃗ 投影到向量p⃗ 上,因为p⃗ 在a1,a2的平面内,所以Ax =p是可以求解的。
    在实际应用中,线性回归是经常用到的,我们可以在一张散列点图中作一条直线(暂时用直线)来近似表述这些散列点的关系。比如:
最小二乘线性回归
设变量y 与t 成线性关系,即.现在已知m 个实验点ai和bi ,求两个未知参数C,D 。将代入得矛盾方程组:
C+Da1=b1C+Da2=b2...+.....=...c+Dam=bm

我们可以令
A=11...1a1a2...am
A=(1ai)m
(aii的取值为1到m)
b=b1b2...bm

则有
A(CD)=b
转化成为了Ax=b的矩阵形式
    从线性代数的角度来看,就是A的列向量的线性组合无法充满整个列空间,也就是说Ax=b这个方程根本没有解。从图形上也很好理解:根本没有一条直线同时经过所有蓝色的点!所以为了选取最合适的x,让该图中的点都尽量接近于该直线,引入残差平方和函数H:
min(H)=min(||e||2)=min(||bAx||2)这也就是最小二乘法的思想。我们知道,当x取最优值的时候,Ax恰好对应图中线上橙色的点,而b则对应图中蓝色的点,e的值则应红色的线长.
    最小二乘的思想是想如何选取参数x使得H最小。而从向量投影的角度来看这个问题,H就是向量e长度的平方,如何才能使e的长度最小呢?b和a1,a2都是固定的,当然是e垂直a1,a2平面的时候长度最小!换句话说:最小二乘法的解与矩阵投影时对变量求解的目标是一致的!
    根据矩阵投影的知识,我们可以直接写出最小二乘法问题的解为:
x=(CD)=(ATA)1ATb

其中
A :结构矩阵
b :数据矩阵
ATb :常数矩阵。
而最小二乘的求解实质上就是 Ax=b 没有解,我们就把 b 投影到向量 p 上,求解 Ax =p。
最小二乘是用于数据拟合的一个方法,这个拟合的过程我们称之为线性回归。如果数据点不存在离群点(outliers),我们可以把最小二乘的过程用矩阵的形式描述出来,然而,精妙之处就在于,这与我们的投影矩阵不谋而合,所以,我们又可以借助于投影矩阵的公式,也就是ATAx=ATb来加以解决。

参考知识:
CSDN-markdown语法之如何使用LaTeX语法编写数学公式
MathJax基础(2):矩阵
知乎《最小二乘法的本质是什么? 阿狸的回答》

原创粉丝点击