奇异值分解SVD(singular value decomposition)

奇异值分解

SVD是一个很有用的矩阵因子化方法。

SVD提出的目的:任何一个 m × n m\times n m×n的矩阵都可以当作一个超椭圆(高维空间的椭圆),可以把它们当作单位球体S的像。

一个超椭圆可以通过将单位球型在正交方向 u 1 , u 2 , . . . , u m \mathbf{u_1},\mathbf{u_2},...,\mathbf{u_m} u1,u2,...,um通过缩放因子 σ 1 , . . . , σ m \sigma_1,..., \sigma_m σ1,...,σm,其中m是维度,如果在平面上m=2

通过上面这张图,可以做出下面的定义:

  1. singular value: σ 1 , . . . , σ n ≥ 0 \sigma_1,..., \sigma_n\geq 0 σ1,...,σn≥0一般假设 σ 1 ≥ σ 2 ≥ . . . \sigma_1 \geq \sigma_2 \geq ... σ1≥σ2≥...
  2. Light singular vectors: u 1 , u 2 , . . . , u n \mathbf{u_1},\mathbf{u_2},...,\mathbf{u_n} u1,u2,...,un,单位向量
  3. right singular vectors: v 1 , v 2 , . . . , v n \mathbf{v_1},\mathbf{v_2},...,\mathbf{v_n} v1,v2,...,vn是ui的逆向满足 A v i = σ i u i Av_i = \sigma_i u_i Avi=σiui
    这个名字中左和右来自svd的公式。
    把上面的公式矩阵化,可以得到:
    A V = U ^ Σ ^ AV = \hat U \hat \Sigma AV=U^Σ^
    在这里面
  4. Σ ^ ∈ R n × n \hat{\Sigma}\in\mathbb{R}^{n\times n} Σ^∈Rn×n是一个非负数对角矩阵
  5. U ^ ∈ R m × n \hat{U}\in\mathbb{R}^{m\times n} U^∈Rm×n是一个列正交矩阵
  6. V ∈ R n × n V\in\mathbb{R}^{n\times n} V∈Rn×n是一个列正交矩阵
    因此V是个正交矩阵,因为它是基向量,因此我们就可以得到reduced SVD:
    A = U ^ Σ ^ V T A = \hat U \hat \Sigma V^T A=U^Σ^VT
    正如QR分解一样,可以把扩充 U ^ \hat U U^的列使得 U ∈ R m × m U\in\mathbb{R}^{m\times m} U∈Rm×m
    然后需要给 Σ ^ \hat{\Sigma} Σ^添加一些为为0的行,使得可以沉默掉新添加到U中的随机列,这样就得到了完全SVD
    A = U Σ V T A = U \Sigma V^T A=UΣVT
    对比reduced和full

    现在重新考虑当时把球型变为超椭圆型的目的。
    1 V T V^T VT是球型S
    2 Σ \Sigma Σ拉伸球型得到椭球形
    3 U U U旋转投射而不改变形状

通过SVD可以知道一些矩阵性质

  1. A的秩为r,也就是非零奇异值的个数
    proof:U和V是满秩的,所以rank(A) = rank( Σ \Sigma Σ)
  2. image(A) = span{ u 1 , u 2 , . . . , u r \mathbf{u_1},\mathbf{u_2},...,\mathbf{u_r} u1,u2,...,ur}
    null(A) = span{ v r + 1 , . . . , v n \mathbf{v_{r+1}},...,\mathbf{v_n} vr+1,...,vn}
  3. ∣ ∣ A ∣ ∣ 2 = σ 1 ||A||_2=\sigma_1 ∣∣A∣∣2=σ1
    proof: ∣ ∣ A ∣ ∣ 2 ≡ m a x ∣ ∣ V ∣ ∣ 2 = 1 ||A||2 \equiv max{||V||_2=1} ∣∣A∣∣2≡max∣∣V∣∣2=1||Av||_2
  4. A的奇异值是AAT的特征值的平方根。
    根据上面的性质:可以知道SVD的两种应用

长方形矩阵的条件数

K ( A ) = ∣ ∣ A ∣ ∣ ∣ ∣ A + ∣ ∣ K(A)=||A||||A^+|| K(A)=∣∣A∣∣∣∣A+∣∣

其中 A + A^+ A+是伪逆

  • ∣ ∣ A ∣ ∣ 2 = σ m a x ||A||2 = \sigma{max} ∣∣A∣∣2=σmax
  • ∣ ∣ A + ∣ ∣ 2 = 1 σ m i n ||A^+||2 = \frac{1}{\sigma{min}} ∣∣A+∣∣2=σmin1
    所以 K ( A ) = σ m a x σ m i n K(A)=\frac{\sigma_{max}}{\sigma_{min}} K(A)=σminσmax

低秩近似

把SVD变为
A = ∑ j = 1 r σ j u j v j T A = \sum^r_{j=1}\sigma_j u_j v_j^T A=j=1∑rσjujvjT

每个 u j v j T u_j v_j^T ujvjT都是一个秩为1的矩阵

Theorem:

对于 0 ≤ v ≤ r 0\leq v \leq r 0≤v≤r,让 A v = ∑ j = 1 v σ j u j v j T Av = \sum^v_{j=1}\sigma_ju_jv_j^T Av=∑j=1vσjujvjT

所以
∣ ∣ A − A v ∣ ∣ 2 = inf ⁡ B ∈ R m × n , r a n k ( B ) ≤ v ∣ ∣ A − B ∣ ∣ 2 ||A-Av||2 = \inf{B\in \mathbb{R}^{m\times n}, rank(B)\leq v}{||A-B||_2} ∣∣A−Av∣∣2=B∈Rm×n,rank(B)≤vinf∣∣A−B∣∣2

同样的也可以在Frobenius norm中证明,这个理论说明SVD是压缩矩阵的一个好的方法。

相关推荐
Experience-摆渡12 分钟前
REA:把逆向工程接给 AI Agent 的 MCP 服务器
经验分享
衫水15 分钟前
红利类ETF定投与止盈策略表
经验分享
上海光华专利事务所20 分钟前
【专利视点】食品领域应对《专利法》第五条的专利申请撰写策略——兼论普通食品、保健食品与药品的安全性、功能表述
经验分享
易知微EasyV数据可视化10 小时前
UE5中添加 PNG/TIF 到 Cesium 地球表面方案
经验分享·ue5·数字孪生
上海广测检测科技有限公司13 小时前
标签打印机CE与台湾BSMI+NCC双轨认证详解:多射频模块与电气安全叠加路径
经验分享
Go Work16 小时前
2026 Cadence SPB 24.1中文版安装图文详解(附安装包)
经验分享·笔记
虹科网络安全17 小时前
“顶会”看安全(十九):医疗 AI 中的差异化隐私风险
人工智能·经验分享·安全
贵州诚鑫致达科技有限公司18 小时前
PVID 是什么?端口参数三身份
服务器·经验分享
一滴泪的时间18 小时前
RFID 资产项目硬件采购避坑要点
经验分享
杨逢昌工厂6S管理21 小时前
116——杨逢昌:归位三定闭环法的旺季轻量化执行方案与工具清单
经验分享·笔记·职场和发展·学习方法