何时选择 PCA 与 LSA/LSI

机器算法验证 机器学习 主成分分析 潜在语义分析
2022-03-18 04:32:49

问题:

是否有关于输入数据特征的通用指南,可用于决定应用 PCA 还是 LSA/LSI?

PCA 与 LSA/LSI 的简要总结:

主成分分析 (PCA) 和潜在语义分析 (LSA) 或潜在语义索引 (LSI) 在某种意义上是相似的,它们都从根本上依赖于奇异值分解 (SVD) 对矩阵的应用。

据我所知,LSA 和 LSI 是一回事。LSA 从根本上不同于 PCA,但在应用 SVD 之前对矩阵条目进行预处理的方式方面。

在 LSA 中,预处理步骤通常涉及对计数矩阵进行归一化,其中列对应于“文档”,行对应于某种单词。条目可以被认为是某种(标准化)文档的单词出现次数。

在 PCA 中,预处理步骤涉及从原始矩阵计算协方差矩阵。与 LSA 的情况相比,原始矩阵在概念上本质上更“通用”。在涉及 PCA 的情况下,通常说列是指通用样本向量,而行是指正在测量的单个变量。协方差矩阵根据定义是正方形和对称的,实际上没有必要应用 SVD,因为协方差矩阵可以通过对角化分解。值得注意的是,PCA 矩阵几乎肯定会比 LSA/LSI 变体更密集——零条目只会出现在变量之间的协方差为零的情况下,即变量独立的地方。

最后,另一个经常用来区分两者的描述性点是

LSA 寻求 Frobenius 范数中的最佳线性子空间,而 PCA 旨在寻找最佳仿射线性子空间。

无论如何,这些技术的异同在整个互联网的各个论坛上都引起了激烈的争论,显然存在一些显着的差异,显然这两种技术会产生不同的结果。

因此,我重复我的问题:关于输入数据特征是否有任何通用指南,可用于决定应用 PCA 还是 LSA/LSI?如果我有类似于术语文档矩阵的东西,LSA/LSI 是否总是最佳选择?通过为 LSA/LSI 准备术语/文档矩阵,然后将 PCA 应用于结果,而不是直接应用 SVD,可能期望在某些情况下获得更好的结果?

1个回答

我注意到的一个区别是 PCA 只能为您提供术语-术语或文档-文档相似性(取决于您如何乘以共指矩阵AA或者AA) 但是 SVD/LSA 可以同时提供这两者,因为你有两者的特征向量AAAA. 实际上,我认为没有理由在 SVD 上使用 PCA。