矩阵分解、奇异值分解(SVD)

1.特征值

  1. 特征向量 A x = λ x Ax=\lambda x 的几何意义:向量x通过矩阵A变换,只进行缩放,而不改变向量方向,缩放倍数即特征值。
  2. 对于n阶方阵,一定有n个特征值(包括复数),但非零特征值个数等于矩阵的秩。

2.方阵的分解

根据 A x = λ x Ax=\lambda x , 对于n阶方阵: A = U Σ U 1 A = U\Sigma U^{-1} 其中U为n个特征向量构成的矩阵, Σ \Sigma 为特征值构成的对角阵。把U的n个特征向量标准化,满足 U 1 = U T U^{-1}=U^T ,得到 A = U Σ U T A = U\Sigma ' U^{T}

3. 奇异值分解

当A不是方阵时,需要奇异值分解了(Singular Value Decompasition, SVD), 分解得到 A = U Σ V T A=U\Sigma V^T , 其中U,V分别为m,n阶方阵, Σ \Sigma 为m x n维矩阵,主对角线上非零元素为奇异值。分解过程如下:

对于矩阵 A = ( 0 1 1 1 1 0 ) A = \left(\begin{matrix}0&1\\ 1&1\\1&0\end{matrix} \right)

  1. 求出 A A T AA^T A T A A^TA
    A A T = ( 2 1 1 2 ) AA^T = \left(\begin{matrix}2&1\\ 1&2\end{matrix} \right) A A T = ( 1 1 0 1 2 1 0 1 1 ) AA^T = \left(\begin{matrix}1&1&0\\ 1&2&1\\0&1&1\end{matrix} \right)
  2. 对两者分别求特征值与特征向量,使得 A T A v i = λ i v i A^TAv_i=\lambda_i v_i A A T u i = λ i u i AA^Tu_i=\lambda_i u_i 得到: λ i = 3 , λ 2 = 1 , v 1 = ( 1 / 2 1 / 2 ) T , v 2 = ( 1 / 2 1 / 2 ) T \lambda_i=3,\lambda_2=1,v_1=(1/\sqrt2 1/\sqrt2)^T, v_2=(-1/\sqrt2 1/\sqrt2)^T u 1 = ( 1 / 6 , 2 / 6 , 1 / 6 ) T , u 2 = ( 1 / 2 , 0 , 1 / 2 ) T u_1=(1/\sqrt6,2/\sqrt6,1/\sqrt6)^T, u_2=(1/\sqrt2,0,-1/\sqrt2)^T λ 3 = 0 , u 3 = ( 1 / 3 , 1 / 3 , 1 / 3 ) T \lambda_3=0, u_3=(1/\sqrt3,-1/\sqrt3,1/\sqrt3)^T
  3. 利用 A v i = σ i u i Av_i=\sigma_iu_i 求奇异值, σ 1 = 3 , σ 2 = 1 \sigma_1=\sqrt3, \sigma_2=1 .
  4. 得到分解结果:
    A = U Σ V T = ( 1 / 6 1 / 2 1 / 3 2 / 6 0 1 / 3 1 / 6 1 / 2 1 / 3 ) ( 3 0 0 1 0 0 ) ( 1 / 2 1 / 2 1 / 2 1 / 2 ) A=U\Sigma V^T= \left(\begin{matrix} 1/\sqrt6 & 1/\sqrt2 & 1/\sqrt3 \\ 2/\sqrt6 & 0 & -1/\sqrt3 \\ 1/\sqrt6 & -1/\sqrt2 & 1/\sqrt3 \end{matrix} \right)\left(\begin{matrix} \sqrt3 & 0\\ 0& 1 \\ 0 & 0 \end{matrix} \right)\left(\begin{matrix} 1/\sqrt2 & 1/\sqrt2\\ -1/\sqrt2 & 1/\sqrt2 \end{matrix} \right)

4.奇异值分解的作用:降维

Python中奇异值分解:

U,sigma,VT=linalg.svd(data)

分解后,得到sigma为奇异值从大到小排列的向量,通过 s u ( s i g m a [ : k ] ) 2 s u m ( s i g m a ) 2 \frac{su(sigma[:k])^2}{sum(sigma)^2} 计算奇异值的能量占比,一般超过80%则表明保留了较多信息,可以用前k个分量还原出原矩阵的大部分信息,从而将原矩阵降维到m x k维。

发布了24 篇原创文章 · 获赞 8 · 访问量 7213

猜你喜欢

转载自blog.csdn.net/geek_hch/article/details/101169043