Processing math: 100%

什么是投影?

投影是什么?简单地说是从一个线性空间中一个点(向量)映射到另一个线性空间的一个点。最简单的例子是把 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=A1b,但通常 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ˆxb 的距离最近。注意注意,这里有两个线性空间了,一个是 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 的值就是 A1b2 如果不可逆,就需要找到最小误差 e=bp(这里 pb 在 Col(A) 中投影,也就是 Aˆx)情况下的投影。平差的任务就是找到这个投影,使得这个 error 值最小。

先从简单的二维空间的两个向量开始,如下图,向量 b 在向量 a 上的投影为向量 p,误差为 e

要想 e 最小,只要 ea 即可,即

aTe=0aT(bxa)=0xaTa=aTbx=aTbaTa

最后这个系数为 x=aTb/aTaba 上投影为 p=xa=aTbaTaa

再多说下上面的图(虽然我画得有点丑)。原来那个 Ax = b 在这里是 xa=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(bAˆx)=0,求得 p=Aˆx=A(ATA)1ATb

这里的 A(ATA)1AT 记作投影矩阵 P,有性质

  1. P2=P
  2. PT=P

下面这张图很重要,能给你很大的 intuition。假定 Am×n 是数域 F 上 m × n 维矩阵。b 在线性空间 Fn 中,投影到了 Col(A) 为 p,误差为 e,其中误差存在于 A 的 nullspace 中,平差的时候只要把这个 e 的各个分量平均分配给 nullspace 的各个维度即可,也就是最小二乘。

最后,投影是什么?

  1. 投影是变换,可能存在信息丢失;
  2. 我们希望投影能尽可能减少信息的丢失,这就有了最小二乘。

refs and see also

  1. 我的笔记本(笔记本参考 MIT Linear Algebra 课程)。

  1. 长这样怎么平差?……

    多说点废话,刚才看到 Cramer’s rule(克拉默法则)的 维基页面,里面居然有个 Geometric interpretation,特别赞:

    Consider the linear system

    {a1x+b1y=c1a2x+b2y=c2

    which in matrix format is

    [a1b1a2b2][xy]=[c1c2].

    Assume a1b2b1a2 nonzero. Then, with help of determinants x and y can be found with Cramer’s rule as

    x=|c1b1c2b2||a1b1a2b2|=c1b2b1c2a1b2b1a2y=|a1c1a2c2||a1b1a2b2|=a1c2c1a2a1b2b1a2

    几何图解如下(这就是上面所说的“拼”):

    其中

    1. (b)和(c)的面积(这里都说的阴影部分)一样
    2. (b)的面积比上(a)的面积为 x1

    所以(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|

     

  2. 当然,这里其实是真值 x 而不是估计值 ˆx。(hat → hypothesis)


Gitalking ...