介绍
舒尔补在机器学习中有着重要的作用,主要体现在多维高斯函数的边缘分布推导,以及条件分布推导的过程.在机器人学中的状态估计也有比较重要的作用.
下文记录(抄写)一个个人来说比较好理解的叙述(非讲解,不证明),来自于上交大许志钦老师的凸优化课程
公式叙述
舒尔补主要是告诉我们:
n
×
n
n\times n
n×n的矩阵可以写为分块形式:
M
=
[
A
B
C
D
]
n
×
n
M = \begin{bmatrix} A & B \\ C & D\end{bmatrix}_{n \times n}
M=[ACBD]n×n
其中A与D为方阵
- 若A为非奇异,则A在M中的舒尔补为 D − C A − 1 B D-CA^{-1}B D−CA−1B
- 若D为非奇异,则D在M中的舒尔补为 A − B D − 1 C A-BD^{-1}C A−BD−1C
若A为非奇异有:
[
I
0
−
C
A
−
1
I
]
[
A
B
C
D
]
[
I
−
A
B
−
1
0
I
]
=
[
A
0
0
D
−
C
A
−
1
B
]
\begin{bmatrix} I &0 \\ -CA^{-1} & I \end{bmatrix}\begin{bmatrix} A & B \\ C &D\end{bmatrix} \begin{bmatrix} I & -AB^{-1} \\ 0 & I\end{bmatrix} = \begin{bmatrix} A & 0 \\ 0 & D-CA^{-1}B\end{bmatrix}
[I−CA−10I][ACBD][I0−AB−1I]=[A00D−CA−1B]
观察等号左侧,可知该过程是对M施加初等行列变换. 初等行列变换并不会改变原来矩阵的行列式的值
∣ A B C D ∣ = ∣ A 0 0 D − C A − 1 B ∣ = ∣ A ∣ ∣ D − C A − 1 B ∣ \begin{vmatrix}A & B \\ C & D\end{vmatrix} = \begin{vmatrix}A & 0 \\ 0 & D-CA^{-1}B\end{vmatrix}=|A||D-CA^{-1}B| ∣ ∣ACBD∣ ∣=∣ ∣A00D−CA−1B∣ ∣=∣A∣∣D−CA−1B∣
此时
M
M
M非奇异有
D
−
C
A
−
1
B
D-CA^{-1}B
D−CA−1B非奇异
同理, 当
D
D
D非奇异时,
A
−
B
D
−
1
C
A-BD^{-1}C
A−BD−1C非奇异
22/9/17 补充
[ I − B D − 1 0 I ] [ A B C D ] [ I 0 − D − 1 C I ] = [ A − B D − 1 C 0 0 D ] \begin{bmatrix} I & -BD^{-1}\\ 0 & I \end{bmatrix}\begin{bmatrix} A & B \\ C & D \end{bmatrix}\begin{bmatrix} I & 0\\ -D^{-1}C &I \end{bmatrix} = \begin{bmatrix} A-BD^{-1}C & 0\\ 0 & D \end{bmatrix} [I0−BD−1I][ACBD][I−D−1C0I]=[A−BD−1C00D]