文章目录
- 1. 投影算子的定义
- 2. 投影算子的几何意义
- 3. 一些简单的例子
- 例 1:二维平面上的投影
- 例 2:投影到一条任意方向的直线
- 例 3:三维空间中投影到一个平面
- 4. 投影算子的性质
- 4.1、幂等性(Idempotency): P 2 = P P^2 = P P2=P。
- 4.2、特征值
- 4.3、线性性
- 4.4、零空间(Kernel)和像空间(Image)
- 5. 投影算子的分类
- 5.1、正交投影算子
- 5.2、一般投影(非正交投影)
- 6. 投影算子的矩阵表示
- 6.1、一维子空间的投影
- 6.2、低维空间中的投影
- 7. 投影算子的应用
1. 投影算子的定义
投影算子 P P P 是作用在向量空间 V V V 上的一个线性算子,满足:
P 2 = P P^2 = P P2=P
也就是说,投影算子满足幂等性,即作用两次与作用一次的效果相同。
如果一个向量 v v v 经过投影 P P P 之后变成 P v Pv Pv,那么再应用一次投影 P ( P v ) P(Pv) P(Pv) 仍然是 P v Pv Pv,不会再改变。
2. 投影算子的几何意义
投影算子可以看作是将向量映射到某个子空间,并且对于已经在该子空间的向量,投影算子不会改变它们。
例:
- 设 U U U 是 R 3 \mathbb{R}^3 R3 中的一个平面(例如 z = 0 z=0 z=0 的平面)。
- 设 P P P 是把任意向量 ( x , y , z ) (x, y, z) (x,y,z) 映射到 ( x , y , 0 ) (x, y, 0) (x,y,0) 的投影算子。
- 你可以验证: P ( x , y , z ) = ( x , y , 0 ) P(x, y, z) = (x, y, 0) P(x,y,z)=(x,y,0) P 2 ( x , y , z ) = P ( x , y , 0 ) = ( x , y , 0 ) P^2(x, y, z) = P(x, y, 0) = (x, y, 0) P2(x,y,z)=P(x,y,0)=(x,y,0) 这说明 P 2 = P P^2 = P P2=P,所以 P P P 是一个投影算子。
3. 一些简单的例子
例 1:二维平面上的投影
设我们在二维平面上,想要把任意向量 v v v 投影到 x x x-轴上(即去掉 y y y 分量)。
- 我们的向量空间是 R 2 \mathbb{R}^2 R2。
- 目标子空间是 x x x-轴(即 y = 0 y=0 y=0)。
- 投影算子 P P P 应该保持 x x x 分量不变,并把 y y y 分量变为 0。
投影矩阵可以写成:
P = [ 1 0 0 0 ] P = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} P=[1000]
现在,我们选择一个向量:
v = [ 3 4 ] v = \begin{bmatrix} 3 \\ 4 \end{bmatrix} v=[34]
计算投影:
P v = [ 1 0 0 0 ] [ 3 4 ] = [ 3 0 ] P v = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} \begin{bmatrix} 3 \\ 4 \end{bmatrix} = \begin{bmatrix} 3 \\ 0 \end{bmatrix} Pv=[1000][34]=[30]
- 原向量 v = ( 3 , 4 ) v = (3,4) v=(3,4) 在 x x x-轴上的投影是 ( 3 , 0 ) (3,0) (3,0)。
- 投影算子的性质:
- 幂等性:如果再对 ( 3 , 0 ) (3,0) (3,0) 施加一次投影: P ( P v ) = P [ 3 0 ] = [ 3 0 ] P (Pv) = P \begin{bmatrix} 3 \\ 0 \end{bmatrix} = \begin{bmatrix} 3 \\ 0 \end{bmatrix} P(Pv)=P[30]=[30] 结果不变,验证了 P 2 = P P^2 = P P2=P。
例 2:投影到一条任意方向的直线
我们现在考虑把一个向量投影到一个方向向量 u u u 代表的直线上。
设单位方向向量:
u = 1 2 [ 1 1 ] u = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 \\ 1 \end{bmatrix} u=21[11]
我们想把向量 v = [ 3 4 ] v = \begin{bmatrix} 3 \\ 4 \end{bmatrix} v=[34] 投影到 u u u 方向。
投影公式:
P v = ( u ⋅ v ) u P v = (u \cdot v) u Pv=(u⋅v)u
计算内积:
u ⋅ v = 1 2 ( 3 + 4 ) = 7 2 u \cdot v = \frac{1}{\sqrt{2}}(3 + 4) = \frac{7}{\sqrt{2}} u⋅v=21(3+4)=27
投影:
P v = 7 2 ⋅ 1 2 [ 1 1 ] = 7 2 [ 1 1 ] = [ 3.5 3.5 ] P v = \frac{7}{\sqrt{2}} \cdot \frac{1}{\sqrt{2}} \begin{bmatrix} 1 \\ 1 \end{bmatrix} = \frac{7}{2} \begin{bmatrix} 1 \\ 1 \end{bmatrix} = \begin{bmatrix} 3.5 \\ 3.5 \end{bmatrix} Pv=27⋅21[11]=27[11]=[3.53.5]
- 原向量 v = ( 3 , 4 ) v = (3,4) v=(3,4) 投影到方向 u u u 上得到 ( 3.5 , 3.5 ) (3.5,3.5) (3.5,3.5)。
- 你可以验证: P v Pv Pv 是 u u u 方向的一个倍数,说明它被正确投影到了直线上。
上面用到的向量投影公式的推导
设 u u u 是一个单位向量(即 ∣ ∣ u ∣ ∣ = 1 ||u|| = 1 ∣∣u∣∣=1),我们想要找到 v v v 在 u u u 方向上的投影。
向量 v v v 在 u u u 方向的投影,是 v v v 在 u u u 方向的标量分量乘以 u u u:
Proj u ( v ) = ( v ⋅ u ∣ ∣ u ∣ ∣ 2 ) u \text{Proj}_u (v) = \left( \frac{v \cdot u}{||u||^2} \right) u Proju(v)=(∣∣u∣∣2v⋅u)u
由于 u u u 是单位向量,满足 ∣ ∣ u ∣ ∣ 2 = 1 ||u||^2 = 1 ∣∣u∣∣2=1,所以公式简化为:
P v = ( v ⋅ u ) u P v = (v \cdot u) u Pv=(v⋅u)u
- v ⋅ u v \cdot u v⋅u:计算向量 v v v 在 u u u 方向上的投影长度(标量)。
- 乘以 u u u:将该标量转换回一个向量,方向与 u u u 相同。
换句话说,我们把 v v v 的部分分解成沿 u u u 方向的分量,并去掉与 u u u 正交的分量。
如果 u u u 不是单位向量(即 ∣ ∣ u ∣ ∣ ≠ 1 ||u|| \neq 1 ∣∣u∣∣=1),投影公式需要调整为:
P v = ( v ⋅ u u ⋅ u ) u P v = \left( \frac{v \cdot u}{u \cdot u} \right) u Pv=(u⋅uv⋅u)u
因为在这种情况下,单位化 u u u 需要除以 ∣ ∣ u ∣ ∣ 2 ||u||^2 ∣∣u∣∣2。
这个更一般的公式适用于任何向量 u u u,无论是否归一化。
例 3:三维空间中投影到一个平面
设我们在三维空间中,想要把向量 v = [ 1 2 3 ] v = \begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix} v= 123 投影到 x y xy xy-平面上(即去掉 z z z 分量)。
投影矩阵:
P = [ 1 0 0 0 1 0 0 0 0 ] P = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{bmatrix} P= 100010000
计算投影:
P v = [ 1 0 0 0 1 0 0 0 0 ] [ 1 2 3 ] = [ 1 2 0 ] Pv = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{bmatrix} \begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix} = \begin{bmatrix} 1 \\ 2 \\ 0 \end{bmatrix} Pv= 100010000 123 = 120
- 原向量 ( 1 , 2 , 3 ) (1,2,3) (1,2,3) 被投影到 x y xy xy-平面上,变成 ( 1 , 2 , 0 ) (1,2,0) (1,2,0)。
- 该投影满足幂等性: P ( P v ) = P [ 1 2 0 ] = [ 1 2 0 ] P(Pv) = P \begin{bmatrix} 1 \\ 2 \\ 0 \end{bmatrix} = \begin{bmatrix} 1 \\ 2 \\ 0 \end{bmatrix} P(Pv)=P 120 = 120
4. 投影算子的性质
投影算子 P P P 具有以下重要性质:
4.1、幂等性(Idempotency): P 2 = P P^2 = P P2=P。
4.2、特征值
投影算子的特征值只能是 0 或 1。
特征值的求解来自特征方程:
P v = λ v P v = \lambda v Pv=λv
由于 P 2 = P P^2 = P P2=P,可推出:
P 2 v = P v = λ v P^2 v = P v = \lambda v P2v=Pv=λv
即:
λ 2 v = λ v \lambda^2 v = \lambda v λ2v=λv
因此,特征值 λ \lambda λ 只能取 0 或 1。
- 特征值 1 1 1 的特征向量:被正确投影的向量,即 投影目标子空间中的向量,投影后不变。
- 特征值 0 0 0 的特征向量:被完全投影到零的向量,即 正交补空间的向量,它们的投影结果是零。
例
考虑投影矩阵:
P = [ 1 0 0 0 ] P = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} P=[1000]
求特征值,我们解:
det ( P − λ I ) = ∣ 1 − λ 0 0 − λ ∣ = ( 1 − λ ) ( − λ ) = 0 \text{det}(P - \lambda I) = \begin{vmatrix} 1 - \lambda & 0 \\ 0 & -\lambda \end{vmatrix} = (1 - \lambda)(-\lambda) = 0 det(P−λI)= 1−λ00−λ =(1−λ)(−λ)=0
解得特征值:
λ = 0 或 λ = 1 \lambda = 0 \quad \text{或} \quad \lambda = 1 λ=0或λ=1
- 对应 λ = 1 \lambda = 1 λ=1 的特征向量是 [ x 0 ] \begin{bmatrix} x \\ 0 \end{bmatrix} [x0],表示 x x x-轴上的向量,它们的投影不变。
- 对应 λ = 0 \lambda = 0 λ=0 的特征向量是 [ 0 y ] \begin{bmatrix} 0 \\ y \end{bmatrix} [0y],表示 y y y-轴上的向量,它们被投影到零。
- 投影算子的特征值只能是 0 或 1。
- 这可以从特征方程 P 2 v = P v P^2 v = P v P2v=Pv 推导出,即 P v = λ v P v = \lambda v Pv=λv,解得 λ = 0 \lambda = 0 λ=0 或 λ = 1 \lambda = 1 λ=1。
- 对应于特征值 1 的特征向量是 投影子空间中的向量。
- 对应于特征值 0 的特征向量是 投影到零的向量,即正交补空间的向量。
4.3、线性性
若 P P P 是线性算子,则对任意 α , β ∈ R \alpha, \beta \in \mathbb{R} α,β∈R 或 C \mathbb{C} C,有: P ( α v + β w ) = α P ( v ) + β P ( w ) P(\alpha v + \beta w) = \alpha P(v) + \beta P(w) P(αv+βw)=αP(v)+βP(w)
例
考虑投影矩阵:
P = [ 1 0 0 0 ] P = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} P=[1000]
给定两个向量:
v = [ 2 3 ] , w = [ − 1 4 ] v = \begin{bmatrix} 2 \\ 3 \end{bmatrix}, \quad w = \begin{bmatrix} -1 \\ 4 \end{bmatrix} v=[23],w=[−14]
以及两个标量 α = 2 , β = − 1 \alpha = 2, \beta = -1 α=2,β=−1,验证:
P ( α v + β w ) = P ( 2 [ 2 3 ] + ( − 1 ) [ − 1 4 ] ) P (\alpha v + \beta w) = P \left( 2 \begin{bmatrix} 2 \\ 3 \end{bmatrix} + (-1) \begin{bmatrix} -1 \\ 4 \end{bmatrix} \right) P(αv+βw)=P(2[23]+(−1)[−14])
计算:
α v + β w = [ 4 6 ] + [ 1 − 4 ] = [ 5 2 ] \alpha v + \beta w = \begin{bmatrix} 4 \\ 6 \end{bmatrix} + \begin{bmatrix} 1 \\ -4 \end{bmatrix} = \begin{bmatrix} 5 \\ 2 \end{bmatrix} αv+βw=[46]+[1−4]=[52]
另一方面:
α P ( v ) + β P ( w ) = 2 P [ 2 3 ] + ( − 1 ) P [ − 1 4 ] \alpha P(v) + \beta P(w) = 2 P \begin{bmatrix} 2 \\ 3 \end{bmatrix} + (-1) P \begin{bmatrix} -1 \\ 4 \end{bmatrix} αP(v)+βP(w)=2P[23]+(−1)P[−14]
两边相等,验证了线性性。
4.4、零空间(Kernel)和像空间(Image)
投影算子将整个空间 V V V 分解为两个子空间:
- 零空间(Ker§):被投影到 0 的所有向量。
- 像空间(Im§):投影的目标子空间。
例
还是使用投影矩阵:
P = [ 1 0 0 0 ] P = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} P=[1000]
-
零空间 ker ( P ) \ker(P) ker(P): 由 P v = 0 P v = 0 Pv=0 得:
[ 1 0 0 0 ] [ x y ] = [ 0 0 ] \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix} [1000][xy]=[00]
这要求 x = 0 x = 0 x=0,即:
ker ( P ) = { [ 0 y ] } \ker(P) = \left\{ \begin{bmatrix} 0 \\ y \end{bmatrix} \right\} ker(P)={[0y]}
这对应 y y y-轴,说明所有位于 y y y-轴的向量都被投影到零。 -
像空间 Im ( P ) \text{Im}(P) Im(P): 任何投影的结果都形如:
P v = [ x 0 ] P v = \begin{bmatrix} x \\ 0 \end{bmatrix} Pv=[x0]
说明像空间是 x x x-轴:
Im ( P ) = { [ x 0 ] } \text{Im}(P) = \left\{ \begin{bmatrix} x \\ 0 \end{bmatrix} \right\} Im(P)={[x0]}
即所有投影的结果都落在 x x x-轴上。
性质 | 解释 | 例子 |
---|---|---|
幂等性 | P 2 = P P^2 = P P2=P,多次投影不改变结果 | 投影到 x x x-轴后,继续投影仍然是同一个点 |
特征值 | 只能是 0 或 1 | x x x-轴上的向量是特征值 1,对应子空间; y y y-轴上的向量是特征值 0,对应被投影方向 |
线性性 | P ( α v + β w ) = α P v + β P w P(\alpha v + \beta w) = \alpha P v + \beta P w P(αv+βw)=αPv+βPw | 计算验证,满足线性性 |
零空间和像空间 | ker ( P ) \ker(P) ker(P) 是被投影方向, Im ( P ) \text{Im}(P) Im(P) 是目标子空间 | 投影到 x x x-轴, y y y-轴上的向量被投影到 0 |
5. 投影算子的分类
5.1、正交投影算子
如果投影算子 P P P 是 自伴随(Hermitian) 的,即满足:
P = P † P = P^\dagger P=P†
(在实数域上,等价于 P = P T P = P^T P=PT),那么它是正交投影算子。
这意味着投影后的子空间和正交补空间是正交的。
- 正交投影表示投影的方向与子空间的正交补空间是垂直的。
- 例如,在三维空间中,如果我们将一个向量投影到 x y xy xy-平面上,那么投影是沿着 z z z-轴方向正交进行的。
例:投影到一条直线上
设单位向量:
u = 1 5 [ 2 1 ] u = \frac{1}{\sqrt{5}} \begin{bmatrix} 2 \\ 1 \end{bmatrix} u=51[21]
我们要构造投影矩阵,将任意向量投影到 u u u 方向上。投影矩阵的公式为:
P = u u T P = u u^T P=uuT
计算:
u u T = ( 1 5 [ 2 1 ] ) ( 1 5 [ 2 1 ] ) = 1 5 [ 2 1 ] [ 2 1 ] = 1 5 [ 4 2 2 1 ] = [ 0.8 0.4 0.4 0.2 ] uu^T = \left( \frac{1}{\sqrt{5}} \begin{bmatrix} 2 \\ 1 \end{bmatrix} \right) \left( \frac{1}{\sqrt{5}} \begin{bmatrix} 2 & 1 \end{bmatrix} \right) = \frac{1}{5} \begin{bmatrix} 2 \\ 1 \end{bmatrix} \begin{bmatrix} 2 & 1 \end{bmatrix} = \frac{1}{5} \begin{bmatrix} 4 & 2 \\ 2 & 1 \end{bmatrix} = \begin{bmatrix} 0.8 & 0.4 \\ 0.4 & 0.2 \end{bmatrix} uuT=(51[21])(51[21])=51[21][21]=51[4221]=[0.80.40.40.2]
这这个矩阵就是投影算子,它将向量投影到方向 u u u 上,并且满足:
P T = P , P 2 = P P^T = P, \quad P^2 = P PT=P,P2=P
因此,它是 正交投影算子。
5.2、一般投影(非正交投影)
如果投影算子 P P P 不是 Hermitian,即 P ≠ P † P \neq P^\dagger P=P†,则它不是正交投影。
这种投影的方向不一定与正交补空间垂直,可能是斜投影。
- 一般投影可能是倾斜的,即投影到的子空间和投影方向可能不是垂直的。
- 例如,在三维空间中,若我们投影到一个斜平面而不是 x y xy xy-平面,投影方向可能不会是 z z z-轴,而是某个倾斜方向。
例:斜投影
假设我们要将向量 v v v 投影到一个子空间 W W W,该子空间的基向量为:
w 1 = [ 1 1 ] , w 2 = [ 1 − 1 ] w_1 = \begin{bmatrix} 1 \\ 1 \end{bmatrix}, \quad w_2 = \begin{bmatrix} 1 \\ -1 \end{bmatrix} w1=[11],w2=[1−1]
若投影算子为:
P = [ 1 2 0 1 ] P = \begin{bmatrix} 1 & 2 \\ 0 & 1 \end{bmatrix} P=[1021]
计算:
P T = [ 1 0 2 1 ] P^T = \begin{bmatrix} 1 & 0 \\ 2 & 1 \end{bmatrix} PT=[1201]
显然 P ≠ P T P \neq P^T P=PT,说明该投影算子是非正交投影。
6. 投影算子的矩阵表示
6.1、一维子空间的投影
如果要将向量投影到一个单位向量 u u u 方向上,投影矩阵的公式为:
P = u u T P = uu^T P=uuT
其中:
- u u u 是单位向量(即 ∣ ∣ u ∣ ∣ = 1 ||u|| = 1 ∣∣u∣∣=1)。
- P P P 是投影矩阵,它将任何向量投影到 u u u 方向上。
例:投影到 x x x-轴
设单位向量:
u = [ 1 0 ] u = \begin{bmatrix} 1 \\ 0 \end{bmatrix} u=[10]
计算投影矩阵:
P = u u T = [ 1 0 ] [ 1 0 ] P = u u^T = \begin{bmatrix} 1 \\ 0 \end{bmatrix} \begin{bmatrix} 1 & 0 \end{bmatrix} P=uuT=[10][10]
这个矩阵的作用是:
P [ x y ] = [ 1 0 0 0 ] [ x y ] = [ x 0 ] P \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} x \\ 0 \end{bmatrix} P[xy]=[1000][xy]=[x0]
即将 ( x , y ) (x, y) (x,y) 投影到 x x x-轴上,去掉 y y y 分量。
更一般的情况
如果 u u u 是任意单位向量,例如:
u = 1 5 [ 2 1 ] u = \frac{1}{\sqrt{5}} \begin{bmatrix} 2 \\ 1 \end{bmatrix} u=51[21]
那么投影矩阵为:
P = u u T = ( 1 5 [ 2 1 ] ) ( 1 5 [ 2 1 ] ) = 1 5 [ 2 1 ] [ 2 1 ] = 1 5 [ 4 2 2 1 ] = [ 0.8 0.4 0.4 0.2 ] P = uu^T = \left( \frac{1}{\sqrt{5}} \begin{bmatrix} 2 \\ 1 \end{bmatrix} \right) \left( \frac{1}{\sqrt{5}} \begin{bmatrix} 2 & 1 \end{bmatrix} \right) = \frac{1}{5} \begin{bmatrix} 2 \\ 1 \end{bmatrix} \begin{bmatrix} 2 & 1 \end{bmatrix} = \frac{1}{5} \begin{bmatrix} 4 & 2 \\ 2 & 1 \end{bmatrix} = \begin{bmatrix} 0.8 & 0.4 \\ 0.4 & 0.2 \end{bmatrix} P=uuT=(51[21])(51[21])=51[21][21]=51[4221]=[0.80.40.40.2]
这个矩阵会将向量投影到 u u u 方向上,而不一定是 x x x-轴。
6.2、低维空间中的投影
如果我们想要将向量投影到一个 由多个向量张成的子空间,我们需要使用一个矩阵 U U U 来计算投影矩阵。投影矩阵的公式为:
P = U ( U T U ) − 1 U T P = U (U^T U)^{-1} U^T P=U(UTU)−1UT
其中:
- U U U 是子空间的基矩阵。
- P P P 是投影到该子空间的投影矩阵。
例:投影到二维平面
假设我们在三维空间中,投影到 由两个向量张成的平面,设:
U = [ 1 1 0 1 0 0 ] U = \begin{bmatrix} 1 & 1 \\ 0 & 1 \\ 0 & 0 \end{bmatrix} U= 100110
这是一个 3 × 2 3 \times 2 3×2 的矩阵,表示一个由 两个基向量:
u 1 = [ 1 0 0 ] , u 2 = [ 1 1 0 ] u_1 = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}, \quad u_2 = \begin{bmatrix} 1 \\ 1 \\ 0 \end{bmatrix} u1= 100 ,u2= 110
张成的平面。
计算投影矩阵:
P = U ( U T U ) − 1 U T P = U (U^T U)^{-1} U^T P=U(UTU)−1UT
首先,计算:
U T U = [ 1 0 0 1 1 0 ] [ 1 1 0 1 0 0 ] = [ 1 1 1 2 ] U^T U = \begin{bmatrix} 1 & 0 & 0 \\ 1 & 1 & 0 \end{bmatrix} \begin{bmatrix} 1 & 1 \\ 0 & 1 \\ 0 & 0 \end{bmatrix}=\begin{bmatrix} 1 & 1 \\ 1 & 2\end{bmatrix} UTU=[110100] 100110 =[1112]
计算逆矩阵:
( U T U ) − 1 = [ 1 1 1 2 ] − 1 = [ 2 − 1 − 1 1 ] (U^T U)^{-1} = \begin{bmatrix} 1 & 1 \\ 1 & 2 \end{bmatrix}^{-1} = \begin{bmatrix} 2 & -1 \\ -1 & 1 \end{bmatrix} (UTU)−1=[1112]−1=[2−1−11]
然后计算:
P = U [ 2 − 1 − 1 1 ] U T P = U \begin{bmatrix} 2 & -1 \\ -1 & 1 \end{bmatrix} U^T P=U[2−1−11]UT
经过矩阵乘法运算(可手算或用 Python/Numpy 计算),最终得到:
P = [ 1 0 0 0 1 0 0 0 0 ] P = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{bmatrix} P= 100010000
这个矩阵的作用是:
- 保持 x x x 和 y y y 方向上的分量不变。
- 将 z z z 方向上的分量投影到零。
这个投影矩阵将三维空间中的向量投影到 x y xy xy-平面上,即:
P [ x y z ] = [ x y 0 ] P \begin{bmatrix} x \\ y \\ z \end{bmatrix} = \begin{bmatrix} x \\ y \\ 0 \end{bmatrix} P xyz = xy0
7. 投影算子的应用
最小二乘法(Least Squares Method)用于求解过约束方程组(即方程个数大于未知数个数的情况),其核心思想是:找到一个向量,使得它在给定数据的子空间中的投影与观测数据最接近。
我们使用 投影算子 来求解最小二乘问题。
设我们有一个过约束方程组:
A x = b Ax = b Ax=b
其中:
- A A A 是一个 m × n m \times n m×n 的矩阵,且 m > n m > n m>n(即方程个数大于未知数个数)。
- x x x 是我们需要求解的向量( n × 1 n \times 1 n×1)。
- b b b 是观测数据向量( m × 1 m \times 1 m×1)。
由于 A x = b Ax = b Ax=b 可能 没有精确解(因为 b b b 可能不在 A A A 列空间内),我们希望找到一个 最优近似解,即:
b ^ = P A b \hat{b} = P_A b b^=PAb
其中:
- b ^ \hat{b} b^ 是 b b b 在 A A A 列空间上的正交投影。
- P A P_A PA 是投影矩阵,表示将 b b b 投影到 A A A 列空间。
投影矩阵的通用公式:
P A = A ( A T A ) − 1 A T P_A = A (A^T A)^{-1} A^T PA=A(ATA)−1AT
其中:
- A T A A^T A ATA 是一个 n × n n \times n n×n 矩阵(可逆)。
- ( A T A ) − 1 A T (A^T A)^{-1} A^T (ATA)−1AT 计算的是最小二乘解的系数。
假设我们有两个数据点,拟合模型:
y = m x + c y = mx + c y=mx+c
给定数据:
( 1 , 2 ) , ( 2 , 3 ) , ( 3 , 5 ) (1, 2), (2, 3), (3, 5) (1,2),(2,3),(3,5)
转换成线性方程:
[ 1 1 2 1 3 1 ] [ m c ] = [ 2 3 5 ] \begin{bmatrix} 1 & 1 \\ 2 & 1 \\ 3 & 1 \end{bmatrix} \begin{bmatrix} m \\ c \end{bmatrix} = \begin{bmatrix} 2 \\ 3 \\ 5 \end{bmatrix} 123111 [mc]= 235
这里:
A = [ 1 1 2 1 3 1 ] , b = [ 2 3 5 ] A = \begin{bmatrix} 1 & 1 \\ 2 & 1 \\ 3 & 1 \end{bmatrix}, \quad b = \begin{bmatrix} 2 \\ 3 \\ 5 \end{bmatrix} A= 123111 ,b= 235
计算投影矩阵
计算:
A T A = [ 1 2 3 1 1 1 ] [ 1 1 2 1 3 1 ] = [ 1 + 4 + 9 1 + 2 + 3 1 + 2 + 3 1 + 1 + 1 ] = [ 14 6 6 3 ] A^T A = \begin{bmatrix} 1 & 2 & 3 \\ 1 & 1 & 1 \end{bmatrix} \begin{bmatrix} 1 & 1 \\ 2 & 1 \\ 3 & 1 \end{bmatrix} = \begin{bmatrix} 1+4+9 & 1+2+3 \\ 1+2+3 & 1+1+1 \end{bmatrix} = \begin{bmatrix} 14 & 6 \\ 6 & 3 \end{bmatrix} ATA=[112131] 123111 =[1+4+91+2+31+2+31+1+1]=[14663]
求逆:
( A T A ) − 1 = [ 14 6 6 3 ] − 1 (A^T A)^{-1} = \begin{bmatrix} 14 & 6 \\ 6 & 3 \end{bmatrix}^{-1} (ATA)−1=[14663]−1
然后计算投影矩阵:
P A = A ( A T A ) − 1 A T P_A = A (A^T A)^{-1} A^T PA=A(ATA)−1AT
计算最优解
最优解由:
x = ( A T A ) − 1 A T b x = (A^T A)^{-1} A^T b x=(ATA)−1ATb
计算后得到:
m = 1.5 , c = 0.5 m = 1.5, \quad c = 0.5 m=1.5,c=0.5
最终拟合直线为:
y = 1.5 x + 0.5 y = 1.5x + 0.5 y=1.5x+0.5
这就是最小二乘法求解的最佳拟合直线。
- P A P_A PA 将 b b b 投影到 A A A 的列空间上,得到最优逼近解。
- 这个过程确保误差最小,即: ∣ ∣ A x − b ∣ ∣ 2 最小 ||Ax - b||^2 \text{ 最小} ∣∣Ax−b∣∣2 最小
- 最小二乘法的核心思想就是 用投影算子 P A P_A PA 找到 b b b 在 A A A 列空间上的投影,并用该投影来求解最优拟合。