《统计学习方法》学习笔记 第十五章 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} A∈Rm×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​≥⋯≥σp​≥0
p = min ⁡ ( m , n ) p=\min(m,n) p=min(m,n)
矩阵的奇异值分解不要求矩阵A是方阵,可以看作是方阵的对角化的推广。

任意给定一个实矩阵,其奇异值分解一定存在!
定理(奇异值分解基本定理) A ∈ R m × n A\in \mathbb{R}^{m\times n} A∈Rm×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} A∈Rm×n, r a n k ( A ) = r rank(A)=r rank(A)=r, r ≤ min ⁡ ( m , n ) r\le \min(m,n) r≤min(m,n),则 A = U r Σ r V r T A=U_r\Sigma_rV_r^T A=Ur​Σr​VrT​
U r ∈ R m × r U_r\in \mathbb{R}^{m\times r} Ur​∈Rm×r,U的前r列
V r ∈ R n × r V_r\in \mathbb{R}^{n\times r} Vr​∈Rn×r,V的前r列
Σ r ∈ R r × r \Sigma_r\in \mathbb{R}^{r\times r} Σr​∈Rr×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} A∈Rm×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 A≈Uk​Σk​VkT​
U k ∈ R m × k U_k\in \mathbb{R}^{m\times k} Uk​∈Rm×k,U的前k列
V k ∈ R n × k V_k\in \mathbb{R}^{n\times k} Vk​∈Rn×k,V的前k列
Σ k ∈ R k × k \Sigma_k\in \mathbb{R}^{k\times k} Σk​∈Rk×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:x→Ax。
线性变换可以分解为三个简单的变换:
①一个坐标系的旋转或反射变换;
②一个坐标轴的缩放变换;
③另一个坐标系的旋转或反射变换。

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​=σj​uj​,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​=σj​vj​,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​=σj​1​Avj​,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​=[u1​u2​⋯ur​]
然后求 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+1​ur+2​⋯um​]
U = [ U 1 U 2 ] U=[U_1\quad U_2] U=[U1​U2​]

得到奇异值分解 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} A∈Rm×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} ∣∣A∣∣F​=(i=1∑m​j=1∑n​aij2​)21​

Lemma A ∈ R m × n A\in\mathbb R^{m\times n} A∈Rm×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} ∣∣A∣∣F​=(σ12​+σ22​+⋯+σn2​)21​

3.2 矩阵的最优近似

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

Theorem 1 A ∈ R m × n A\in\mathbb R^{m\times n} A∈Rm×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={X∈Rm×n∣rank(X)≤k,0<k<r},则 ∃ X ∈ M \exist X\in M ∃X∈M, 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 ∣∣A−X∣∣F​=S∈Mmin​∣∣A−S∣∣F​,称矩阵X为矩阵A在Frobenius norm意义下的最优近似。

Theorem 2 A ∈ R m × n A\in\mathbb R^{m\times n} A∈Rm×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={X∈Rm×n∣rank(X)≤k,0<k<r},若 X ∈ M X\in M X∈M且 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 ∣∣A−X∣∣F​=S∈Mmin​∣∣A−S∣∣F​,则 ∣ ∣ 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} ∣∣A−X∣∣F​=(σ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] Σ′=[Σk​0​00​],则
∣ ∣ 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 ∣∣A−A′∣∣F​=(σk+12​+σk+22​+⋯+σn2​)21​=S∈Mmin​∣∣A−S∣∣F​.

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Σ=[σ1​u1​σ2​u2​⋯σn​un​]
V T = [ v 1 v 2 ⋯ v n ] T V^T=[v_1\quad v_2\quad\cdots\quad v_n]^T VT=[v1​v2​⋯vn​]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=σ1​u1​v1T​+σ2​u2​v2T​+⋯+σn​un​vnT​称为矩阵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] ui​vjT​=⎣⎢⎢⎢⎡​u1i​u2i​⋮umi​​⎦⎥⎥⎥⎤​[v1j​v2j​⋯vnj​]

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=1∑n​Ak​=k=1∑n​σk​uk​vkT​,Ak​=σk​uk​vkT​∈Rm×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=σ1​u1​v1T​+σ2​u2​v2T​+⋯+σn​un​vnT​

设 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 An−1​=σ1​u1​v1T​+σ2​u2​v2T​+⋯+σn−1​un−1​vn−1T​,则 r a n k ( A n − 1 ) = n − 1 rank(A_{n-1})=n-1 rank(An−1​)=n−1,且 A n − 1 A_{n-1} An−1​是秩为 n − 1 n-1 n−1矩阵在Frobenius norm意义下A的最优近似矩阵。以此类推。

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

总结

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

上一篇:浅谈莫比乌斯反演


下一篇:CSPS 2020游记