15-奇异值分解

奇异值分解

  • 1-奇异值分解的定义与性质
    • 1.1 定义
    • 1.2 紧奇异值分解
    • 1.3 截断奇异值分解
    • 1.4 几何解释
  • 2-奇异值分解与矩阵近似
    • 2.1 弗罗贝尼乌斯范数
    • 2.2 矩阵的最优近似
    • 2.3 矩阵的外积展开

导读
奇异值分解singular value decomposition-SVD:是一种矩阵因子分解方法,是线性代数的概念。

  • 本书中主成分分析,潜在语义分析都用到了奇异值分解。
  • 奇异值分解可以看作是矩阵数据压缩的一种方法,即用因子分解的方式近似地表示原始矩阵,这种近似是在平方损失下的最优近似。

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

1.1 定义

  • 奇异值分解:将一个非零的 m ∗ n m*n mn实矩阵 A , A ∈ R m ∗ n A,A\in R^{m*n} AARmn,可以表示为以下三个实矩阵乘积运算,即进行矩阵的因子分解
    A = U Σ V T A=U \Sigma V^{T} A=UΣVT
  • U是m阶正交矩阵(orthogonal matrix)
  • V是n阶正交矩阵
  • Σ \Sigma Σ是由降序排列的非负的对角线元素组成的 m ∗ n m*n mn矩形对角矩阵(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 ) \Sigma =diag(\sigma_1,\sigma_2,...\sigma_p) Σ=diag(σ1,σ2,...σp) σ 1 ≥ σ 2 ≥ . . . σ p ≥ 0 \sigma_1 \ge \sigma_2 \ge ...\sigma_p \ge 0 σ1σ2...σp0 p = m i n ( m , n ) p=min(m,n) p=min(m,n)
  • σ i \sigma_i σi称为矩阵A的奇异值
  • U U U的列向量为左奇异向量
  • V V V的列向量为右奇异向量
  • 矩阵的奇异值分解不是唯一的

1.2 紧奇异值分解

上述的奇异值分解, A = U Σ V T A=U\Sigma V^{T} A=UΣVT,称为矩阵的完全奇异值分解。紧奇异值分解是与原始矩阵等秩的奇异值分解

  • 紧奇异值分解:有一 m ∗ n m*n mn实矩阵 A A A,其秩为 r a n k ( A ) = r , r ≤ m i n ( m , n ) rank(A)=r,r\le min(m,n) rank(A)=r,rmin(m,n),则A的紧奇异值分解(compact singular value decomposition)为:
    A = U r Σ r V r T A=U_r \Sigma_r V_r^{T} A=UrΣrVrT
  • U r U_r Ur m ∗ r m*r mr阶矩阵,完全奇异值分解中 U U U的前 r r r
  • V r V_r Vr n ∗ r n*r nr矩阵,完全奇异值分解中 V V V的前 r r r
  • Σ r \Sigma_r Σr Σ \Sigma Σ 的前 r r r 个对角线元素得到
  • 紧奇异值分解的对角矩阵 Σ r \Sigma_r Σr的秩与原始矩阵 A A A秩相等

1.3 截断奇异值分解

截断奇异值分解:在矩阵的奇异值分解中,只取最大的 k k k 个奇异值( k < r , r kk<r,r为矩阵的秩)对应的部分。截断奇异值分解是比原始矩阵低秩的奇异值分解

  • 截断奇异值分解:有一 m ∗ n m*n mn实矩阵 A A A,其秩为 r a n k ( A ) = r , 0 < k < r rank(A)=r,0 < k rank(A)=r,0<k<r,则A的截断奇异值分解(truncated singular value decomposition)为:
    A ≈ U k Σ k V k T A \approx U_k \Sigma_k V_k^{T} AUkΣkVkT
  • U k U_k Uk m ∗ k m*k mk阶矩阵,完全奇异值分解中 U U U的前 k k k
  • V k V_k Vk n ∗ k n*k nk矩阵,完全奇异值分解中 V V V的前 k k k
  • Σ k \Sigma_k Σk k k k 阶对角阵, Σ \Sigma Σ 的前 k k k 个对角线元素得到
  • 截断奇异值分解的对角矩阵 Σ k \Sigma_k Σk的秩与原始矩阵 A A A秩低

  • 在实际应用中,常常需要对矩阵的数据进行压缩,将其近似表示。奇异值分解是在平方损失(弗罗贝尼乌斯范数)意义下对矩阵的最优近似。
  • 紧奇异值分解——无损压缩
  • 截断奇异值分解——有损压缩

1.4 几何解释

  • 从线性变换的角度来看,奇异值分解将 m ∗ n m*n mn矩阵的 A A A表示从 n n n维空间 R n R^n Rn m m m维空间 R m R^m Rm的一个线性变换,主要分为以下三个简单变换,且这种变换分解一定存在。
  • 一个坐标系的旋转或反射变换: V T V^T VT
  • 一个坐标轴的缩放变换: Σ \Sigma Σ
  • 一个坐标系的旋转或反射变换: U U U
    15-奇异值分解_第1张图片

奇异值分解的计算计算过程,可参考例15.5,计算量不大,推导就可以理解。

2-奇异值分解与矩阵近似

2.1 弗罗贝尼乌斯范数

  • 奇异值分解也是一种矩阵近似的方法,这个近似是在弗罗贝尼乌斯范数(Frobenius norm)意义下的近似。
  • 矩阵的弗罗贝尼乌斯范数是向量的L2范数的直接推广,对应着机器学习中的平方损失函数
  • 弗罗贝尼乌斯范数: 设矩阵 A ∈ R m ∗ n , A = [ a i j ] m n A \in R^{m*n},A=[a_{ij}]_{mn} ARmn,A=[aij]mn,则范数为:
    ∥ A ∥ F = ( ∑ i = 1 m ∑ j = 1 n ( a i j ) 2 ) 1 / 2 \parallel A \parallel _F =(\sum_{i=1}^{m} \sum_{j=1}^{n}(a_{ij})^2 ) ^{1/2} AF=(i=1mj=1n(aij)2)1/2
  • 引理15.1:假设矩阵 A ∈ R m ∗ n A \in R^{m*n} ARmn,A的奇异值分解为 U Σ V T U \Sigma V^T UΣVT,其中 Σ = d i a g ( σ 1 , σ 2 , . . . σ n ) \Sigma = diag(\sigma_1,\sigma_2,...\sigma_n) Σ=diag(σ1,σ2,...σn),则:
    ∥ A ∥ F = ( σ 1 2 + σ 2 2 + . . . + σ n 2 ) 1 / 2 \parallel A \parallel _F =(\sigma_1^2+\sigma_2^2+...+\sigma_n^2) ^{1/2} AF=(σ12+σ22+...+σn2)1/2

2.2 矩阵的最优近似

  • 奇异值分解是在平方损失(弗罗贝尼乌斯范数)意义下对矩阵的最优近似,即数据压缩

  • 紧奇异值分解:是在弗罗贝尼乌斯范数意义下的无损压缩
  • 截断奇异值分解:是有损压缩。截断奇异值分解得到的矩阵的秩为k,通常远小于原始矩阵的秩r,所以是由低秩矩阵实现了对原始矩阵的压缩

2.3 矩阵的外积展开

  • 矩阵 A A A 的奇异值分解 U Σ V T U \Sigma V^T UΣVT 可以由外积形式表示

    • A A A的奇异值分解看成矩阵 U Σ U \Sigma UΣ V T V^T VT 的乘积,将 U Σ U\Sigma UΣ按列向量分块,将 V T V^T VT 按行向量分块,得到:
      U Σ = [ σ 1 u 1 , σ 2 u 2 , . . . σ n u n ] U\Sigma = [\sigma_1u_1 ,\sigma_2u_2,...\sigma_nu_n] UΣ=[σ1u1,σ2u2,...σnun] V T = [ v 1 T v 2 T . . . v n T ] V^T =\begin{bmatrix}v_1^T \\v_2^T \\... \\v_n^T \end{bmatrix} VT= v1Tv2T...vnT
      则:
      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+...+\sigma_nu_nv_n^T A=σ1u1v1T+σ2u2v2T+...+σnunvnT
    • A为矩阵的外积展开
    • u k v k T u_kv_k^T ukvkT m ∗ n m*n mn矩阵,是列向量 u k u_k uk和行向量 v k T v_k^T vkT的外积
  • 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_1T+ \sigma_2u_2v_2^T+...+\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的矩阵在弗罗贝尼乌斯范数意义下 A A A 的最优近似矩

一般的,设矩阵: A k = σ 1 u 1 v 1 T + σ 2 u 2 v 2 T + . . . + σ k u k v k T A_{k} =\sigma_1u_1v_1T+ \sigma_2u_2v_2^T+...+\sigma_{k}u_{k}v_{k}^T Ak=σ1u1v1T+σ2u2v2T+...+σkukvkT,则 r a n k ( A k ) = k rank(A_{k}) = k rank(Ak)=k,且 A k A_{k} Ak是秩为 k k k的矩阵在弗罗贝尼乌斯范数意义下 A A A 的最优近似矩阵.
矩阵 A k A_k Ak就是 A A A 的截断奇异值分解

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

你可能感兴趣的:(统计学习方法,线性代数,矩阵,机器学习)