本文是Gilbert Strang的线性代数导论课程笔记。课程地址:http://v.163.com/special/opencourse/daishu.html
第十五课时:子空间投影
教授说要让这讲名垂青史,想必此讲是重中之重吧。讲投影。怎样投影,为什么要投影到其他子空间。
从一个简单例子看:
向量b到向量a的最短距离,b在a上的投影是p,a垂直于e,e就像误差e=b-p,p是a的某个倍数x,p=xa,它在a的一维子空间里,可得到一个方程,求解x,方程为:aT(b - xa) = 0。
假设b变成原来的两倍,那么投影p也变成原来的两倍,如果a变为原来的2倍,p则不变。
投影矩阵Projections:投影是由(投影)矩阵完成的,投影就是某个矩阵P(大写),作用在b上面,使我们得到了投影p。有p=Pb。那么投影矩阵为:
上图P等式右边aTa是一个常数,aaT是一个n×n的矩阵(如果a是n维)。
问题(性质)1:以上例子中投影矩阵P的列空间和秩是怎样的?
可以看到投影矩阵乘以任何向量b后仍旧在其列空间,因此投影矩阵的列空间C(P)是通过a的一条线,所以这个矩阵的秩是1,秩1矩阵(上讲中有结论ATA的秩等于A的秩),向量a就是列空间的基。
问题(性质)2:投影矩阵P是对称的PT=P
问题(性质)3:做两次投影会怎样?P平方的性质。投影两次,第二次的结果和第一次一样,P2=P
为什么要做投影?why project
因为Ax=b也许会无解,可能等式太多,造成无解,那么只能求解最接近的那个可能问题。Ax总在A的列空间里,那么如果将b微调,将b变为列空间中最接近它自己的那一个,将问题换做求解Ax‘=p (x‘不是原来那个不存在的x,而是那个最接近解的x‘,即最优解),p是b在列空间上的投影(列空间内最合适的右侧向量)。这就是要找最好的那个投影的原因。
看一个三维平面的例子,要将向量b投影在平面上得到投影向量p。得到一个使b投影到平面上最近点的公式。已知两个线性无关的向量a1,a2可生成平面,那么可以把这个生成的平面空间看成是矩阵的列向量,那么矩阵A=[a1 a2],误差e向量e=b-p,e是垂直于平面的。
因为p在列空间内,可得到投影p=x1‘a1+x2‘a2=Ax‘ (x‘是x1‘与x2‘组成的向量)
现在要求解x‘,寻找合适的线性组合,好让误差向量垂直于这个平面,关键在e=b-Ax‘。由于误差e正交于列空间,所以可得到两个方程:
这两个方程表示成一个,可得到矩阵表示形式如下
它与直线上的投影方程很相似,对于直线来说,矩阵A只有一列,就是一个小写的a,本质都是 ATe = 0 。
问题1:误差向量e(也就是b-Ax‘)在哪个子空间里,既然有 ATe = 0 ,那么e位于A转置的零空间(左零空间),误差e与列空间正交,误差e垂直于A的列空间。
继续上述方程可转换成:
那么x‘是什么?投影p是什么?投影矩阵P是什么?(注意可以与一维情况下得到的公式相比较)
我们是否可以把投影矩阵P等式右边部分做一下化简,如下:
注意:因为A并不是方阵,所以如上化简是不允许的,A的逆不存在。只有A为可逆方阵时,才允许这样做。我们遇到的矩阵一般都是长方矩阵,行数远大于列数。如果A是一个n×n可逆方阵,它的列空间则是整个n维空间,左零空间只有零向量了,如果b投影到整个n维空间,不只投影到平面,比如投影到三维空间,b本身属于三维空间,此时投影矩阵就是单位阵P=I。但如果投影到子空间(比如上面的例子就是3维空间中的向量b投影到三维空间中的子空间——列空间里),则不允许这样做。
投影矩阵的性质保持不变:
1)PT=P
2)P2=P
对于第(2)点可以做如下验证:
运用:当遇到太多方程,要求它的最优解,常见例子通过最小二乘法拟合一条直线。如下,横坐标是时间t,纵坐标是位置b,已知3点,现在要找到一条最优的直线来拟合这些点,误差最小。我们要确定C和D的大小,来得到b=C+Dt方程。
由三个点可得到方程:
这个方程无解,因为这三个点不共线,但我们可以解出最优解,这个最优解不是原方程的解,是最接近的解。
但可通过如下变换后方程就有解了。
这是最小二乘法的核心方程,虽然Ax=b无解,但如果两倍同时乘以A转置,就得到一个有解的方程,就能求出最优解,最理想的投影以及投影矩阵。