第十五章 奇异值分解

引入

奇异值分解(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} ARm×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...σp0p=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} ARm×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) rmin(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:xAx

在这里,我简单地总结一下:

  1. 坐标相当于是对基的缩放;
  2. 线性变换矩阵的每一列表示的是变换之后的基;
  3. 矩阵的乘法可以理解为,一个矩阵中的每一个基视为一个列向量,得到其在左乘矩阵后的表示,然后这作为基来变换原向量。

线性变换可以分解为三个简单的变换:一个坐标系的旋转(线性变换矩阵的列向量可以视为基做变换之后)或反射变换、一个坐标轴的缩放变换、另一个坐标系的旋转或反射变换。

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 nr个右奇异向量构成 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 mr个左奇异向量构成 A T A^T AT的零空间 N ( A T ) N(A^T) N(AT)的一组标准正交基。

奇异值分解的计算

奇异值分解基本定理证明的过程蕴含了奇异值分解的计算方法。

矩阵 A A A的奇异值分解可以通过求对称矩阵 A T A A^TA ATA的特征值和特征向量得到(性质1):

  1. A T A A^TA ATA的特征向量构成正交矩阵 V V V的列;
  2. A T A A^TA ATA的特征值 λ j \lambda_j λj的平方根为奇异值 σ j \sigma_j σj。对其由大到小排列作为对角线元素,构成对角矩阵 Σ \Sigma Σ
  3. 求正奇异值对应的左奇异向量,再求扩充的 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 mr个左奇异向量,这是根据性质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} ARm×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}} AF=(i=1mj=1n(aij))21

引理15.1设矩阵 A ∈ R m × n A\in R^{m\times n} ARm×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} AF=(σ12+σ22+...+σn2)21

矩阵的近似最优

奇异值分解是在平方损失意义下对矩阵的最优近似,即数据压缩。

定理15.2 设矩阵 A ∈ R m × n A\in R^{m\times n} ARm×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} XM,使得 ∥ A − X ∥ F = min ⁡ S ∈ M ∥ A − S ∥ F \|A-X\|_F=\min_{S\in\mathbb{M}}\|A-S\|_F AXF=SMminASF
称矩阵 X X X A A A在弗罗内尼乌斯范数意义下的最优近似。

定理15.3 设矩阵 A ∈ R m × n A\in R^{m\times n} ARm×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} AXF=(σ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)。

SVD通常用于降维,截断奇异值分解的 k k k就是低维空间的维度,那么降维肯定有信息损失,如果采用SVD的求解方法,那么可以保证这个损失比较小。

  • 10
    点赞
  • 128
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

右边是我女神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值