机器学习数学基础:线性代数基本定理

2021-04-19 12:52:38 浏览数 (1)

本文是《机器学习数学基础》补充资料,更多内容请访问:https://qiwsir.gitee.io/mathmetics/

由于微信浏览器对公式解析不很完美,若影响阅读,请访问上述网址,查看原文,或点击文末的“阅读原文”。

Gilbert Strang认为线性代数有四个基本定理

^{[1]}

线性代数的核心问题是向量空间的线性变换,向量空间是线性代数的研究对象,线性变换是研究向量空间的基本方法。线性变换将一个向量空间的子空间映射到另一个向量空间中的子空间。

定理1:秩-零化度定理

以下关于“秩-零化度定理”(rank-nullity theorem)的阐述。以下内容主要参考文献[2]和[3]。

如下图所示,线性变换

pmb{T}:mathbb{V}tomathbb{W}

mathbb{V}

是有限维向量空间,称为定义域

pmb{T}

值域,记作:

ran(pmb{T})

R(pmb{T})

,是

mathbb{W}

的子集。

ran({pmb{T}})={pmb{T}(pmb{v})|pmb{v}inmathbb{V}}
  • :若
mathbb{V}

里面有一个向量集合,其中每个向量

pmb{u}

pmb{T}

映射之后为零向量,即

pmb{T}(pmb{u})=pmb{0}

,则此向量集合称为

pmb{T}

(kernel),记作:

ker(pmb{T})

ker(pmb{T})

满足向量加法和数量乘法封闭性,是

mathbb{V}

的一个子空间。核也称为零空间(nullspace),

ker(pmb{T})={pmb{v}inmathbb{V}|pmb{T}(pmb{v})=pmb{0}}

  • 零化度:核的维度(dimension),称为零化度(nullity),记作:
dimker(pmb{T})

。可以度量核的大小。

  • :线性变换
pmb{T}

的值域的维度,称为(rank),记作:

rankpmb{T}=dim R(pmb{T})

秩—零化度定理

dimmathbb{V}=dimker(pmb{T}) rankpmb{T}

其中:

dimmathbb{V}

是线性变换

pmb{T}

的定义域、向量空间

mathbb{V}

的维度;

dimker(pmb{T})

是核的维度,即零化度;

rankpmb{T}

是值域的维度,即秩。

证明

证明1:通过矩阵

将线性变换

pmb{T}:mathbb{V}tomathbb{W}

mtimes n

的矩阵

pmb{A}

表示,其中:

n = dimmathbb{V}, m=dimmathbb{W}

线性变换

pmb{T}

的核

ker(pmb{T})

即为矩阵的零空间(null space)

N(pmb{A})

,它的维度即矩阵的零化度,记作

dim N(pmb{A})

。关于零空间的详细内容,参阅[4]。

值域

ran(pmb{T})

即为矩阵的列空间(column space)

C(pmb{A})

将矩阵

pmb{A}

化简为行梯形形式,用分块矩阵表示为:

pmb{R}=begin{bmatrix}pmb{I}_r&pmb{F}\pmb{0}&pmb{0}end{bmatrix}

其中

pmb{R}

的秩

r=rankpmb{R}

pmb{F}

rtimes(n-r)

阶矩阵。

因为矩阵行运算不改变轴数量,也不改变零空间,所以:

rankpmb{A}=rankpmb{R}=r

N(pmb{A})=N(pmb{R})

根据

pmb{R}

的形状,写出

ntimes(n-r)

阶零空间矩阵

pmb{P}

pmb{P} = begin{bmatrix}-pmb{F}\pmb{I}_{n-r}end{bmatrix}

用上述结果可以计算得到

pmb{RP}=0

,故确认

pmb{P}

是零空间矩阵。

pmb{RP}=begin{bmatrix}pmb{I}_r&pmb{F}\pmb{0}&pmb{0}end{bmatrix}begin{bmatrix}-pmb{F}\pmb{I}_{n-r}end{bmatrix}=begin{bmatrix}-pmb{F} pmb{F}\pmb{0} pmb{0}end{bmatrix}=0

pmb{x}=begin{bmatrix}pmb{x}_1\pmb{x}_2end{bmatrix}

,其中

pmb{x}_1

r

维向量,

pmb{x}_2

n-r

维向量,欲使

pmb{Rx}=pmb{0}

成立,即:

pmb{Rx}=begin{bmatrix}pmb{I}_r&pmb{F}\pmb{0}&pmb{0}end{bmatrix}begin{bmatrix}pmb{x}_1\pmb{x}_2end{bmatrix}=begin{bmatrix}pmb{x}_1 pmb{Fx}_2\pmb{0}end{bmatrix}=pmb{0}

所以:

pmb{x}_1=-pmb{Fx}_2

于是:

pmb{x}=begin{bmatrix}-pmb{Fx}_2\pmb{x}_2end{bmatrix}=begin{bmatrix}-pmb{F}\pmb{I}_{n-r}end{bmatrix}pmb{x}_2=pmb{Px}_2

所以:

C(pmb{P})=N(pmb{R})

即:

dim N(pmb{R})=dim C(pmb{P})=n-r

。从而证明:

n = dim N(pmb{A}) rankpmb{A}
mtimes n

的矩阵

pmb{A}

的秩

rankpmb{A}

和零化度

dim N(pmb{A})

之和等于

n

证明2:线性变换的向量空间分析

dimmathbb{V} = n,dimker(pmb{T})=p,ple n

ker(pmb{T})

的一组基底为

{pmb{u}_1,cdots,pmb{u}_p}

,扩充此基底为向量空间

mathbb{V}

的基底

{pmb{u}_1,cdots,pmb{u}_p,pmb{w}_1,cdots,pmb{w}_r}

n=p r

向量空间

mathbb{V}

中任一向量

pmb{v}

可表示为基底向量的唯一线性组合:

pmb{v}=a_1pmb{u}_1 cdots a_ppmb{u}_p b_1pmb{w}_1 cdots b_rpmb{w}_r

因为

pmb{T}(pmb{u})=pmb0

,即

pmb{T}(pmb{u}_1)=cdots=pmb{T}(pmb{u}_p)=pmb0

(如下图所示)

所以:

begin{split}pmb{T}(pmb{v})&=pmb{T}(a_1pmb{u}_1 cdots a_ppmb{u}_p b_1pmb{w}_1 cdots b_rpmb{w}_r)\&=a_1pmb{T}(pmb{u}_1) cdots a_ppmb{T}(pmb{u}_p) b_1pmb{T}(pmb{w}_1) cdots b_rpmb{T}(pmb{w}_r)\&=b_1pmb{T}(pmb{w}_1) cdots b_rpmb{T}(pmb{w}_r)end{split}
pmb{T}(pmb{w}_1),cdots,pmb{T}(pmb{w}_r)

张成了值域空间

ran(pmb{T})

设:

c_1pmb{T}(pmb{w}_1) cdots c_rpmb{T}(pmb{w}_r)=0

,也可以写成:

pmb{T}(c_1pmb{w}_1 cdots c_rpmb{w}_r)=0

,所以

c_1pmb{w}_1 cdots c_rpmb{w}_r

属于零空间

ker(pmb{T})

因为

{pmb{u}_1,cdots,pmb{u}_p}

ker(pmb{T})

的基底,故可以有如下表达式:

c_1pmb{w}_1 cdots c_rpmb{w}_r=d_1pmb{u}_1 cdots d_ppmb{u}_p

又因为

{pmb{u}_1,cdots,pmb{u}_p,pmb{w}_1,cdots,pmb{w}_r}

mathbb{V}

的基,也就是各个向量之间线性无关,所以上式中的系数都是

0

pmb{T}(pmb{w}_1),cdots,pmb{T}(pmb{w}_r)

是线性无关的向量集合,是

ran(pmb{T})

的基。

所以:

r=dim ran(pmb{T})=rankpmb{T}

n=p r

以及前面的假设,可得:

dimmathbb{V}=dimker(pmb{T}) rankpmb{T}

推论

dimmathbb{V}gtdimmathbb{W}

,则:

dimker(pmb{T})=dimmathbb{V}-dim ran(pmb{T})gedimmathbb{V}-dimmathbb{W}gt0

即存在非零向量

pmb{x}inmathbb{V}

使得

pmb{T}(pmb{x})=pmb{0}

,或曰

pmb{T}

不是一对一(因为

pmb{T}(pmb{0})=pmb{0}

)。

dimmathbb{V}ltdimmathbb{W}

,则:

dim ran(pmb{T})=dimmathbb{V}-dimker(pmb{T})ledimmathbb{V}ltdimmathbb{W}

即存在非零向量

yinmathbb{W}

使得

pmb{y}notin ran(pmb{T})

,或曰

pmb{T}

不是满射。

如果用矩阵表述:将线性变换

pmb{T}:mathbb{V}tomathbb{W}

mtimes n

的矩阵

pmb{A}

表示,其中:

n = dimmathbb{V}, m=dimmathbb{W}

ngt m

,则:

dim N(pmb{A})=n-dim C(pmb{A})ge n-m gt 0

。即零空间

N(pmb{A})

包含非零向量,或者说

pmb{Ax}=0

有无穷多组解。

nlt m

,则:

dim C(pmb{A})=n-dim N(pmb{A})le n lt m

。即列空间

C(pmb{A})

未能充满整个

mathbb{R}^m

(或

mathbb{C}^m

),或者说

pmb{Ax}=pmb{b}

不总是有解。

进一步理解

此定理说明了线性变换前后的空间维数变化。变换后的空间维数如果相对变换前的空间维数减少了——不可能增加,说明变换前的空间经过变换之后出现了“零输出”,零空间

ker(pmb{T})inmathbb{V}

就是产生“零输出”(即零向量)的变换前的向量集合。

“秩—零化度定理”即“维数守恒定律”,

★变换前的空间维数 = 零空间的维数 变换后的空间维数 ”

定理2:矩阵基本子空间

对于

mtimes n

的矩阵

pmb{A}

(仅讨论实数矩阵),用线性变换表示

pmb{A}:mathbb{R}^ntomathbb{R}^m

,用如下符号表示不同空间:

  • 列空间(column space):
C(pmb{A})={pmb{Ax}|pmb{x}inmathbb{R}^n}

,即矩阵的值域(range)。将矩阵用列向量的方式表示

pmb{A}=begin{bmatrix}pmb{a}_1&cdots&pmb{a}_nend{bmatrix}

,其中

pmb{a}_jinmathbb{R}^m

C(pmb{A})

是列向量的线性组合。

  • 零空间(nullspace):
N(pmb{A})={pmb{x}inmathbb{R}^n|pmb{Ax}=pmb{0}}
  • 行空间(row space):是转置矩阵
pmb{A}^T

的列空间,

C(pmb{A}^T)

因为矩阵的行秩等于列秩,即

rankpmb{A}=dim C(pmb{A})=dim C(pmb{A}^T)

,于是“秩—零化度定理”可以写成:

n = dim N(pmb{A}) dim C(pmb{A}^T)

将原矩阵转置,即得:

m=dim N(pmb{A}^T) dim C(pmb{A})
  • 左零空间(left nullspace):
N(pmb{A}^T)
C(pmb{A}^T),N(pmb{A})

mathbb{R}^n

的子空间,

C(pmb{A}),N(pmb{A}^T)

mathbb{R}^m

的子空间。

定理1已经说明了矩阵基本子空间的维数关系。

以上四个矩阵的基本子空间如下图所示

^{[5]}

在《机器学习数学基础》第3章3.4节“正交和投影”中,专门介绍了向量和向量空间的正交概念。此处就探讨矩阵的四个子空间的正交关系,这些关系就构成了线性代数的一个基本定理,即说明矩阵四个基本子空间的正交补的关系

pmb{S}

pmb{T}

是向量空间

mathbb{R}^p

的两个子空间,若它们正交,记作

pmb{S}botpmb{T}

在向量空间

mathbb{R}^p

中所有与

pmb{S}

正交的向量称为正交补(orthogonal complement),记作

pmb{S}^{bot}

p=dim{pmb{S}} dimpmb{S}^{bot}

pmb{S}cappmb{S}^{bot}={pmb{0}}

基本子空间的正交关系

N(pmb{A})=C(pmb{A}^T)^{bot}
N(pmb{A}^T)=C(pmb{A})^{bot}

下图显示了四个基本子空间之间的正交关系:

证明

由矩阵

pmb{A}_{mtimes n}

的零空间定义(参考文献[4])可知:

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\0end{bmatrix}

每个行向量与

pmb{x}

的内积都是

0

,所以

pmb{x}

与所有行向量的线性组合正交,即

N(pmb{A})bot C(pmb{A}^T)

又因为

n = dim N(pmb{A}) dim C(pmb{A}^T)

所以:

N(pmb{A})=C(pmb{A}^T)^{bot}

同样思路,对

pmb{A}

转置,有:

pmb{A}^Tpmb{y}=begin{bmatrix}A的第1列(col_1)\vdots\A的第n列(col_n)end{bmatrix}pmb{y}=begin{bmatrix}0\vdots\0end{bmatrix}

矩阵

pmb{A}

的每个列向量都与

pmb{y}

正交,即

N(pmb{A}^T)=C(pmb{A})^{bot}

为什么称为左零空间?

pmb{A}^Tpmb{y}=0

,左右都取转置,

pmb{y}^Tpmb{A}=pmb{0}^T

pmb{y}^T

位于

pmb{A}

的左边,故称

N(pmb{A}^T)

为左零空间。

定理3:正交基

^{[6]}

mtimes n

矩阵

pmb{A}

r=rankpmb{A}lemin{m,n}

{pmb{v}_1,cdots,pmb{v}_r}

pmb{A}

的行空间

C(pmb{A}^T)

的一组基,

{pmb{u}_1,cdots,pmb{u}_r}

是列空间

C(pmb{A})

的一组基。

sigma_1^2,cdots,sigma_n^2

sigma_ige0

)是

ntimes n

的矩阵

pmb{A}^Tpmb{A}

的特征值,

pmb{e}_1,cdots,pmb{e}_n

为相应的单位特征向量,则有:

pmb{A}^Tpmb{Ae}_i=sigma_i^2pmb{e}_i,quad i=1,cdots,n tag{3.1}

其中,

begin{cases}pmb{e}^T_ipmb{e}_i=1,quad i=j\pmb{e}^T_ipmb{e}_i=0,quad ine jend{cases}

将(3.1)式写成矩阵相乘的形式:

pmb{A}^Tpmb{A}begin{bmatrix}pmb{e}_1&cdots&pmb{e}_nend{bmatrix}=begin{bmatrix}pmb{e}_1&cdots&pmb{e}_nend{bmatrix}begin{bmatrix}sigma^2_1&cdots&0\vdots&ddots&vdots\0&cdots&sigma^2_nend{bmatrix}

pmb{E}=begin{bmatrix}pmb{e}_1&cdots&pmb{e}_nend{bmatrix}

,则

pmb{E}^Tpmb{E}=pmb{I}

,故

pmb{E}^T=pmb{E}^{-1}

,则

pmb{E}

是正交矩阵。对上式右乘

pmb{E}^T

后,得:

pmb{A}^Tpmb{A}=pmb{E}begin{bmatrix}sigma^2_1&cdots&0\vdots&ddots&vdots\0&cdots&sigma^2_nend{bmatrix}pmb{E}^T

所以,

rank(pmb{A}^Tpmb{A})=rank(diag(sigma^2_1,cdots,sigma^2_n))

根据前面的假设

r=rankpmb{A}

,可以假设

sigma_1gesigma_2gecdotssigma_rgt0

,且

sigma {r 1}=cdots=sigma_n=0

,则

rank(pmb{A}^Tpmb{A})=r

根据定理1,

dim N(pmb{A})=n-rankpmb{A}=n-r

另外:

begin{Vmatrix}pmb{Ae}_iend{Vmatrix}^2=pmb{e}_i^Tpmb{A}^Tpmb{Ae}_i=sigma_i^2pmb{e}^T_ipmb{e}_i=sigma_i^2

所以,

begin{Vmatrix}pmb{Ae}_iend{Vmatrix}=sigma_i,(1le ile n)

i=r 1,cdots,n

begin{Vmatrix}pmb{Ae}_iend{Vmatrix}=0

,即

pmb{Ae}_i=pmb{0}

因为

{pmb{e}_1,cdots,pmb{e}_n}

线性独立,且

dim N(pmb{A})=n-r

,所以

{pmb{e}_{r 1},cdots,pmb{e}_n}

pmb{A}

的零空间

N(pmb{A})

的基。

根据定理2,从子空间的正交补可知,

{pmb{e}_1,cdots,pmb{e}_r}

pmb{A}

的行空间

C(pmb{A}^T)

的基。

将(3.1)式左乘

pmb{A}

,得:

pmb{AA}^Tpmb{Ae}_i=sigma_i^2pmb{Ae}_i,i=1,cdots,n

mtimes m

矩阵

pmb{AA}^T

有非零特征值

sigma_1^2,cdots,sigma_r^2

,对应特征向量为

pmb{Ae}_i,i=1,cdots,r

令:

pmb{u}_i=frac{pmb{Ae}_i}{sigma_i},i=1,cdots,r

对于

1le{i,j}le{r}

pmb{u_i}^Tpmb{u}_j=left(frac{pmb{Ae}_i}{sigma_i}right)^Tleft(frac{pmb{Ae}_j}{sigma_j}right)=frac{pmb{e}_i^Tpmb{A}^Tpmb{Ae}_j}{sigma_isigma_j}=begin{cases}1quad(i=j)\0quad(ine j )end{cases}

{pmb{u}_1,cdots,pmb{u}_r}

构成了

pmb{A}

的列空间

C(pmb{A})

的一组单位正交基。

因为

pmb{AA}^T

pmb{A}^Tpmb{A}

有相同的非零特征值,

pmb{AA}^T

另有

m-r

个零特征值。

根据格拉姆-施密特正交化方法(参阅《机器学习数学基础》第3章3.5.1节),得左零空间

N(pmb{A}^T)=N(pmb{AA}^T)

的单位正交基

{pmb{u}_{r 1},cdots,pmb{u}_m}

因为

N(pmb{A}^T)=C(pmb{A})^{bot}

(定理2),

{pmb{u}_1,cdots,pmb{u}_m}

mathbb{R}^m

的单位正交基。

综上可得:

对于

mtimes n

矩阵

pmb{A}

,秩为

r

,则:

r=rankpmb{A}=rankpmb{A}^T=rank(pmb{A}^Tpmb{A})=rank(pmb{AA}^T)
C(pmb{A}^T)=C(pmb{A}^Tpmb{A}), C(pmb{A})=C(pmb{AA}^T)
N(pmb{A})=N(pmb{A}^Tpmb{A}), N(pmb{A}^T)=N(pmb{AA}^T)
pmb{A}^Tpmb{A}

的特征值为

sigma_1^2,cdots,sigma_n^2

,对应单位正交的特征向量

pmb{e}_1,cdots,pmb{e}_n
pmb{AA}^T

的特征值为

sigma_1^2,cdots,sigma_m^2

,对应单位正交的特征向量

pmb{u}_1,cdots,pmb{u}_m
pmb{Ae}_i=sigma_ipmb{u}_i,sigma_igt0,i=1,cdots,r

,且

pmb{Ae}_i=pmb{0},i=r 1,cdots,n
pmb{A}^Tpmb{u}_j=sigmapmb{e}_j,sigma_jgt0,j=1,cdots,r

,且

pmb{A}^Tpmb{u}_j=pmb{0},j=r 1,cdots,m

基本子空间的单位正交基

  • 行空间
C(pmb{A}^T)

的基:

{pmb{e}_1,cdots,pmb{e}_r}

dim C(pmb{A}^T)=r
  • 零空间
N(pmb{A})

的基:

{pmb{e}_{r 1},cdots,pmb{e}_n}

dim N(pmb{A})=n-r
  • 列空间
C(pmb{A})

的基:

{pmb{u}_1,cdots,pmb{u}_r}

dim C(pmb{A}) = r
  • 左零空间
N(pmb{A}^T)

的基:

{pmb{u}_{r 1},cdots,pmb{u}_m}

dim N(pmb{A}^T)=m-r

定理4:奇异值分解

详见《机器学习数学基础》第3章3.5.3节。

术语比较

^{[7]}

线性变换

矩阵

值域:$ran(pmb{T})={pmb{T}(pmb{x})

pmb{x}inmathbb{V}}subseteqmathbb{W}$

核:

零空间:$N(pmb{A})={pmb{x}inmathbb{R}^n

秩:

秩:

零化度:

零化度:

满射: ,即

满行秩: ,即

单射: ,即

满列秩: ,即

同构:

满秩:

pmb{T}:mathbb{V}tomathbb{W}

线性变换

mtimes n

矩阵

pmb{A}:mathbb{R}^ntomathbb{R}^m

值域:$ran(pmb{T})={pmb{T}(pmb{x})pmb{x}inmathbb{V}}subseteqmathbb{W}$核:

ker(pmb{T})={pmb{x}inmathbb{V} pmb{T}(pmb{x})=pmb{0}}subseteqmathbb{V}

零空间:$N(pmb{A})={pmb{x}inmathbb{R}^n秩:

rankpmb{T}=dim ran(pmb{T})

秩:

rankpmb{A}=dim C(pmb{A})

零化度:

nullitypmb{T}=dimker(pmb{T})

零化度:

nullitypmb{A}=dim N(pmb{A})

满射:

ran(pmb{T})=mathbb{W}

,即

rankpmb{T}=dimpmb{T}

满行秩:

C(pmb{A})=mathbb{R}^m

,即

rankpmb{A}=m

单射:

ker(pmb{T})={pmb{0}}

,即

rankpmb{T}=dimmathbb{V}

满列秩:

N(pmb{A})={pmb{0}}

,即

rankpmb{A}=n

同构:

rankpmb{T}=dimmathbb{W}=dimmathbb{V}

满秩:

rankpmb{A}=m=n

参考文献

[1]. Gilbert Strang, The Fundamental Theorem of Linear Algebra, American Mathematical Monthly, 100, 1993, 848-855.

[2]. https://ccjou.wordpress.com/2009/03/23/線性代數基本定理-一/

[3]. https://zh.wikipedia.org/wiki/秩-零化度定理

[4]. 零空间

[5]. https://ccjou.wordpress.com/2009/05/06/線性代數基本定理-二/

[6]. https://ccjou.wordpress.com/2009/05/15/線性代數基本定理-三/

[7]. https://ccjou.wordpress.com/2012/11/12/線性變換與矩陣的用語比較/

0 人点赞