《机器学习数学基础》补充资料:矩阵基本子空间
秩-零化度定理是线性代数中第一个基本定理,本文介绍的“矩阵基本子空间”,是第二定理。
定理2:矩阵基本子空间
对于 m × n m\times n m×n 的矩阵 A \pmb{A} A (仅讨论实数矩阵),用线性变换表示 A : R n → R m \pmb{A}:\mathbb{R}^n\to\mathbb{R}^m A:Rn→Rm,用如下符号表示不同空间:
- 列空间(column space): C ( A ) = { A x ∣ x ∈ R n } C(\pmb{A})=\{\pmb{Ax}|\pmb{x}\in\mathbb{R}^n\} C(A)={Ax∣x∈Rn} ,即矩阵的值域(range)。将矩阵用列向量的方式表示 A = [ a 1 ⋯ a n ] \pmb{A}=\begin{bmatrix}\pmb{a}_1&\cdots&\pmb{a}_n\end{bmatrix} A=[a1⋯an] ,其中 a j ∈ R m \pmb{a}_j\in\mathbb{R}^m aj∈Rm , C ( A ) C(\pmb{A}) C(A) 是列向量的线性组合。
- 零空间(nullspace): N ( A ) = { x ∈ R n ∣ A x = 0 } N(\pmb{A})=\{\pmb{x}\in\mathbb{R}^n|\pmb{Ax}=\pmb{0}\} N(A)={x∈Rn∣Ax=0}
- 行空间(row space):是转置矩阵 A T \pmb{A}^{\text{T}} AT 的列空间, C ( A T ) C(\pmb{A}^{\text{T}}) C(AT)
因为矩阵的行秩等于列秩,即 rank A = dim C ( A ) = dim C ( A T ) \text{rank}\pmb{A}=\dim C(\pmb{A})=\dim C(\pmb{A}^{\text{T}}) rankA=dimC(A)=dimC(AT) ,于是“秩—零化度定理”可以写成:
n
=
dim
N
(
A
)
+
dim
C
(
A
T
)
n = \dim N(\pmb{A}) + \dim C(\pmb{A}^{\text{T}})
n=dimN(A)+dimC(AT)
将原矩阵转置,即得:
m = dim N ( A T ) + dim C ( A ) m=\dim N(\pmb{A}^{\text{T}})+\dim C(\pmb{A}) m=dimN(AT)+dimC(A)
- 左零空间(left nullspace): N ( A T ) N(\pmb{A}^T) N(AT)
C ( A T ) , N ( A ) C(\pmb{A}^{\text{T}}),N(\pmb{A}) C(AT),N(A) 是 R n \mathbb{R}^n Rn 的子空间, C ( A ) , N ( A T ) C(\pmb{A}),N(\pmb{A}^{\text{T}}) C(A),N(AT) 是 R m \mathbb{R}^m Rm 的子空间。
秩—零化度定理已经说明了矩阵基本子空间的维数关系。
以上四个矩阵的基本子空间如下图所示:
在《机器学习数学基础》第 3 章 3.4 节“正交和投影”中,专门介绍了向量和向量空间的正交概念。此处就探讨矩阵的四个子空间的正交关系,这些关系就构成了线性代数的一个基本定理,即说明矩阵四个基本子空间的正交补的关系。
设 S \pmb{S} S 和 T \pmb{T} T 是向量空间 R p \mathbb{R}^p Rp 的两个子空间,若它们正交,记作 S ⊥ T \pmb{S}\bot\pmb{T} S⊥T 。
在向量空间 R p \mathbb{R}^p Rp 中所有与 S \pmb{S} S 正交的向量称为正交补(orthogonal complement),记作 S ⊥ \pmb{S}^{\bot} S⊥ 。
p = dim S + dim S ⊥ p=\dim{\pmb{S}} + \dim\pmb{S}^{\bot} p=dimS+dimS⊥ 且 S ∩ S ⊥ = { 0 } \pmb{S}\cap\pmb{S}^{\bot}=\{\pmb{0}\} S∩S⊥={0} 。
基本子空间的正交关系
-
N ( A ) = C ( A T ) ⊥ N(\pmb{A})=C(\pmb{A}^{\text{T}})^{\bot} N(A)=C(AT)⊥
-
N ( A T ) = C ( A ) ⊥ N(\pmb{A}^{\text{T}})=C(\pmb{A})^{\bot} N(AT)=C(A)⊥
下图显示了四个基本子空间之间的正交关系:
证明
由矩阵 A m × n \pmb{A}_{m\times n} Am×n 的零空间定义(参考文献 [4])可知:
A
x
=
0
⟹
A
x
=
[
A
的第
1
行
(
r
o
w
1
)
⋮
A
的第
m
行
(
r
o
w
m
)
]
x
=
[
0
⋮
0
]
\pmb{Ax}=0 \Longrightarrow \pmb{Ax}=\begin{bmatrix}A的第1行(row_1)\\\vdots\\A的第m行(row_m)\end{bmatrix}\pmb{x}=\begin{bmatrix}0\\\vdots\\0\end{bmatrix}
Ax=0⟹Ax=
A的第1行(row1)⋮A的第m行(rowm)
x=
0⋮0
每个行向量与
x
\pmb{x}
x 的内积都是
0
0
0 ,所以
x
\pmb{x}
x 与所有行向量的线性组合正交,即
N
(
A
)
⊥
C
(
A
T
)
N(\pmb{A})\bot C(\pmb{A}^{\text{T}})
N(A)⊥C(AT) 。
又因为 n = dim N ( A ) + dim C ( A T ) n = \dim N(\pmb{A}) + \dim C(\pmb{A}^{\text{T}}) n=dimN(A)+dimC(AT) ,
所以: N ( A ) = C ( A T ) ⊥ N(\pmb{A})=C(\pmb{A}^{\text{T}})^{\bot} N(A)=C(AT)⊥
同样思路,对 A \pmb{A} A 转置,有:
A
T
y
=
[
A
的第
1
列
(
c
o
l
1
)
⋮
A
的第
n
列
(
c
o
l
n
)
]
y
=
[
0
⋮
0
]
\pmb{A}^{\text{T}}\pmb{y}=\begin{bmatrix}A的第1列(col_1)\\\vdots\\A的第n列(col_n)\end{bmatrix}\pmb{y}=\begin{bmatrix}0\\\vdots\\0\end{bmatrix}
ATy=
A的第1列(col1)⋮A的第n列(coln)
y=
0⋮0
矩阵
A
\pmb{A}
A 的每个列向量都与
y
\pmb{y}
y 正交,即
N
(
A
T
)
=
C
(
A
)
⊥
N(\pmb{A}^{\text{T}})=C(\pmb{A})^{\bot}
N(AT)=C(A)⊥ 。
为什么称为左零空间?
A T y = 0 \pmb{A}^{\text{T}}\pmb{y}=0 ATy=0 ,左右都取转置, y T A = 0 T \pmb{y}^{\text{T}}\pmb{A}=\pmb{0}^{\text{T}} yTA=0T , y T \pmb{y}^{\text{T}} yT 位于 A \pmb{A} A 的左边,故称 N ( A T ) N(\pmb{A}^{\text{T}}) N(AT) 为左零空间。