奇异值分解

奇异值分解

Singular Value Decomposition
A = U Σ V T A = U\Sigma V^T A=UΣVT
奇异值分解可以看作是矩阵数据压缩的一种方法,这种近似是在平方损失下的最优近似。紧奇异值分解对应着无损压缩,截断奇异值分解对应着有损压缩。

奇异值分解的定义与性质

A = U Σ V T A = U\Sigma V^T A=UΣVT
U是m阶正交矩阵,V是n阶正交矩阵,$$是由降序排列的非负的对角线元素构成的m * n 矩形对角矩阵,满足:

U U T = I UU^T = I UUT=I

V V T = I VV^T = I VVT=I

Σ = d i a g ( σ 1 , σ 2 , . . . , σ p ) \Sigma = diag(\sigma_1,\sigma_2,...,\sigma_p) Σ=diag(σ1,σ2,...,σp)

σ 1 > σ 2 > . . . > σ p \sigma_1> \sigma_2> ... > \sigma_p σ1>σ2>...>σp

p = m i n p = min p=min

σ i \sigma_i σi称为矩阵A的奇异值,U的列向量称之为左奇异向量,V的列向量称之为右奇异向量。

紧奇异值分解与截断奇异值分解

A = U Σ V T A = U\Sigma V^T A=UΣVT是矩阵的完全奇异值分解,实际上常用的是奇异值分解的紧凑形式和截断形式。紧奇异值分解是与原始矩阵等秩的奇异值分解,截断奇异值分解是比原始矩阵低秩的奇异值分解。

几何解释

A = U Σ V T A = U\Sigma V^T A=UΣVT
V   ,   ( v 1 , v 2 , . . . , v n ) ∈ R n V~,~(v_1,v_2,...,v_n)\in R^n V , (v1,v2,...,vn)Rn
U   ,   ( u 1 , u 2 , . . . , u m ) ∈ R m U~,~(u_1,u_2,...,u_m)\in R^m U , (u1,u2,...,um)Rm
Σ   ,   ( σ 1 , σ 2 , . . . , σ n ) ∈ R n \Sigma~,~(\sigma_1,\sigma_2,...,\sigma_n)\in R^n Σ , (σ1,σ2,...,σn)Rn
T   :   x − > A x   ,   x ∈ R n   ,   A x ∈ R m T~:~x->Ax~,~x\in R^n~,~Ax\in R^m T : x>Ax , xRn , AxRm
旋转变换,放缩变换,旋转变换。
表示m * n 矩阵A从n维空间到m空间的一个线形转换

奇异值分解的计算

要讲述SVD,首先来看一下EVD,也就是特征值分解

EVD

A是一个m * m的实对称矩阵(即 A = A T A = A^T A=AT),那么他可以被分解为如下的形式
公式一:
A = Q ∑ Q T = Q [ λ 1 . . . . . . . . . . . . . . . λ 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . λ n ] Q T A = Q \sum Q^T = Q \begin{bmatrix} \lambda_1 & ... &... &... &... \\ ... & \lambda_2 &... &... &...\\ ... & ... &... &... &... \\ ... & ... &... &... &\lambda_n \end{bmatrix} Q^T A=QQT=Qλ1............λ2.......................................λnQT
其中,Q为正交矩阵,即 Q Q T = I QQ^T = I QQT=I, ∑ \sum 为对角矩阵. λ i \lambda_i λi称之为特征值,Q里面的向量 Q i Q_i Qi称之为特征向量。

SVD

对于一般矩阵而言,我们也想要这样的分解,可以么?答案是肯定的,这时候就需要我们下面所说的SVD分解
这里,A是一个m * n矩阵,我们将它分解为下面的形式:
A = U ∑ V T A = U\sum V^T A=UVT
其中,U和V为单位正交阵( U U T = I UU^T = I UUT=I, V V T = I VV^T = I VVT=I),则,U称之为左奇异矩阵,V称之为右奇异矩阵。 ∑ \sum 仅在主对角线上有值,我们称它为奇异值。且 U ∈ m ∗ m , ∑ ∈ m ∗ n , V ∈ n ∗ n U \in m * m , \sum \in m * n , V \in n * n Umm,mn,Vnn,一般情况下, ∑ \sum 有如下形式
∑ = [ σ 1 0 0 0 0 0 σ 2 0 0 0 0 0 . . . 0 0 0 0 0 0 0 ] \sum = \begin{bmatrix} \sigma_1 & 0 &0 &0 &0 \\ 0 & \sigma_2 &0 &0 &0\\ 0 & 0 &... &0 &0 \\ 0 & 0 &0 &0 &0 \end{bmatrix} =σ10000σ20000...000000000

SVD求解

因为直接求U和V不方便,看如下推导过程
公式二:
A A T = U ∑ V T V ∑ T U T = U ∑ ∑ T U T AA^T = U\sum V^TV{\sum}^T U^T = U\sum {\sum}^TU^T AAT=UVTVTUT=UTUT
公式三:
A T A = V ∑ T U T U ∑ V T = V ∑ T ∑ V T A^TA = V{\sum}^T U^TU\sum V^T = V{\sum}^T \sum V^T ATA=VTUTUVT=VTVT
需要指出的是这里的 ∑ ∑ T \sum {\sum}^T T ∑ T ∑ {\sum}^T \sum T是不一样的,因为他们的维数不同,但是,他们在主对角线上的奇异值是相等的。
可以看出,公式2和公式3与公式1很相似,将 A A T AA^T AAT A T A A^TA ATA利用公式1求出U和V,然后对 ∑ ∑ T \sum {\sum}^T T ∑ T ∑ {\sum}^T \sum T开方,就可以得到所有的奇异值。

奇异值分解与矩阵近似
弗罗贝尼乌斯范数

∣ ∣ A ∣ ∣ F = ( ∑ i = 1 m ∑ j = 1 n ( a i j ) 2 ) 1 / 2 ||A|| _ F = (\sum_{i=1}^m\sum_{j=1}^n(a_{ij})^2)^{1/2} AF=(i=1mj=1n(aij)2)1/2

矩阵的最优近似

∣ ∣ A − X ∣ ∣ F = min ⁡ S ∈ M ∣ ∣ A − S ∣ ∣ F ||A-X||_ F = \min_{S\in\mathcal{M}||A-S||_ F} AXF=SMASFmin
称矩阵X为矩阵在弗罗贝尼乌斯范数下的最优近似

矩阵的外积展开形式

U Σ = [ σ 1 u 1   σ 2 u 2   . . .   σ n v n ] U\Sigma = [\sigma_1u_1~\sigma_2u_2~...~\sigma_nv_n] UΣ=[σ1u1 σ2u2 ... σnvn]
V T = [ v 1 T   . . .   v n T ] T V^T = [v_1^T~...~v_n^T]^T VT=[v1T ... vnT]T
A = σ 1 u 1 v 1 T + . . . + σ n v n v n T A = \sigma_1u_1v_1^T+...+\sigma_nv_nv_n^T A=σ1u1v1T+...+σnvnvnT

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值