线代:1.8SVD分解的证明
Posted oldmao_2000
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线代:1.8SVD分解的证明相关的知识,希望对你有一定的参考价值。
文章目录
本课程来自 深度之眼,部分截图来自课程视频。
【第一章 线性代数】1.8SVD分解的证明
在线LaTeX公式编辑器
任务详解:
这节课主要介绍了矩阵的奇异值分解(SVD分解),SVD分解的应用,多元线性回归等知识点。
掌握目标:
了解svd分解证明过程,以及svd分解的算法流程
之前的课程描述的是方阵,对称阵的处理,对于一般矩阵是怎么化简的呢,就是下面的SVD分解的内容。
PS:用H或者T都是表示矩阵的转置,一个是复矩阵,一个实矩阵的写法,下面讨论的都是实矩阵,但参考书上针对复矩阵,所以用的H ,这里我们认为两个木有区别。
奇异值分解的证明过程有点复杂,虽然编程序的时候可以做调包侠,但是理解其来龙去脉是很有必要的。
1.矩阵的奇异值分解(SVD分解)
为了论述矩阵的奇异值与奇异值分解,需要下面的结论:
(1)设
A
∈
C
r
m
×
n
(
r
>
0
)
A\\in C_r^m\\times n(r>0)
A∈Crm×n(r>0),(这里m和n代表矩阵的行列,r是矩阵的秩)则
A
H
A
A^HA
AHA是Hermite矩阵,(如果矩阵A不包含复数,那么
A
H
=
A
T
A^H=A^T
AH=AT)且其特征值均是非负实数;
这里小小证明一下(本来是上节证明的内容,偷懒没写,现在补上):
A
T
A
A^TA
ATA写为:
x
T
A
T
A
x
=
(
A
x
)
T
A
x
x^TA^TAx=(Ax)^TAx
xTATAx=(Ax)TAx
这里x是向量,A是矩阵,那么Ax就是一个向量,令
z
=
A
x
z=Ax
z=Ax,上面就
=
z
T
z
=
∣
∣
z
∣
∣
2
≥
0
=z^Tz=||z||^2≥0
=zTz=∣∣z∣∣2≥0
因此可以断定
A
T
A
A^TA
ATA是半正定的,他的特征值
λ
i
≥
0
\\lambda_i≥0
λi≥0
(2)
r
a
n
k
(
A
H
A
)
=
r
a
n
k
(
A
)
rank(A^HA)=rank(A)
rank(AHA)=rank(A);
证明:这里只要证明两者的解空间是一样的即可,因为上节讲解空间的时候有下面的结论
R
(
A
)
+
N
(
A
)
=
n
R(A)+N(A)=n
R(A)+N(A)=n
解空间N(A)一样,那么秩R(A)也就一样了,也就是要证明
A
T
A
x
=
0
A^TAx=0
ATAx=0和
A
x
=
0
Ax=0
Ax=0的解一样,就是x是前者的解也是后者的解。
分两种情况看:
第一种:x=0的时候,肯定是两个方程的解
第二种:对于
∀
x
≠
0
\\forall x\\neq0
∀x=0,有:
A
T
A
x
=
0
A^TAx=0
ATAx=0,要把
A
T
A^T
AT去掉,不能两边同时乘
A
T
A^T
AT的逆矩阵,因为
A
T
A^T
AT不一定有逆矩阵。所以我们方程两边同时乘
x
T
x^T
xT,得:
x
T
A
T
A
x
=
0
x^TA^TAx=0
xTATAx=0,即
(
A
x
)
T
A
x
=
0
(Ax)^TAx=0
(Ax)TAx=0,这里,由于x是向量,A是矩阵,Ax是一个向量
x
T
A
T
A
x
x^TA^TAx
xTATAx相当于求Ax的模长,模长等于0就意味着向量Ax中的每一项都是0,也就是
A
T
A
x
=
0
A^TAx=0
ATAx=0与
A
x
=
0
Ax=0
Ax=0解是一样的(解空间一样),因此秩也就一样。
(3)设
A
∈
C
r
m
×
n
A\\in C_r^m\\times n
A∈Crm×n,则
A
=
0
A=0
A=0的充要条件是
A
H
A
=
0
A^HA=0
AHA=0.
奇异值的定义
定义4.11:
A
∈
C
r
m
×
n
(
r
>
0
)
A\\in C_r^m\\times n(r>0)
A∈Crm×n(r>0),
A
H
A
A^HA
AHA的特征值为
λ
1
≥
λ
2
≥
…
≥
λ
r
>
λ
r
+
1
=
…
=
λ
n
=
0
\\lambda_1≥\\lambda_2≥…≥\\lambda_r>\\lambda_r+1=…=\\lambda_n=0
λ1≥λ2≥…≥λr>λr+1=…=λn=0则称
σ
i
=
λ
i
(
i
=
1
,
2
,
…
,
n
)
\\sigma_i=\\sqrt\\lambda_i(i=1,2,…,n)
σi=λi(i=1,2,…,n)为A的奇异值;当A为零矩阵时,它的奇异值都是0。
说人话:根据定义可以得到
A
H
A
A^HA
AHA的特征值有r个是大于0的,其他都是等于0的。于是有下面定理:
---------------------------------------------------------割你没商量------------------------------------------------------
定理4.16:设
A
∈
C
r
m
×
n
(
r
>
0
)
A\\in C_r^m\\times n(r>0)
A∈Crm×n(r>0),则存在m阶正交矩阵U和n阶正交矩阵V,使得
U
H
A
V
=
[
Σ
0
0
0
]
U^HAV=\\beginbmatrix \\Sigma &0 \\\\ 0 & 0 \\endbmatrix
UHAV=[Σ000]
其中
Σ
=
d
i
a
g
(
σ
1
,
σ
2
,
…
,
σ
r
)
\\Sigma=diag(\\sigma_1,\\sigma_2,…,\\sigma_r)
Σ=diag(σ1,σ2,…,σr),而。
σ
i
(
i
=
1
,
2
,
…
,
r
)
\\sigma_i(i=1,2,…,r)
σi矩阵的SVD分解