投影是什么?简单地说是从一个线性空间中一个点(向量)映射到另一个线性空间的一个点。最简单的例子是把 Oxy 平面上的点 (x, y) 投影到 x 轴变为 (x, 0)。
投影是一种变换,会导致信息丢失,这里 (x, y) → (x, 0) 就是“砍掉” y 轴方向上的信息的过程。当然,“丢失”的特殊情况是“不丢失”,这针对的是 x 轴上面的点(怎么投影都不变,还在 x 轴)。
用线性代数来表达上面的情况,原向量为 v=(x,y),投影是一种线性变换用 P = [1000] 表示,投影后的向量为 v′=Pv=(x,0)。
让我们从平差引入投影的概念。有等式 Ax=b。
如果变换矩阵 A 是可逆方阵,x 就十分好求,有唯一解:x=A−1b,但通常 A 都不可逆。
如果 A 形如躺着的长方形(如“—”),列数特别多,那么很有可能 x 有很多组解。因为 x 就是对 A 的列向量进行组合拼造一个 b,如果 A 的列向量很多,当然更容易拼出来。这个拼,就是
Ax=[1234][56]=[13]×5+[24]×6=[515]+[1224]=[1739]
但通常 A 都不长这样。1
通常 A 的形状都像是竖起来的长方形(如“|”),这就需要用投影的方式求一个 x 的最佳估计值 ˆx。这个 ˆx 就是在 A 的行空间(Row Space)里的一个向量(通常都在),满足 Aˆx 和 b 的距离最近。注意注意,这里有两个线性空间了,一个是 A 的行空间,我们把它记作 Row(A);一个是 A 的列空间,我们把它记作 Col(A),里面有 Aˆx,可能有 b。说“可能”,是因为 Ax = b 不一定有唯一解。没有唯一解的时候,b 在一个和 Col(A) 同样维度的线性空间 A’ 中,此时 A 是 A’ 的子空间。
投影就是在空间 Col(A) 中找到空间 A’ 中的 b 对应的 Aˆx 的过程。如果 A 可逆,Row(A) 和 Col(A) 是 isomorphism(同态),它们同时和 A’ 也同态。直接求解,ˆx 的值就是 A−1b。2 如果不可逆,就需要找到最小误差 e=b−p(这里 p 是 b 在 Col(A) 中投影,也就是 Aˆx)情况下的投影。平差的任务就是找到这个投影,使得这个 error 值最小。
先从简单的二维空间的两个向量开始,如下图,向量 →b 在向量 →a 上的投影为向量 →p,误差为 →e。
要想 →e 最小,只要 →e⊥→a 即可,即
→aT→e=0→aT(→b−x→a)=0x→aT→a=→aT→bx=→aTb→aT→a
最后这个系数为 x=aTb/aTa,→b 在 →a 上投影为 →p=x→a=→aT→b→aT→a→a。
再多说下上面的图(虽然我画得有点丑)。原来那个 Ax = b 在这里是 x→a=→b,就是在直线 a 上找一条和向量 b 最近似的向量,x 是一个常系数,比如像 0.5,1.3 什么的。 Ax = b 有唯一解的情况对应到这里,就是 a 和 b 在一条直线上。但现在它们不在一条直线,所以我们要找“近似”,所以要投影。最后投影到 →a 上的 →p 即是我们要的。下面还有一幅图,里面的 e 和这里的 e 对应。那个 e 处在 A 的 nullspace 中,也和这里一样(二维空间中一个方向的 nullspace 就是它的垂直方向)。在最小二乘中,要求 e 最小,但 e 是矢量你知道,所以我们需要要一种 metric 来衡量这个 e 的“大小”,最后选用 e2,就成了最小“二乘”。这里 e 只有一个维度,所以只要长度最小即可,所以只能是做垂线。
从最简单二维空间回到平差,对应地,aTe=0 变为 AT(b−Aˆx)=0,求得 p=Aˆx=A(ATA)−1ATb。
这里的 A(ATA)−1AT 记作投影矩阵 P,有性质
下面这张图很重要,能给你很大的 intuition。假定 Am×n 是数域 F 上 m × n 维矩阵。→b 在线性空间 Fn 中,投影到了 Col(A) 为 →p,误差为 →e,其中误差存在于 A 的 nullspace 中,平差的时候只要把这个 e 的各个分量平均分配给 nullspace 的各个维度即可,也就是最小二乘。
最后,投影是什么?
refs and see also
长这样怎么平差?……
多说点废话,刚才看到 Cramer’s rule(克拉默法则)的 维基页面,里面居然有个 Geometric interpretation,特别赞:
Consider the linear system
{a1x+b1y=c1a2x+b2y=c2
which in matrix format is
[a1b1a2b2][xy]=[c1c2].
Assume a1b2−b1a2 nonzero. Then, with help of determinants x and y can be found with Cramer’s rule as
x=|c1b1c2b2||a1b1a2b2|=c1b2−b1c2a1b2−b1a2y=|a1c1a2c2||a1b1a2b2|=a1c2−c1a2a1b2−b1a2
几何图解如下(这就是上面所说的“拼”):
其中
所以(c)的面积比上(a)面积的也是 x1。再结合 “The determinant of the matrix A is the signed volume of the image of the unit cube.”(见另一篇:雅各比行列式和矩阵的秩),就有
x1=Area(Shadow3)Area(Shadow1)=|b1a12b2a22||a11a12a21a22|
当然,这里其实是真值 x 而不是估计值 ˆx。(h
at → h
ypothesis)↩
Gitalking ...