引入
奇异值分解(SVD)是一种矩阵因子分解方法。
任意一个 m × n m\times n m×n矩阵,都可以表示为三个矩阵的乘积(因子分解)形式,分别是 n n n阶正交矩阵、由降序排列的非负的对角线元素组成的 m × n m\times n m×n的矩形对角矩阵和 n n n阶正交矩阵。
矩阵的奇异值分解一定存在,但不唯一。
奇异值分解可以看做矩阵数据压缩的一种方法,即用因子分解的方式近似地表示原始矩阵,这种近似是在平方损失意义下的最优近似。
奇异值分解的定义与性质
定义与定理
定义15.1(奇异值分解)矩阵的奇异值分解是指,将一个非零的
m
×
m
m\times m
m×m实矩阵
A
∈
R
m
×
n
A\in R^{m\times n}
A∈Rm×n,表示为一下三个实矩阵乘积形式的运算,即进行矩阵的因子分解:
A
=
U
Σ
V
T
A=U\Sigma V^T
A=UΣVT
其中
U
U
U是
m
m
m阶正交矩阵,
V
V
V是
n
n
n阶正交矩阵,
Σ
\Sigma
Σ是由降序排列的非负的对角元素组成的
m
×
n
m\times n
m×n矩形对角矩阵,满足
U
U
T
=
I
V
V
T
=
I
Σ
=
d
i
a
g
(
σ
1
,
.
.
.
,
σ
p
)
σ
1
≥
σ
2
≥
.
.
.
≥
σ
p
≥
0
p
=
min
(
m
,
n
)
\begin{aligned}&UU^T=I\\&VV^T=I\\&\Sigma=diag(\sigma_1,...,\sigma_p)\\&\sigma_1\ge\sigma_2\ge...\ge\sigma_p\ge 0\\&p=\min(m,n)\end{aligned}
UUT=IVVT=IΣ=diag(σ1,...,σp)σ1≥σ2≥...≥σp≥0p=min(m,n)
其中
σ
i
\sigma_i
σi称为
A
A
A的奇异值,
U
U
U的列向量称为左奇异向量,
V
V
V的列向量称为右奇异向量。
定理15.1(奇异值分解基本定理)若 A A A为一个 m × n m\times n m×n实矩阵, A ∈ R m × n A\in R^{m\times n} A∈Rm×n,则 A A A的奇异值存在。
紧奇异值分解与截断奇异值分解
定理15.1给出的奇异值分解称为矩阵的完全奇异值分解。实际常用的是奇异值分解的紧凑形式和截断形式。
紧奇异值分解是与原始矩阵等秩的奇异值分解;截断奇异值分解是比原始矩阵低秩的奇异值分解。
紧奇异值分解
定义15.2设有
m
×
n
m\times n
m×n实矩阵
A
A
A,其秩为
r
a
n
k
(
A
)
=
r
rank(A)=r
rank(A)=r,
r
≤
min
(
m
,
n
)
r\le \min(m,n)
r≤min(m,n),则称
U
r
Σ
r
V
r
T
U_r\Sigma_rV_r^T
UrΣrVrT为
A
A
A的紧奇异值分解,即
A
=
U
r
Σ
r
V
r
T
A=U_r\Sigma_rV_r^T
A=UrΣrVrT
其中,
U
r
U_r
Ur是
m
×
r
m\times r
m×r矩阵,
V
r
V_r
Vr是
n
×
r
n\times r
n×r矩阵,
Σ
r
\Sigma_r
Σr是
r
r
r阶对角矩阵;这些元素都是完全奇异值分解中对应元素的前
r
r
r列。
截断奇异值分解
在矩阵的奇异值分解中,只取最大的 k k k个奇异值( k < r k\lt r k<r, r r r为矩阵的秩),对应的部分,就得到矩阵的截断奇异值分解。
实际应用中提及奇异值分解,通常指的是截断奇异值分解。
定义15.3设有
m
×
n
m\times n
m×n实矩阵
A
A
A,其秩为
r
a
n
k
(
A
)
=
r
rank(A)=r
rank(A)=r,
0
<
k
<
r
0\lt k\lt r
0<k<r,则称
U
k
Σ
k
V
k
T
U_k\Sigma_kV_k^T
UkΣkVkT为
A
A
A的紧奇异值分解,即
A
=
U
k
Σ
k
V
k
T
A=U_k\Sigma_kV_k^T
A=UkΣkVkT
其中,
U
k
U_k
Uk是
m
×
k
m\times k
m×k矩阵,
V
k
V_k
Vk是
n
×
k
n\times k
n×k矩阵,
Σ
k
\Sigma_k
Σk是
k
k
k阶对角矩阵;这些元素都是完全奇异值分解中对应元素的前
k
k
k列。
奇异值分解是在平方损失(福罗贝尼乌斯范数)意义下对矩阵的最优近似。紧奇异值分解对应着无损压缩,截断奇异值分解对应着有损压缩。
几何解释
m × n m\times n m×n矩阵 A A A表示从 n n n维空间 R n R^n Rn到 m m m维空间 R m R^m Rm的一个线性变换(关于线性变换可以参考线性变换和矩阵乘法), T : x → A x T:x\to Ax T:x→Ax
在这里,我简单地总结一下:
- 坐标相当于是对基的缩放;
- 线性变换矩阵的每一列表示的是变换之后的基;
- 矩阵的乘法可以理解为,一个矩阵中的每一个基视为一个列向量,得到其在左乘矩阵后的表示,然后这作为基来变换原向量。
线性变换可以分解为三个简单的变换:一个坐标系的旋转(线性变换矩阵的列向量可以视为基做变换之后)或反射变换、一个坐标轴的缩放变换、另一个坐标系的旋转或反射变换。
V , U V,U V,U都是正交矩阵,所以 V V V的列向量构成 R n R^n Rn空间的一组标准正交基,表示 R n R^n Rn中的正交坐标系的旋转或反射变换; U U U的列向量构成 R m R^m Rm空间的一组标准正交基,表示 R m R^m Rm中的正交坐标系的旋转或反射变换; Σ \Sigma Σ表示 R n R_n Rn中的原始正交坐标系坐标轴的 σ 1 , . . . , σ n \sigma_1,...,\sigma_n σ1,...,σn倍的缩放变换。
正交变换不改变基的长度,只改变其角度。相当于就是把这个角度变换和长度变换分开进行了。
矩阵的奇异值分解也可以看作是将对应的线性变换分解为旋转变换、缩放变换、旋转变换的组合。
矩阵关于空间的部分概念
值域:某个空间中所有向量经过变换矩阵后形成的向量的集合,通常用R(A)来表示,A 是变换矩阵。
这篇文章也可以参考。
比如说以 ( 1 , 0 , 0 ) , ( 0 , 1 , 0 ) (1,0,0),(0,1,0) (1,0,0),(0,1,0)为基的xy平面就是三维向量空间的子空间。这个子空间的维数就是2。
主要性质
(1)设矩阵
A
A
A的奇异值分解为
A
=
U
Σ
V
T
A=U\Sigma V^T
A=UΣVT,则下列关系成立
A
T
A
=
(
U
Σ
V
T
)
T
(
U
Σ
V
T
)
=
V
(
Σ
T
Σ
)
V
T
A
A
T
=
U
(
Σ
Σ
T
)
U
T
\begin{aligned}&A^TA=(U\Sigma V^T)^T(U\Sigma V^T)=V(\Sigma^T\Sigma)V^T\\&AA^T=U(\Sigma\Sigma^T)U^T\end{aligned}
ATA=(UΣVT)T(UΣVT)=V(ΣTΣ)VTAAT=U(ΣΣT)UT
这表明了,矩阵
A
T
A
,
A
A
T
A^TA,AA^T
ATA,AAT的特征分解存在,且可以由
A
A
A的奇异值分解的矩阵表示。
V
V
V的列向量是
A
T
A
A^TA
ATA的特征向量,
Σ
\Sigma
Σ的奇异值是
A
T
A
A^TA
ATA的特征值的平方根,这对
A
A
T
AA^T
AAT也成立。因为
U
,
V
U,V
U,V正交,说白了这就是一个相似变换,这俩矩阵相似!特征值自然就对应上了咯。
(2)在矩阵 A A A的奇异值分解中,奇异值、左奇异向量和右奇异向量之间存在对应关系。
(3)在矩阵 A A A的奇异值分解中,奇异值 σ 1 , σ 2 , . . . , σ n \sigma_1,\sigma_2,...,\sigma_n σ1,σ2,...,σn是唯一的,而俩正交矩阵不是。(联想一下,这个相似变换的特征值是唯一的,但是这个特征向量不是)
(4)矩阵 A A A和 Σ \Sigma Σ的秩相等,等于正奇异值 σ i \sigma_i σi的个数 r r r。
(5.1)矩阵 A A A的 r r r个右奇异向量构成 A T A^T AT的零空间 N ( A ) N(A) N(A)的一组标准正交基(为什么是 A T A^T AT,因为这样他的值域才是与右奇异向量相关)。
(5.2)矩阵 A A A的 n − r n-r n−r个右奇异向量构成 A A A的值域 R ( A T ) R(A^T) R(AT)的一组标准正交基。
(5.3)矩阵 A A A的 r r r个左奇异向量构成 A A A的值域 R ( A ) R(A) R(A)的一组标准正交基。
(5.4)矩阵 A A A的 m − r m-r m−r个左奇异向量构成 A T A^T AT的零空间 N ( A T ) N(A^T) N(AT)的一组标准正交基。
奇异值分解的计算
奇异值分解基本定理证明的过程蕴含了奇异值分解的计算方法。
矩阵 A A A的奇异值分解可以通过求对称矩阵 A T A A^TA ATA的特征值和特征向量得到(性质1):
- A T A A^TA ATA的特征向量构成正交矩阵 V V V的列;
- A T A A^TA ATA的特征值 λ j \lambda_j λj的平方根为奇异值 σ j \sigma_j σj。对其由大到小排列作为对角线元素,构成对角矩阵 Σ \Sigma Σ;
- 求正奇异值对应的左奇异向量,再求扩充的 A T A^T AT的标准正交基,构成正交矩阵 U U U的列。
我们在 R ( A ) R(A) R(A)中找到了 r r r个左奇异向量,接着要从 N ( A T ) N(A^T) N(AT)找到剩下的 m − r m-r m−r个左奇异向量,这是根据性质5得到的。
奇异值分解与矩阵近似
弗罗贝尼乌斯范数
奇异值分解也是一种矩阵近似的方法,这个近似是在弗罗贝尼乌斯范数意义下的近似。
矩阵的弗罗贝尼乌斯范数是向量的 L 2 L2 L2范数的直接推广,对应着机器学习中的平方损失函数。
**定义15.4(弗罗贝尼乌斯范数)**设矩阵 A ∈ R m × n , A = [ a i j ] m × n A\in R^{m\times n},A=[a_{ij}]_{m\times n} A∈Rm×n,A=[aij]m×n定义矩阵 A A A的弗罗贝尼乌斯范数为 ∥ A ∥ F = ( ∑ i = 1 m ∑ j = 1 n ( a i j ) ) 1 2 \|A\|_F=(\sum_{i=1}^m\sum_{j=1}^n(a_{ij}))^{\frac{1}{2}} ∥A∥F=(i=1∑mj=1∑n(aij))21
引理15.1设矩阵 A ∈ R m × n A\in R^{m\times n} A∈Rm×n, A A A的奇异值分解为 U Σ V T U\Sigma V^T UΣVT,其中 Σ = d i a g ( σ 1 , σ 2 , . . . , σ n ) \Sigma=diag(\sigma_1,\sigma_2,...,\sigma_n) Σ=diag(σ1,σ2,...,σn),则 ∥ A ∥ F = ( σ 1 2 + σ 2 2 + . . . + σ n 2 ) 1 2 \|A\|_F=(\sigma_1^2+\sigma_2^2+...+\sigma_n^2)^\frac{1}{2} ∥A∥F=(σ12+σ22+...+σn2)21
矩阵的近似最优
奇异值分解是在平方损失意义下对矩阵的最优近似,即数据压缩。
定理15.2 设矩阵
A
∈
R
m
×
n
A\in R^{m\times n}
A∈Rm×n,矩阵的秩
r
a
n
k
(
A
)
=
r
rank(A)=r
rank(A)=r,并设
M
\mathbb{M}
M为
R
m
×
n
R^{m\times n}
Rm×n中所有秩不超过
k
k
k的矩阵集合,
0
<
r
<
k
0\lt r\lt k
0<r<k,则存在一个秩为
k
k
k的矩阵
X
∈
M
X\in\mathbb{M}
X∈M,使得
∥
A
−
X
∥
F
=
min
S
∈
M
∥
A
−
S
∥
F
\|A-X\|_F=\min_{S\in\mathbb{M}}\|A-S\|_F
∥A−X∥F=S∈Mmin∥A−S∥F
称矩阵
X
X
X为
A
A
A在弗罗内尼乌斯范数意义下的最优近似。
定理15.3 设矩阵 A ∈ R m × n A\in R^{m\times n} A∈Rm×n,矩阵的秩 r a n k ( A ) = r rank(A)=r rank(A)=r,有奇异值分解 A = U Σ V T A=U\Sigma V^T A=UΣVT,并设 M \mathbb{M} M为 R m × n R^{m\times n} Rm×n中所有秩不超过 k k k的矩阵集合,若秩为k的矩阵 X X X是 A A A在弗罗内尼乌斯范数意义下的最优近似。
则 ∥ A − X ∥ F = ( σ k + 1 2 + σ k + 2 2 + . . . + σ n 2 ) 1 2 \|A-X\|_F=(\sigma_{k+1}^2+\sigma_{k+2}^2+...+\sigma_{n}^2)^\frac{1}{2} ∥A−X∥F=(σk+12+σk+22+...+σn2)21
特别地,若 A ′ = U Σ ′ V T A'=U\Sigma'V^T A′=UΣ′VT,其中 Σ ′ = d i a g ( σ 1 , . . . , σ k ) \Sigma'=diag(\sigma_1,...,\sigma_k) Σ′=diag(σ1,...,σk)。 A ′ A' A′就是最优近似。( σ i \sigma_i σi是 A A A的奇异值)
定理15.3表明,在秩不超过 k k k的 m × n m\times n m×n矩阵的集合中,存在矩阵 A A A的弗罗贝尼乌斯范数意义下的最优近似矩阵 X X X。 A ′ = U Σ ′ V T A'=U\Sigma'V^T A′=UΣ′VT是达到最优值的一个矩阵。
这个意义是什么呢?比如说紧奇异值分解就是一种无损压缩,截断奇异值分解就是有损压缩(得到的矩阵近似于A)。文章来源:https://www.toymoban.com/news/detail-725451.html
SVD通常用于降维,截断奇异值分解的 k k k就是低维空间的维度,那么降维肯定有信息损失,如果采用SVD的求解方法,那么可以保证这个损失比较小。文章来源地址https://www.toymoban.com/news/detail-725451.html
到了这里,关于第十五章 奇异值分解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!