【泛学内容】奇异值(SVD)分解

奇异值分解

一、特征值分解
必要条件

待分解矩阵 A n × n A_{n \times n} An×n为方阵,同时具有n个线性无关的特征向量,可进行相似对角化(特征值分解)。

定理内容

记特征值为 λ 1 ≤ λ 2 ≤ . . . ≤ λ n \lambda_{1} \le \lambda_{2}\le ... \le \lambda_{n} λ1λ2...λn,对应的n个线性无关的特征向量为 v 1 , v 2 , . . . , v n v_{1},v_{2},...,v_{n} v1,v2,...,vn,则存在正交矩阵 V V V,满足以下式子。其中 V V V为特征向量按列排列,且为正交矩阵,即 V = ( v 1 , v 2 , . . . , v n ) V=(v_{1},v_{2},...,v_{n}) V=(v1,v2,...,vn)

V − 1 A V = V T A V = Λ = ( λ _ 1   . . .   λ _ n ) V^{-1}AV=V^{T}AV=\Lambda = \begin{pmatrix} \lambda\_{1} & & \\\ & ... & \\\ & & \lambda\_{n} \end{pmatrix} V1AV=VTAV=Λ= λ_1  ...λ_n

上式对 A A A进行了相似对角化,通过可逆矩阵 V V V来得到 A A A的相似矩阵 Λ \Lambda Λ。也相当于为 A A A进行了特殊的表达,即转化为 A = V Λ V − 1 A=V\Lambda V^{-1} A=VΛV1,从而将A这个线性变换转化为“旋转-缩放-旋转”的形式。

简要分析

考虑到对于任何一个方阵 A n × n A_{n \times n } An×n ,可以将其看作n维空间中的一个线性变换,它的一个特征向量 v ^ \hat{v} v^以及对应的特征值 λ \lambda λ,可以看作为在经过线性变换 A A A后,特征向量 v ^ \hat{v} v^的方向并未发生改变,只是进行了缩放比为 λ \lambda λ的缩放。即满足 A v ^ = λ v ^ A \hat{v} = \lambda \hat{v} Av^=λv^

若能够找到n组特征向量与特征值,且这n个特征向量相互线性无关,那么将这n个特征向量组成一个基则能够保证在该基之下,线性变换A能够与一个对角矩阵相似(即A在V基下的线性变换为一个对角阵)。具体原因在于: A ( v 1 , v 2 , . . . , v n ) = ( λ 1   . . .   λ n ) ( v 1 , v 2 , . . . , v n ) A(v_{1},v_{2},...,v_{n})= \begin{pmatrix} \lambda_{1} & & \\\ & ... & \\\ & & \lambda_{n} \end{pmatrix} (v_{1},v_{2},...,v_{n}) A(v1,v2,...,vn)= λ1  ...λn (v1,v2,...,vn) 。而对于基 V V V ,可以进行正交化,最终将矩阵 A A A进行分解得到“正交阵-对角阵-正交阵”的形式,即将线性变换分解为“旋转-缩放-旋转”。(正交阵带来的正交变换不改变距离、夹角、内积等性质,即为旋转;对于对角阵,只对各基方向进行成比例缩放)

二、奇异值分解
定义

将一个非零的 m × n m \times n m×n实矩阵 A A A A ∈ R m × n A \in R^{m \times n} ARm×n,表示为以下三个实矩阵的乘积形式的运算,即矩阵的因子分解。其中 U U U m m m阶正交矩阵, V V V n n n阶正交矩阵, Σ \Sigma Σ是由降序排序的非负的对角线元素组成的 m × n m \times n m×n矩形对角矩阵。
A = U Σ V T A=U\Sigma V^{T} A=UΣVT
满足:
U U T = I   V V T = I   Σ = d i a g ( σ 1 , σ 2 , . . . , σ p )   σ 1 ≥ σ 2 ≥ . . . ≥ σ p ≥ 0   p ≤ m i n ( m , n ) UU^T=I \\\ VV^T=I \\\ \Sigma = diag(\sigma_{1},\sigma_{2},...,\sigma_{p})\\\ \sigma_{1} \ge \sigma_{2} \ge ... \ge \sigma_{p} \ge 0 \\\ p \le min(m,n) UUT=I VVT=I Σ=diag(σ1,σ2,...,σp) σ1σ2...σp0 pmin(m,n)
σ i \sigma_i σi为矩阵 A A A的奇异值, U U U 的列向量称为左奇异向量, V V V的列向量称为右奇异向量。

奇异值分解存在定理

任意给定一个实矩阵,其奇异值分解一定存在。证明见《统计学习原理》P273。

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

紧奇异值分解是与原始矩阵 A A A等秩的奇异值分解,截断奇异值分解是比原始矩阵 A A A低秩的分解。

具体地,截断奇异值分解中,只取最大的k个奇异值( k < R ( A ) k < R(A) k<R(A))来组成 Σ \Sigma Σ

举例:

对于以下矩阵 A A A,其秩为3。

A = ( 1 0 0 0   0 0 0 4   0 3 0 0   0 0 0 0   2 0 0 0   ) A= \begin{pmatrix} 1 & 0 & 0 & 0 \\\ 0 & 0 & 0 & 4 \\\ 0 & 3 & 0 & 0 \\\ 0 & 0 & 0 & 0 \\\ 2 & 0 & 0 & 0 \\\ \end{pmatrix} A= 1 0 0 0 2 003000000004000

A A A的紧奇异值分解为: A = U r Σ r V r T A=U_r \Sigma_r V_r^T A=UrΣrVrT,其中:

U r = ( 0 0 0.2   1 0 0   0 1 0   0 0 0   0 0 0.8   ) , Σ r = ( 4 0 0   0 3 0   0 0 5   ) , V r T = ( 0 0 0 1   0 1 0 0   1 0 0 0   ) U_r= \begin{pmatrix} 0 & 0 & \sqrt{0.2} \\\ 1 & 0 & 0 \\\ 0 & 1 & 0 \\\ 0 & 0 & 0 \\\ 0 & 0 & \sqrt{0.8} \\\ \end{pmatrix}, \Sigma_r = \begin{pmatrix} 4 & 0 & 0 \\\ 0 & 3 & 0 \\\ 0 & 0 & \sqrt{5} \\\ \end{pmatrix}, V_r^T = \begin{pmatrix} 0 & 0 & 0 & 1 \\\ 0 & 1 & 0 & 0 \\\ 1 & 0 & 0 & 0 \\\ \end{pmatrix} Ur= 0 1 0 0 0 001000.2 0000.8 ,Σr= 4 0 0 030005 ,VrT= 0 0 1 010000100

A A A的截断奇异值分解为: A = U k Σ k V r T A=U_k\Sigma_kV_r^T A=UkΣkVrT,其中:

U r = ( 0 0   1 0   0 1   0 0   0 0   ) , Σ r = ( 4 0   0 3   ) , V r T = ( 0 0 0 1   0 1 0 0   ) U_r= \begin{pmatrix} 0 & 0 \\\ 1 & 0 \\\ 0 & 1 \\\ 0 & 0 \\\ 0 & 0 \\\ \end{pmatrix}, \Sigma_r = \begin{pmatrix} 4 & 0 \\\ 0 & 3 \\\ \end{pmatrix}, V_r^T = \begin{pmatrix} 0 & 0 & 0 & 1 \\\ 0 & 1 & 0 & 0 \\\ \end{pmatrix} Ur= 0 1 0 0 0 00100 ,Σr= 4 0 03 ,VrT= 0 0 010010

相当于缺失了一部分信息,但也可能够根据剩余的奇异值还原原有矩阵的信息,实现一定程度的数据压缩。例如以上截断奇异值分解可以进行以下还原:

A 2 = U 2 Σ 2 V 2 T = ( 0 0 0 0   0 0 0 4   0 3 0 0   0 0 0 0   0 0 0 0   ) A_2=U_2\Sigma_2V_2^T= \begin{pmatrix} 0 & 0 & 0 & 0 \\\ 0 & 0 & 0 & 4 \\\ 0 & 3 & 0 & 0 \\\ 0 & 0 & 0 & 0 \\\ 0 & 0 & 0 & 0 \\\ \end{pmatrix} A2=U2Σ2V2T= 0 0 0 0 0 003000000004000

几何含义

对于线性变换 A = U Σ V T A=U\Sigma V^T A=UΣVT,即等价于经过旋转 V T V^T VT,缩放 Σ \Sigma Σ,旋转 U U U U U U V V V都是正交阵,对应的线性变化仅为旋转。如下图所示。

在这里插入图片描述

计算方法

给定 m × n m \times n m×n的矩阵 A A A,进行奇异值分解 A = U Σ V T A=U\Sigma V^{T} A=UΣVT

(1)求 A T A A^TA ATA的特征向量和特征值。

计算对称矩阵 W = A T A W=A^TA W=ATA,有以下特征方程:
( W − λ E ) x = 0 (W-\lambda E)x=0 (WλE)x=0
求解特征方程可得特征值 λ i \lambda_{i} λi,将特征值从大到小进行排列: λ 1 ≥ λ 2 ≥ . . . ≥ λ n ≥ 0 \lambda_{1} \ge \lambda_{2} \ge ... \ge \lambda_{n} \ge 0 λ1λ2...λn0。带入特征方程能够得到对应的的特征向量。

(2)求解n阶的正交矩阵 V V V

将求得的特征向量进行单位化,得到单位特征向量 v 1 , v 2 , . . . , v n v_1,v_2,...,v_n v1,v2,...,vn,构成n阶的正交矩阵 V = [ v 1 , v 2 , . . . , v n ] V=[v_1,v_2,...,v_n] V=[v1,v2,...,vn]

(3)求 m × n m \times n m×n对角阵 Σ \Sigma Σ

计算 A A A的奇异值:
σ i = λ i   , i = 1 , 2 , . . . , n \sigma_i=\sqrt{\lambda_i} \ , i=1,2,...,n σi=λi  ,i=1,2,...,n
,那么可以构造出 Σ \Sigma Σ,主对角线的元素为奇异值,其余为0。
Σ = d i a g ( σ 1 , σ 2 , . . . , σ n ) \Sigma=diag(\sigma_1,\sigma_2,...,\sigma_n) Σ=diag(σ1,σ2,...,σn)
(4)求m阶的正交矩阵 U U U

对A的前r个正奇异值,令 u j = 1 σ j A v j , j = 1 , 2 , . . , r u_j=\frac{1}{\sigma_j}Av_j,j=1,2,..,r uj=σj1Avj,j=1,2,..,r。得到部分正交矩阵:
U 1 = [ u 1   u 2   . . .   u r ] U_1=[u_1 \ u_2 \ ... \ u_r] U1=[u1 u2 ... ur]
A T A^T AT的零空间中的一组标准正交基 u r + 1 , u r + 2 , . . . , u m {u_{r+1},u_{r+2},...,u_{m}} ur+1,ur+2,...,um,记为 U 2 U_2 U2

则能够得到:
U = [ U 1   U 2 ] U=[U_1 \ U_2] U=[U1 U2]
(5)得到奇异值分解结果。
A = U Σ V T A=U\Sigma V^T A=UΣVT

参考资料

《统计学习方法》-李航

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值