《统计学习方法》——奇异值分解(SVD)

  奇异值分解(singular value decomposition,SVD)是矩阵因子分解方法。主成分分析、潜在语义分析都用到奇异值分解。矩阵的奇异值分解可以看作是方阵对角化的推广。

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

15.1.1 定义与定理

  • 定义15.1(奇异值分解)矩阵的奇异值分解是指,将一个非零的 m × n m\times n m×n实矩阵 A A A A ∈ R m × n A\in R^{m\times n} ARm×n,表示为以下三个实矩阵乘积形式的运算,即进行矩阵的因子分解:
    A = U ∑ V T A=U\sum V^T A=UVT其中, U U U m m m阶正交矩阵(orthogonal matrix), V V V n n n阶正交矩阵, ∑ \sum 是由降序排列的非负的对角元素组成的 m × n m\times n m×n矩形对角矩阵(rectangular diagonal matrix). 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 ) \sum=diag(\sigma_1,\sigma_2,\cdot\cdot\cdot,\sigma_p) =diag(σ1,σ2,,σp) σ 1 ≥ σ 2 ≥ ⋅ ⋅ ⋅ ≥ σ p ≥ 0 \sigma_1\geq\sigma_2\geq\cdot\cdot\cdot\geq\sigma_p\geq0 σ1σ2σp0 p = m i n ( m , n ) p=min(m,n) p=min(m,n) U ∑ V T U\sum V^T UVT称为矩阵A的奇异值分解, σ i \sigma_i σi称为矩阵A的奇异值, U U U的列向量称为左奇异向量, V V V的列向量称为右奇异向量。

  • 定理15.2(奇异值分解基本定理)若 A A A为一 m × n m\times n m×n实矩阵, A ∈ R m × n A\in R^{m\times n} ARm×n,则 A A A的奇异值分解一定存在 A = U ∑ V T A=U\sum V^T A=UVT其中, U U U m m m阶正交矩阵(orthogonal matrix), V V V n n n阶正交矩阵, ∑ \sum 是由降序排列的非负的对角元素组成的 m × n m\times n m×n矩形对角矩阵。
    定 理 证 明 : \color{red}{定理证明:} 证明属于构造性的,即构造出奇异值分解的各个矩阵,步骤如下:

  1. 确定矩阵 V V V ∑ \sum :
      矩阵 A A A m × n m\times n m×n实矩阵,则矩阵 A T A A^TA ATA n n n阶实对称矩阵,因而 A T A A^TA ATA的特征值都是实数,并且存在一个 n n n阶正交实矩阵 V V V实现 A T A A^TA ATA的对角化,使得 V T ( A T A ) V = ⋀ V^T(A^TA)V=\bigwedge VT(ATA)V=成立,其中 ⋀ \bigwedge n n n阶对角矩阵,其对角线元素由 A T A A^TA ATA的特征值组成。( 实 对 称 矩 阵 一 定 可 以 对 角 化 − − − − 矩 阵 理 论 \color{red}{实对称矩阵一定可以对角化----矩阵理论} )。
       A T A A^TA ATA的特征值都是非负的,令 λ \lambda λ矩阵 A T A A^TA ATA 的一个特征值, x x x是对应的特征向量,所以: ∣ ∣ A x ∣ ∣ 2 = x T A T A x = λ x T x = λ ∣ ∣ x ∣ ∣ 2 ||Ax||^2=x^TA^TAx=\lambda x^Tx=\lambda||x||^2 Ax2=xTATAx=λxTx=λx2于是, λ = ∣ ∣ A x ∣ ∣ 2 ∣ x ∣ ∣ 2 ≥ 0 \lambda=\frac{||Ax||^2}{|x||^2}\geq 0 λ=x2Ax20正交矩阵 V V V的列的排列使得对应的特征值按照从大到小的顺序排列, λ 1 ≥ λ 2 ≥ ⋯ ≥ λ n ≥ 0 \lambda_1\geq\lambda_2\geq\cdots\geq\lambda_n\geq 0 λ1λ2λn0 计算特征值的平方根——矩阵A的奇异值 σ j = λ j , j = 1 , 2 , ⋯   , n \sigma_j=\sqrt\lambda_j, j=1,2,\cdots,n σj=λ j,j=1,2,,n A A A的秩是 r r r r a n k ( A ) = r rank(A)=r rank(A)=r,则矩阵 A T A A^TA ATA的秩也是 r r r。由于 A T A A^TA ATA是对称矩阵,它的秩等于正的特征值的个数,所以 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ r > 0 , λ r + 1 = λ r + 2 = ⋯ = λ n = 0 \lambda_1\geq\lambda_2\geq\cdots\geq\lambda_r>0,\lambda_{r+1}=\lambda_{r+2}=\cdots=\lambda_n=0 λ1λ2λr>0,λr+1=λr+2==λn=0对应的有 σ 1 ≥ σ 2 ≥ ⋯ ≥ σ r > 0 , σ r + 1 = σ r + 2 = ⋯ = σ n \sigma_1\geq\sigma_2\geq\cdots\geq\sigma_r>0,\sigma_{r+1}=\sigma_{r+2}=\cdots=\sigma_n σ1σ2σr>0,σr+1=σr+2==σn V 1 = [ v 1   v 2   ⋯ v r ] ,   V 2 = [ v r + 1 , v r + 2 , ⋯   , v n ] V_1=[v_1\ v_2\ \cdots v_r],\ V_2=[v_{r+1},v_{r+2},\cdots ,v_n] V1=[v1 v2 vr], V2=[vr+1,vr+2,,vn] 其中, v 1 , v 2 , ⋯   , v r v_1,v_2,\cdots,v_r v1,v2,,vr分别是矩阵 A T A A^TA ATA的正特征值对应的特征向量, v r + 1 , v r + 2 , ⋯   , v n v_{r+1},v_{r+2},\cdots,v_n vr+1,vr+2,,vn为0特征值对应的特征向量,则 V = [ V 1 , V 2 ] V=[V_1,V_2] V=[V1,V2]此为矩阵特征值分解中的 n n n阶矩阵 V V V.
    ∑ 1 = [ σ 1 σ 2 ⋱ σ r ] \sum_1= \begin{bmatrix} \sigma_1 & & & \\ & \sigma_2&& \\ & & \ddots& \\ &&&\sigma_r \end{bmatrix} 1=σ1σ2σr ∑ 1 \sum_1 1是一个对角矩阵,其对角元素为降序排列的正的 σ 1 , σ 2 , ⋯   , σ r \sigma_1,\sigma_2,\cdots,\sigma_r σ1,σ2,,σr,于是 m × n m\times n m×n矩形对角矩阵 ∑ \sum 可以表示为 ∑ 1 = [ ∑ 1 0 0 0 ] \sum_1= \begin{bmatrix} \sum_1 &0 \\ 0&0 \\ \end{bmatrix} 1=[1000]这就是矩阵奇异值分解中的 m × n m\times n m×n矩形对角矩阵 ∑ \sum
      上面的矩阵 V 2 V_2 V2的列向量是矩阵 A T A A^TA ATA对应于特征值为0的特征向量。因此 A T A v j = 0 , j = r + 1 , ⋯   , n A^TAv_j=0,j=r+1,\cdots,n ATAvj=0j=r+1,,n V 2 V_2 V2的列向量构成了矩阵 A T A A^TA ATA的零空间 N ( A T A ) N(A^TA) N(ATA),而 N ( A T A ) = N ( A ) N(A^TA)=N(A) N(ATA)=N(A) 零 空 间 问 题 证 明 \color{red}{零空间问题证明} )。所以 V 2 V_2 V2的列向量构成 A A A的零空间的一组标准正交基。因此 A V 2 = 0 AV_2=0 AV2=0由于 V V V是正交矩阵,所以 I = V T V = V 1 V 1 T + V 2 V 2 T I=V^TV=V_1V_1^T+V_2V_2^T I=VTV=V1V1T+V2V2T A = A I = A V 1 V 1 T + A V 2 V 2 T = A V 1 V 1 T A=AI=AV_1V_1^T+AV_2V_2^T=AV_1V_1^T A=AI=AV1V1T+AV2V2T=AV1V1T
  2. 确定矩阵 U U U
      构造 m m m阶矩阵 U U U。令 u j = 1 σ j A v j , j = 1 , 2 , ⋯   , r u_j=\frac{1}{\sigma_j}Av_j,j=1,2,\cdots,r uj=σj1Avjj=1,2,,r U 1 = [ u 1   u 2   ⋯ u r ] U_1=[u_1\ u_2 \ \cdots u_r] U1=[u1 u2 ur]则有 A V 1 = U 1 ∑ 1 AV_1=U_1\sum_1 AV1=U11
    U 1 U_1 U1的列向量构成了一组标准正交集,因为 u i T u j = ( 1 σ i v i T A T ) ( 1 σ j A v j ) u_i^Tu_j=(\frac{1}{\sigma_i}v_i^TA^T)(\frac{1}{\sigma_j}Av_j) uiTuj=(σi1viTAT)(σj1Avj) = 1 σ i σ j v i T ( A T A v j ) =\frac{1}{\sigma_i\sigma_j}v_i^T(A^TAv_j) =σiσj1viT(ATAvj) = σ j σ i v i T v j =\frac{\sigma_j}{\sigma_i}v_i^Tv_j =σiσjviTvj = δ i j , i = 1 , 2 , ⋯   , r ; j = 1 , 2 , ⋯   , r =\delta_{ij}, i=1,2,\cdots,r;j=1,2,\cdots,r =δij,i=1,2,,rj=1,2,,r可知, u 1 , u 2 , ⋯   , u r u_1,u_2,\cdots,u_r u1,u2,,ur构成 A A A的列空间的一组标准正交基,列空间的维数是 r r r
    u r + 1 , u r + 2 , ⋯   , u m u_{r+1},u{r+2},\cdots,u_{m} ur+1,ur+2,,um N ( A T ) N(A^T) N(AT)的一组标准正交基。因此, U U U m m m阶正交矩阵,这就是矩阵A的奇异值分解中的 m m m阶正交矩阵。
  3. 证明 U ∑ V T = A U\sum V^T=A UVT=A
    U ∑ V T = [ U 1   U 2 ] [ ∑ 1 0 0 0   ] [ V 1 T V 2 T ] U\sum V^T=[U_1\ U_2]\begin{bmatrix}\sum_1 &0 \\ 0&0 \ \end{bmatrix} \begin{bmatrix} V_1^T\\V_2^T \end{bmatrix} UVT=[U1 U2][1000 ][V1TV2T] = U 1 ∑ 1 V 1 T = A V 1 V 1 T = A =U_1\sum_1V_1^T=AV_1V_1^T=A =U11V1T=AV1V1T=A这就是矩阵 A A A的奇异值分解。

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

定义15.1的奇异值分解称为矩阵的完全奇异值分解,实际常用的紧奇异值分解与截断奇异值分解。紧奇异值分解是与原始矩阵等秩的奇异值分解,截断奇异值分解是比原始矩阵低秩的奇异值分解。

  1. 紧奇异值分解
      设 m × n m\times n m×n实矩阵 A A A A ∈ R m × n A\in R^{m\times n} ARm×n,其秩为 r r r r ≤ m i n ( m , n ) r\leq min(m,n) rmin(m,n),则称 U r ∑ r V r U_r\sum_rV_r UrrVr为矩阵A的紧奇异值分解,即 A = U r ∑ r V r A=U_r\sum_rV_r A=UrrVr其中 U r U_r Ur m × r m\times r m×r矩阵, V r V_r Vr n × r n\times r n×r矩阵, ∑ r \sum_r r r r r阶对角矩阵。 U r U_r Ur V r V_r Vr ∑ r \sum_r r分别是由矩阵 U U U V V V ∑ \sum 的前 r r r列、前 r r r列、前 r r r个对角元素构成。紧奇异值分解的秩与原始矩阵 A A A的秩相同。
  2. 截断奇异值分解
      截断奇异值分解是取最大的 k k k个奇异值( k < r k<r k<r r r r为矩阵的秩)对应的部分。
      设 m × n m\times n m×n实矩阵 A A A A ∈ R m × n A\in R^{m\times n} ARm×n,其秩为 r r r,且 0 < k < r 0<k<r 0<k<r,则称 U k ∑ k V k U_k\sum_kV_k UkkVk为矩阵A的紧奇异值分解,即 A ≈ U k ∑ k V k A\approx U_k\sum_kV_k AUkkVk其中 U k U_k Uk m × k m\times k m×k矩阵, V k V_k Vk n × k n\times k n×k矩阵, ∑ k \sum_k k k k k阶对角矩阵。 U k U_k Uk V k V_k Vk ∑ k \sum_k k分别是由矩阵 U U U V V V ∑ \sum 的前 k k k列、前 k k k列、前 k k k个对角元素构成。紧奇异值分解的秩比原始矩阵 A A A的秩低。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值