奇异值分解在数据降维中有较多的应用,比如PCA、图像压缩。
1. 原理
参考文章:https://www.cnblogs.com/endlesscoding/p/10033527.html

2. python 计算
x=二维数组
,svd_v,=np.linalg.svd(x,full_matrices=1,compute_uv=1)
svd_v就是算出的奇异值。

3.应用-PCA
主成分分析(PCA):scikit-learn的PCA算法的背后真正的实现就是用的SVD。
在这里我们只要求得奇异值分解中的左奇异向量或右奇异向量中的一个,具体求哪个是要根据你的X向量的书写方式的,即行数是样本数还是特征数,总之左奇异向量是用来压缩行数,右奇异向量是用来压缩列数。
4.应用-潜在语义分析
潜在语义分析指:
X≈TY
我们对单词-文本矩阵X进行奇异值分解,将其中左矩阵作为话题向量空间T,将其对角矩阵与右矩阵的乘积作为文本在话题向量空间的表示Y。
博客介绍了奇异值分解在数据降维中的应用,如PCA、图像压缩。阐述了其原理,给出Python计算代码,算出奇异值。还介绍了在PCA中,根据X向量书写方式选择左或右奇异向量进行压缩;在潜在语义分析中,对单词 - 文本矩阵分解得到话题向量空间等。
6647





