我们先从两个向量之间的投影开始看。如下图有两个向量:a和b。我们想要求得b在a上的投影,也就是向量p。怎么求呢?

由上图我们可以得到:
1. 因为向量p是向量b在向量a上的投影。所以有向量 b-p 垂直于向量a。
2. p和a在同一条直线上,所以一定有p=xa。其中x为一个常数。

所以我们可以列这样一个等式:
a^{T}(b-xa)=0
通过求解,可以得到x=\frac{a^{T}b}{a^{T}a}
所以b在a上投影p为:
\frac{aa^{T}}{a^{T}a}b

我们定义一个映射矩阵P,p=Pb。
则P为\frac{aa^{T}}{a^{T}a}

对于这个映射矩阵P,它有着下边的一些性质:
1. 它的秩为1. 因为不论b为什么向量,Pb都在向量a上。如果b每个维度取任意值,Pb就是整个P的列空间。整个P的列空间都在a上。a是1维的,所以P的秩为1.
2. P的转置还是P。它是对称的。
3. P(Pb)还是P,因为多次投影,和一次投影是一样的。

上边的例子a,b都是一维的向量。那么对于高维空间呢?
我们可以想象一下,在三维空间里,墙角斜插着一个棍子,墙角是这个三维空间的原点。棍子代表一个向量,这个向量相对于地面这个二维空间的投影是什么呢?映射矩阵是什么呢?
首先我们定义棍子这个向量是b,地面怎么确定呢?我们可以用一个空间的基来表示这个空间。对于地面这个二维空间A,我们只需要在A内,但是方向不同的两个向量a1,a2就可以构成A的基。b在A上的投影是p。
这样则有:b-p这个向量垂直于A。也就是垂直于a1,a2。只要一个向量垂直于一个空间的基里的每一个向量,那么它就垂直于这个空间。
a1 = (1,0,0)
a2 = (0,1,0)
x = (x1,x2)
p = a_1x_1+a_2x_2
用矩阵表示为:
p=[a1,a2]x
这里a1,a2,x都为列向量。
用矩阵表示就是p=Ax
同时,我们知道b-p是垂直于A的。所以:
A^{T}(b-Ax)=0
可以得到x=(A^{T}A)^{-1}A^{T}b
映射矩阵P为A({{A}^TA})^{-1}{A}^T
同样,P也有上边的性质:
1. P的秩为2,也就是A的秩。
2. P的转置还是P
3. P的平方还是P

发表评论

电子邮件地址不会被公开。 必填项已用*标注

%d 博主赞过: