投影算子(Projection Operator)的定义、性质、分类以及应用

文章目录

  • 1. 投影算子的定义
  • 2. 投影算子的几何意义
  • 3. 一些简单的例子
    • 例 1:二维平面上的投影
    • 例 2:投影到一条任意方向的直线
    • 例 3:三维空间中投影到一个平面
  • 4. 投影算子的性质
  • 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=2 1[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=(uv)u
计算内积:
u ⋅ v = 1 2 ( 3 + 4 ) = 7 2 u \cdot v = \frac{1}{\sqrt{2}}(3 + 4) = \frac{7}{\sqrt{2}} uv=2 1(3+4)=2 7
投影:
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=2 72 1[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)=(∣∣u2vu)u
由于 u u u 是单位向量,满足 ∣ ∣ u ∣ ∣ 2 = 1 ||u||^2 = 1 ∣∣u2=1,所以公式简化为:
P v = ( v ⋅ u ) u P v = (v \cdot u) u Pv=(vu)u

  1. v ⋅ u v \cdot u vu:计算向量 v v v u u u 方向上的投影长度(标量)。
  2. 乘以 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=(uuvu)u
因为在这种情况下,单位化 u u u 需要除以 ∣ ∣ u ∣ ∣ 2 ||u||^2 ∣∣u2

这个更一般的公式适用于任何向量 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]+[14]=[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=5 1[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=(5 1[21])(5 1[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=[11]
若投影算子为:
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=5 1[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=(5 1[21])(5 1[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=[2111]
然后计算:
P = U [ 2 − 1 − 1 1 ] U T P = U \begin{bmatrix} 2 & -1 \\ -1 & 1 \end{bmatrix} U^T P=U[2111]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{ 最小} ∣∣Axb2 最小
  • 最小二乘法的核心思想就是 用投影算子 P A P_A PA 找到 b b b A A A 列空间上的投影,并用该投影来求解最优拟合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74097.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java使用Apache POI 操作word文档

项目背景: 当我们对一些word文档(该文档包含很多的标题比如 1.1 ,1.2 , 1.2.1.1, 1.2.2.3)当我们删除其中一项或者几项时,需要手动的对后续的进行补充。该功能主要是对标题进行自动的补充。 具…

接收与发送ipv6数据包

一、ipv6的概念 IPv6 是英文 “Internet Protocol Version 6”(互联网协议第 6 版)的缩写,是互联网工程任务组(IETF)设计的用于替代 IPv4 的下一代 IP 协议,其地址数量号称可以为全世界的每一粒沙子编上…

龙虎榜——20250321

今日A股龙虎榜方向分析 根据2025年3月21日龙虎榜数据(涨停56家,跌停31家),市场呈现结构性分化行情,资金聚焦海洋经济、机器人、锂电等主线,部分个股遭机构大幅抛售。以下是具体方向解析: 一、资…

springboot milvus search向量相似度查询 踩坑使用经验

1.前提提要:java的pom 版本为:2.4.9 milvus 版本是:2.4.13-hotfix 2.先来工具类方法 /*** 向量搜索* param client* param query* return*/public SearchResp search(NonNull MilvusClientV2 client, NonNull VectorCondition query) {final …

[网络安全] 滥用Azure内置Contributor角色横向移动至Azure VM

本文来源于团队的超辉老师,其系统分析了Azure RBAC角色模型及其在权限滥用场景下的攻击路径。通过利用AADInternals工具提升用户至Contributor角色,攻击者可在Azure VM中远程执行命令,创建后门账户,实现横向移动。文中详述了攻击步…

Android Compose 基础布局之 Box 和 Stack 源码深度剖析(九)

Android Compose 基础布局之 Box 和 Stack 源码深度剖析 一、引言 1.1 Android 开发中布局的重要性 在 Android 应用开发里,布局是构建用户界面(UI)的关键环节。良好的布局设计能够提升用户体验,使应用界面更加美观、易用且具有…

知识蒸馏:让大模型“瘦身“而不失智慧的魔术

引言:当AI模型需要"减肥" 在人工智能领域,一个有趣的悖论正在上演:大模型的参数规模每年以10倍速度增长,而移动设备的算力却始终受限。GPT-4的1750亿参数需要价值500万美元的GPU集群运行,但现实中的智能设备…

多路FM调频广播解调器:多路电台FM广播信号一体化解调处理方案

多路FM调频广播解调器:多路电台FM广播信号一体化解调处理方案 支持OEM型号开放式协议支持二次开发设计 北京海特伟业科技有限公司任洪卓发布于2025年3月21日 在信息传播领域,FM调频广播媒体以其独特的优势持续发挥着重要作用。为了应对日益增长的多路…

如何在Spring Boot中设置HttpOnly Cookie以增强安全性

引言 在Web开发中,Cookie是用于在客户端和服务器之间传递信息的重要机制。然而,Cookie的安全性一直是一个备受关注的问题。特别是当Cookie中存储了敏感信息(如会话ID)时,如何防止这些信息被恶意脚本窃取就显得尤为重要。HttpOnly属性是增强Cookie安全性的一种有效手段。本…

LangManus:新一代开源智能体框架如何让AI开发更简单?

你是否想过,代码生成、数据分析甚至系统调试,都能由一个“AI助手”自动完成?最近,一款名为LangManus的开源项目在开发者社区掀起热议。它不只是一个工具库,更是一个能自主思考、执行复杂任务的智能体框架。无论是企业内…

【STM32】SPI通信协议W25Q64Flash存储器芯片(学习笔记)

通信接口部分有介绍SPI:【STM32】USART串口协议&串口外设-学习笔记-CSDN博客 SPI通信协议 SPI通信 SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线四根通信线:SCK(Serial Clock&…

批量合并 PPT 文件,支持合并成单个文件也支持按文件夹合并

合并多个 PPT 为一个 PPT 文档是我们经常会碰到的需求,合并后不仅更容易管理,在某些场景(比如批量打印)下也非常的有用,那当我们需要批量合并多个 PPT 文档地时候,我们有没有比较高效的方法呢?今…

LDAP从入门到实战:环境部署与配置指南(下)

#作者:朱雷 接上篇:《LDAP从入门到实战:环境部署与配置指南(上)》 链接: link 文章目录 2.5.添加账号2.6.停止服务2.7.使用TLS证书2.7.1. TLS 证书2.7.2. TLS 配置2.7.3. 服务器配置 2.8.使用安全连接的反向代理 2.5…

发现一个好用的Vue.js内置组件

目录 一、这个好用的内置组件是什么&#xff1f; 二、这个组件的主要功能 三、怎么使用&#xff1f; 四、使用注意事项 五、我的使用场景 一、这个好用的内置组件是什么&#xff1f; 今天在优化我的平台应用时&#xff0c;发现一个好用的组件标签--<keep-alive>。 …

dart学习记录5(类、对象)

1.获取运行时对象类型 使用Object 属性的 runtimeType&#xff0c;它返回一个 Type 对象。 print(a 的类型是 ${a.runtimeType});⚠️警告 在测试对象的类型时建议使用object is Type比测试 object.runtimeType Type 更稳定。 2.实例变量的声明 class Point {double? x;…

启明星辰春招面试题

《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token1860256701&langzh_CN 5000篇网安资料库https://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247486065&idx2&snb30ade8200e842743339d428f414475e&chksmc0e4732df793fa3bf39…

Live555+Windows+MSys2 编译Androidso库和运行使用

下载 wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz tar -xzvf live555-latest.tar.gz加入版本控制 git init git add . git commit -a -m "first init" git log修改config.android-arm64 cd live vim config.android-arm64 ./genMakefile…

实用工具-Stirling-PDF

windows桌面版参考这个文档 Getting Started | Stirling-PDF 安装包推荐使用迅雷下载&#xff0c;先转存到迅雷网盘在使用迅雷下载速度嘎嘎快。 github:https://github.com/Stirling-Tools/Stirling-PDF Stirling-PDF 是一个强大的、基于 Web 的开源 PDF 处理工具&#xff0c…

借助AI Agent实现数据分析

在当今数据驱动的世界中&#xff0c;数据分析已成为企业决策、科学研究和社会治理的核心工具。然而&#xff0c;随着数据量的爆炸式增长和复杂性的提升&#xff0c;传统的数据分析方法面临着效率低下、成本高昂和人力不足等挑战。AI技术的快速发展&#xff0c;尤其是AI Agent的…

JavaScript实现一个函数,将数组扁平化(flatten),即把多维数组转为一维数组。

大白话实现一个函数&#xff0c;将数组扁平化&#xff08;flatten&#xff09;&#xff0c;即把多维数组转为一维数组。 思路 实现数组扁平化的基本思路是遍历数组中的每个元素&#xff0c;如果元素是数组&#xff0c;就递归地将其扁平化并添加到结果数组中&#xff1b;如果元…