文章目录
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 列空间上的投影,并用该投影来求解最优拟合。