1、含义:截断奇异值分解(Truncated singular value decomposition,TSVD)是一种矩阵因式分解(factorization)技术,将矩阵 M 分解成 U , Σ 和 V 。TruncatedSVD是SVD的变形,只计算用户指定的最大的K个奇异值。TSVD与一般SVD不同的是它可以产生一个指定维度的分解矩阵。例如,有一个矩阵,通过SVD分解后仍然是一个矩阵,而TSVD可以生成指定维度的矩阵。这样就可以实现降维了。
2、公式理解:任何矩阵都可以分解为三个矩阵的乘积 A=U * Sigma * VT,也就是奇异值分解.
从直观上讲,U 和 VT 可视为旋转操作,Sigma 可视为缩放操作。因此奇异值分解的含义就是说,若将矩阵看做一个变换,那么任何这样的变换可以看做是两个旋转和一个缩放变换的复合,这点和特征值分解基本一样。它也可以通过对Sigma的调整实现降维,通过U和VT在高维和低维间转换。
3、 Σ对角线上的元素δi,其中δi即为M的奇异值。且δ1>δ2>δ3…通常会截取前p个最大的奇异值,相应的U截取前p列,V截取前p列,这样A依然是N*M的矩阵,用这样的计算出来的A代替原始的A
奇异值σ跟特征值类似,在矩阵Σ中也是从大到小排列,而且σ的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上了。也就是说,我们也可以用前r大的奇异值来近似描述矩阵。
4、使用TSVD走LSA/document处理时,推荐用tf-idf矩阵,而不是tf矩阵。特别的,需要设置 (sublinear_tf=True, use_idf=True)使特征值近似于高斯分布,这能弥补LSA对于文本数据的错误的前提假设(compensating for LSA’s erroneous assumptions about textual data) 。
参考原文:https://blog.csdn.net/mmc2015/article/details/46867773
https://blog.csdn.net/tmb8z9vdm66wh68vx1/article/details/84863589