最小二乘法

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

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

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

将其拓展到三维空间中去,我们可以想象一个三维空间内的向量在该空间内的一个平面上的投影:
最小二乘法_第2张图片
我们假设这个平面的基是 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是可以求解的。
    在实际应用中,线性回归是经常用到的,我们可以在一张散列点图中作一条直线(暂时用直线)来近似表述这些散列点的关系。比如:
最小二乘法_第3张图片
设变量y 与t 成线性关系,即.现在已知m 个实验点ai和bi ,求两个未知参数C,D 。将代入得矛盾方程组:
C+Da1=b1C+Da2=b2...+.....=...c+Dam=bm

我们可以令
A=11...1a1a2...am
A=(1ai)m
( ai i的取值为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):矩阵
知乎《最小二乘法的本质是什么? 阿狸的回答》

你可能感兴趣的:(最小二乘法,最小二乘法)