《统计学习方法》学习笔记 第十五章 SVD(singular value decomposition)

1 奇异值分解的定义与性质

1.1 定义与定理

定义(singular value decomposition) 矩阵的因子分解 A = U Σ V T A=U\Sigma V^T A=UΣVT A ∈ R m × n A\in \mathbb{R}^{m\times n} ARm×n,满足
U U T = I UU^T=I UUT=I \quad m阶orthogonal matrix
V V T = I VV^T=I VVT=I \quad n阶正交矩阵
Σ = d i a g ( σ 1 , σ 2 , ⋯   , σ p ) \Sigma=diag(\sigma_1,\sigma_2,\cdots,\sigma_p) Σ=diag(σ1,σ2,,σp) σ 1 ≥ σ 2 ≥ ⋯ ≥ σ p ≥ 0 \sigma_1\ge\sigma_2\ge\cdots\ge\sigma_p\ge0 σ1σ2σp0
p = min ⁡ ( m , n ) p=\min(m,n) p=min(m,n)
矩阵的奇异值分解不要求矩阵A是方阵,可以看作是方阵的对角化的推广。

任意给定一个实矩阵,其奇异值分解一定存在!
定理(奇异值分解基本定理) A ∈ R m × n A\in \mathbb{R}^{m\times n} ARm×n,则A的奇异值分解存在 A = U Σ V T A=U\Sigma V^T A=UΣVT,其中U和V分别是m阶和n阶正交矩阵, Σ \Sigma Σ m × n m\times n m×n矩阵对角矩阵,其对角线元素非负,且按降序排列。
(证明太~太长了,不写了。)

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

上述定理是完全奇异值分解(full singular value decomposition)

1 compact singular value decomposition

定义 A ∈ R m × n A\in \mathbb{R}^{m\times n} ARm×n r a n k ( A ) = r rank(A)=r rank(A)=r r ≤ min ⁡ ( m , n ) r\le \min(m,n) rmin(m,n),则 A = U r Σ r V r T A=U_r\Sigma_rV_r^T A=UrΣrVrT
U r ∈ R m × r U_r\in \mathbb{R}^{m\times r} UrRm×r,U的前r列
V r ∈ R n × r V_r\in \mathbb{R}^{n\times r} VrRn×r,V的前r列
Σ r ∈ R r × r \Sigma_r\in \mathbb{R}^{r\times r} ΣrRr×r Σ \Sigma Σ的前r个对角线元素
r a n k ( Σ r ) = r a n k ( A ) rank(\Sigma_r)=rank(A) rank(Σr)=rank(A)

2 truncated singular value decomposition

定义 A ∈ R m × n A\in \mathbb{R}^{m\times n} ARm×n r a n k ( A ) = r rank(A)=r rank(A)=r 0 < k < r 0<k<r 0<k<r,则 A ≈ U k Σ k V k T A\approx U_k\Sigma_kV_k^T AUkΣkVkT
U k ∈ R m × k U_k\in \mathbb{R}^{m\times k} UkRm×k,U的前k列
V k ∈ R n × k V_k\in \mathbb{R}^{n\times k} VkRn×k,V的前k列
Σ k ∈ R k × k \Sigma_k\in \mathbb{R}^{k\times k} ΣkRk×k Σ \Sigma Σ的前k个对角线元素
r a n k ( Σ k ) < r a n k ( A ) rank(\Sigma_k)<rank(A) rank(Σk)<rank(A)

紧奇异值分解对应着无损压缩,截断奇异值分解对应着有损压缩。

1.3 几何解释

复习线性变换: A m × n A_{m\times n} Am×n表示从 R n R^n Rn R m R^m Rm的一个线性变换, T : x → A x T:x\to Ax T:xAx
线性变换可以分解为三个简单的变换:
①一个坐标系的旋转或反射变换;
②一个坐标轴的缩放变换;
③另一个坐标系的旋转或反射变换。

A = U Σ V T A=U\Sigma V^T A=UΣVT
V V V的列向量 v 1 , v 2 , ⋯   , v n v_1,v_2,\cdots,v_n v1,v2,,vn构成 R n R^n Rn空间的一组标准正交基,表示 R n R^n Rn中的正交坐标系的旋转或反射变换;
U U U的列向量 u 1 , u 2 , ⋯   , u n u_1,u_2,\cdots,u_n u1,u2,,un构成 R m R^m Rm空间的一组标准正交基,表示 R m R^m Rm中的正交坐标系的旋转或反射变换;
Σ \Sigma Σ的对角元素 σ 1 , σ 2 , ⋯   , σ n \sigma_1,\sigma_2,\cdots,\sigma_n σ1,σ2,,σn表示 R n R^n Rn中的原始正交坐标系坐标轴的 σ 1 , σ 2 , ⋯   , σ n \sigma_1,\sigma_2,\cdots,\sigma_n σ1,σ2,,σn的缩放变换。

综上,矩阵的奇异值分解可以看作是将其对应的线性变换分解为旋转变换、缩放变换及旋转变换的组合。根据奇异值分解基本定理,这个变换的组合一定存在。

1.4 主要性质

1 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^TA=(U\Sigma V^T)^T(U\Sigma V^T)=V(\Sigma^T\Sigma)V^T ATA=(UΣVT)T(UΣVT)=V(ΣTΣ)VT
A A T = ( U Σ V T ) ( U Σ V T ) T = U ( Σ Σ T ) U T AA^T=(U\Sigma V^T)(U\Sigma V^T)^T=U(\Sigma\Sigma^T)U^T AAT=(UΣVT)(UΣVT)T=U(ΣΣT)UT
矩阵 A T A A^TA ATA A A T AA^T AAT的特征分解存在,V的列向量是 A T A A^TA ATA的特征向量,U的列向量是 A A T AA^T AAT的特征向量, Σ \Sigma Σ的奇异值是 A T A A^TA ATA A A T AA^T AAT的特征值的平方根。

2 奇异值、左、右奇异向量之间的关系
(1) A V = U Σ AV=U\Sigma AV=UΣ
比较这一等式两端的第j列,得到 A v j = σ j u j , j = 1 , 2 , ⋯   , n Av_j=\sigma_ju_j,\quad j=1,2,\cdots,n Avj=σjuj,j=1,2,,n,这是矩阵A的右奇异向量和奇异值、左奇异向量的关系。
(2) A T U = V Σ T A^TU=V\Sigma^T ATU=VΣT
比较这一等式两端的第j列,得到
A T u j = σ j v j , j = 1 , 2 , ⋯   , n A^Tu_j=\sigma_jv_j,\quad j=1,2,\cdots,n ATuj=σjvj,j=1,2,,n
A T u j = 0 , j = n + 1 , n + 2 , ⋯   , m A^Tu_j=0,\quad j=n+1,n+2,\cdots,m ATuj=0,j=n+1,n+2,,m
这是矩阵A的左奇异向量和奇异值、右奇异向量的关系。

3 奇异值唯一,U和V不唯一。

4 r a n k ( A ) = r a n k ( Σ ) rank(A)=rank(\Sigma) rank(A)=rank(Σ),等于 σ i \sigma_i σi的个数 r r r(包含重复的奇异值)。

5 不想看。

2 奇异值分解的计算

A T A A^TA ATA的特征值和特征向量
V n × n V_{n\times n} Vn×n
Σ m × n \Sigma_{m\times n} Σm×n

U m × m U_{m\times m} Um×m
对A的前r个正奇异值,令 u j = 1 σ j A v j , j = 1 , 2 , ⋯   , r u_j=\frac{1}{\sigma_j}Av_j,\quad j=1,2,\cdots,r uj=σj1Avj,j=1,2,,r
得到 U 1 = [ u 1 u 2 ⋯ u r ] U_1=[u_1\quad u_2\quad\cdots\quad u_r] U1=[u1u2ur]
然后求 A T A^T AT的零空间的一组标准正交基 { u r + 1 , u r + 2 , ⋯   , u m } \{u_{r+1},u_{r+2},\cdots,u_m\} {ur+1,ur+2,,um}
U 2 = [ u r + 1 u r + 2 ⋯ u m ] U_2=[u_{r+1}\quad u_{r+2}\quad\cdots\quad u_m] U2=[ur+1ur+2um]
U = [ U 1 U 2 ] U=[U_1\quad U_2] U=[U1U2]

得到奇异值分解 A = U Σ V T A=U\Sigma V^T A=UΣVT

3 奇异值分解与矩阵近似

3.1 Frobenius norm

Definition(Frobenius norm) A ∈ R m × n A\in\mathbb R^{m\times n} ARm×n A = [ a i j ] m × n A=[a_{ij}]_{m\times n} A=[aij]m×n ∣ ∣ A ∣ ∣ F = ( ∑ i = 1 m ∑ j = 1 n a i j 2 ) 1 2 ||A||_F=\bigg(\sum\limits_{i=1}^m\sum\limits_{j=1}^na_{ij}^2\bigg)^\frac{1}{2} AF=(i=1mj=1naij2)21

Lemma A ∈ R m × n A\in\mathbb R^{m\times n} ARm×n A = U Σ V T A=U\Sigma V^T A=UΣVT Σ = d i a g ( σ 1 , σ 2 , ⋯   , σ n ) \Sigma=diag(\sigma_1,\sigma_2,\cdots,\sigma_n) Σ=diag(σ1,σ2,,σn),则 ∣ ∣ A ∣ ∣ F = ( σ 1 2 + σ 2 2 + ⋯ + σ n 2 ) 1 2 ||A||_F=(\sigma_1^2+\sigma_2^2+\cdots+\sigma_n^2)^\frac{1}{2} AF=(σ12+σ22++σn2)21

3.2 矩阵的最优近似

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

Theorem 1 A ∈ R m × n A\in\mathbb R^{m\times n} ARm×n r a n k ( A ) = r rank(A)=r rank(A)=r M = { X ∈ R m × n ∣ r a n k ( X ) ≤ k , 0 < k < r } M=\{X\in \mathbb R^{m\times n}|rank(X)\le k,0<k<r\} M={XRm×nrank(X)k,0<k<r},则 ∃ X ∈ M \exist X\in M XM r a n k ( X ) = k rank(X)=k rank(X)=k,使得 ∣ ∣ A − X ∣ ∣ F = min ⁡ S ∈ M ∣ ∣ A − S ∣ ∣ F ||A-X||_F=\min\limits_{S\in M}||A-S||_F AXF=SMminASF,称矩阵X为矩阵A在Frobenius norm意义下的最优近似。

Theorem 2 A ∈ R m × n A\in\mathbb 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 = { X ∈ R m × n ∣ r a n k ( X ) ≤ k , 0 < k < r } M=\{X\in \mathbb R^{m\times n}|rank(X)\le k,0<k<r\} M={XRm×nrank(X)k,0<k<r},若 X ∈ M X\in M XM r a n k ( X ) = k rank(X)=k rank(X)=k满足 ∣ ∣ A − X ∣ ∣ F = min ⁡ S ∈ M ∣ ∣ A − S ∣ ∣ F ||A-X||_F=\min\limits_{S\in M}||A-S||_F AXF=SMminASF,则 ∣ ∣ A − X ∣ ∣ F = ( σ k + 1 2 + σ k + 2 2 + ⋯ + σ n 2 ) 1 2 ||A-X||_F=(\sigma_{k+1}^2+\sigma_{k+2}^2+\cdots+\sigma_n^2)^\frac{1}{2} AXF=(σk+12+σk+22++σn2)21
特别地,若 A ′ = U Σ ′ V T A^\prime=U\Sigma^\prime V^T A=UΣVT,其中 Σ ′ = [ Σ k 0 0 0 ] \Sigma^\prime=\left[ \begin{matrix} \Sigma_k & 0\\ 0& 0 \end{matrix} \right] Σ=[Σk000],则
∣ ∣ A − A ′ ∣ ∣ F = ( σ k + 1 2 + σ k + 2 2 + ⋯ + σ n 2 ) 1 2 = min ⁡ S ∈ M ∣ ∣ A − S ∣ ∣ F ||A-A^\prime||_F=(\sigma_{k+1}^2+\sigma_{k+2}^2+\cdots+\sigma_n^2)^\frac{1}{2}=\min\limits_{S\in M}||A-S||_F AAF=(σk+12+σk+22++σn2)21=SMminASF.

3.3 矩阵的外积展开式

U Σ = [ σ 1 u 1 σ 2 u 2 ⋯ σ n u n ] U\Sigma=[\sigma_1u_1 \quad\sigma_2u_2\quad\cdots\quad\sigma_nu_n] UΣ=[σ1u1σ2u2σnun]
V T = [ v 1 v 2 ⋯ v n ] T V^T=[v_1\quad v_2\quad\cdots\quad v_n]^T VT=[v1v2vn]T
A = σ 1 u 1 v 1 T + σ 2 u 2 v 2 T + ⋯ + σ n u n v n T A=\sigma_1u_1v_1^T+\sigma_2u_2v_2^T+\cdots+\sigma_nu_nv_n^T A=σ1u1v1T+σ2u2v2T++σnunvnT称为矩阵A的外积展开式。

u i v j T = [ u 1 i u 2 i ⋮ u m i ] [ v 1 j v 2 j ⋯ v n j ] u_iv_j^T=\left[ \begin{matrix} u_{1i}\\ u_{2i}\\ \vdots\\ u_{mi} \end{matrix} \right]\left[v_{1j}\quad v_{2j} \quad\cdots\quad v_{nj}\right] uivjT=u1iu2iumi[v1jv2jvnj]

A = ∑ k = 1 n A k = ∑ k = 1 n σ k u k v k T , A k = σ k u k v k T ∈ R m × n A=\sum\limits_{k=1}^nA_k=\sum\limits_{k=1}^n\sigma_ku_kv_k^T,\quad A_k=\sigma_ku_kv_k^T\in R^{m\times n} A=k=1nAk=k=1nσkukvkT,Ak=σkukvkTRm×n

r a n k ( A ) = n rank(A)=n rank(A)=n,则 A = σ 1 u 1 v 1 T + σ 2 u 2 v 2 T + ⋯ + σ n u n v n T A=\sigma_1u_1v_1^T+\sigma_2u_2v_2^T+\cdots+\sigma_nu_nv_n^T A=σ1u1v1T+σ2u2v2T++σnunvnT

A n − 1 = σ 1 u 1 v 1 T + σ 2 u 2 v 2 T + ⋯ + σ n − 1 u n − 1 v n − 1 T A_{n-1}=\sigma_1u_1v_1^T+\sigma_2u_2v_2^T+\cdots+\sigma_{n-1}u_{n-1}v_{n-1}^T An1=σ1u1v1T+σ2u2v2T++σn1un1vn1T,则 r a n k ( A n − 1 ) = n − 1 rank(A_{n-1})=n-1 rank(An1)=n1,且 A n − 1 A_{n-1} An1是秩为 n − 1 n-1 n1矩阵在Frobenius norm意义下A的最优近似矩阵。以此类推。

通常奇异值 σ i \sigma_i σi递减很快,所以k取很小值时, A k A_k Ak也可以对A有很好的近似。

总结

唉,一章比一章难起来了!这一章书上有两大证明我略过去了,说实话没必要弄懂证明是不是?公式打得好累,矩阵看得头疼!但是会做题就行了,例题可以自行翻书,我就不搬上来了,超级简单,作者为了照顾我们这些渣渣真的有心了!如果有书写错误可以告诉我哦,抱拳~

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 奇异值分解(Singular Value DecompositionSVD)是一种矩阵分解的方法,将一个矩阵分解为三个矩阵的乘积,其中一个矩阵是正交矩阵,另外两个矩阵是对角矩阵。SVD在数据分析、信号处理、图像处理等领域有广泛的应用。它可以用于降维、数据压缩、矩阵近似、特征提取等任务。 ### 回答2: 奇异值分解(Singular Value DecompositionSVD)是矩阵分解的一种方法,它可以将一个复杂的数据矩阵分解成三个简单的矩阵的乘积的形式。这三个矩阵包括:左奇异向量矩阵、奇异值矩阵和右奇异向量矩阵。 在SVD中,奇异值是矩阵的特征值,奇异向量是矩阵的特征向量,而左奇异向量和右奇异向量分别代表数据矩阵在两个不同空间上的特殊变换。在数据处理和分析中,SVD可以用于减少噪声,压缩数据,以及解决线性方程组等问题。 SVD最初由数学家Eckart和Young在1936年提出,而在20世纪60年代和70年代,它才得到了广泛的应用。目前,SVD已经成为了很多数据分析、机器学习和人工智能领域中最常用的技术之一。 在实际应用中,SVD可以用于图像处理、推荐系统、自然语言处理、文本分类、维度约简和信号处理等领域。例如,在推荐系统中,SVD可以用于预测用户对产品的评分,从而为用户推荐最符合他们兴趣的商品。在文本分类中,SVD可以将高维的单词向量映射到低维空间中,从而提高分类的性能。 虽然SVD在许多应用中取得了成功,但其计算代价很高,因此通常需要进行优化以提高效率。一些优化技术包括截断SVD(Truncated SVD)、随机SVD(Randomized SVD)和增量SVD(Incremental SVD)等。这些技术可以降低计算复杂度和内存消耗,提高SVD的速度和可用性。 ### 回答3: 奇异值分解(singular value decomposition, 简称SVD)是一种用于矩阵分解的数学方法,它将一个复杂的矩阵分解成三个部分:U、Σ、V。其中U和V都是正交矩阵,而Σ是一个对角矩阵,对角线上的元素称为奇异值。SVD的应用广泛,例如在图像压缩、信号处理、语音识别、推荐系统等领域都有重要的作用。 SVD的本质目标是将矩阵M表示为下述的累加形式: M = UΣV^T 其中,U和V都是矩阵,Σ是一个对角线上元素按从大到小排列的矩阵,它们的关系是这样的:矩阵M的秩r等于Σ中非零元素的个数。因此,奇异值从大到小表示了矩阵中的信号能量大小,而U和V则表示了信号在不同的方向上的分解。 SVD可以应用于很多问题中。例如,在图像压缩中,可以使用SVD对图像矩阵进行分解,并选取前k个奇异值对应的列向量,再把它们相乘,得到一个近似于原图像的低维矩阵,从而实现图像的压缩。在推荐系统中,SVD可以用来将用户评价和物品特征分解成低维矩阵,从而实现对用户和物品的推荐。此外,SVD还被广泛地应用于语音识别、图像识别等领域。 总的来说,SVD是一种强有力的数学工具,它可以对矩阵进行分解,并提取出有用的信息。由于它的广泛应用和独特的分解方式,SVD也成为了计算机科学和应用数学中的一个热门研究领域。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值