我试图理解数据分析中减少维数的不同方法。特别是我对奇异值分解(SVD)和主成分分析(PCA)感兴趣。
任何人都可以向一个外行人解释那里的条款吗? - 我理解降维的一般前提是将数据带到较低的维度 - 但
a)SVD和PCA如何做到这一点,以及 b)他们的方法有何不同
或者如果你能解释每种技术的结果告诉我的话,也许 a)SVD - 什么是奇异值 b)PCA - “方差比例”
任何一个例子都很精彩。我不擅长数学!!
由于
答案 0 :(得分:1)
根据您的问题,我仅了解主成分分析的主题。因此,我希望分享一些有关PCA的要点,希望您一定能理解。
PCA:
1.PCA是一种线性变换降维技术。
2。用于噪声过滤,特征提取和数据可视化等操作。
3。PCA的目标是识别模式并检测变量之间的相关性。
4。如果存在很强的相关性,则可以减小PCA预期的尺寸。
5。特征向量是在不改变方向的情况下进行线性变换。
这是了解PCA的示例网址:https://www.solver.com/xlminer/help/principal-components-analysis-example
答案 1 :(得分:0)
您可能已经知道了这一点,但是我还是会发布简短的说明。
首先,让我描述一下通常所说的两种技术。
PCA 基本上是获取数据集,并弄清楚如何对其进行“转换”(即,将其投影到通常较小尺寸的新空间中)。它实际上为您提供了相同数据的新表示形式。此新表示具有一些有用的属性。例如,新空间的每个维度都与它所解释的方差量相关联,即,您可以根据它们在原始表示形式中的重要性来实质上对PCA输出的变量进行排序。另一个特性是从PCA表示中删除了线性相关。
SVD 是分解矩阵的一种方法。给定一个矩阵M
(例如,对于数据,它可以是n
×m
矩阵,对于n
个数据点,每个维度为m
),您将得到U,S,V = SVD(M)
,其中:M=USV^T
,S
是对角矩阵,而U
和V
都是正交矩阵(表示列和行是正交的;或等效地UU^T=I
和VV^T=I
)。
S
的条目称为M
的奇异值。您可以将SVD视为矩阵的降维 ,因为您可以舍弃较低的奇异值(即将它们设置为零),将它们相乘后销毁矩阵的“下部”,得到近似为M
。换句话说,只需保留顶部的k
奇异值(以及k
和U
中的顶部V
向量),就可以得到“降维”形式(表示形式)的矩阵。
从数学上讲,这为您提供了最接近k
的排名M
,基本上就像缩小了k
尺寸一样。 (有关更多信息,请参见this answer。
问题1
我理解降维的一般前提是将数据降低到较低的维度-但是 a)SVD和PCA如何做到这一点,b)它们的方法有何不同
答案是它们是相同的。
要查看此信息,建议阅读CV和数学堆栈交换站点上的以下文章:
让我总结一下答案: 本质上,SVD可用于计算PCA。 PCA与数据协方差矩阵的特征向量和特征值密切相关。本质上,通过获取数据矩阵,计算其SVD,然后对奇异值进行平方(并进行一些缩放),最终将得到数据协方差矩阵的本征分解。
问题2
也许您可以解释每种技术的结果告诉我,所以对于a)SVD-什么是奇异值b)PCA-“方差比例”
这些特征向量(SVD的奇异向量,或PCA的主要成分)形成了新闻空间的轴,可将数据转换成新闻空间的轴。
特征值(与数据矩阵SVD奇异值的平方紧密相关)保存由每个分量解释的方差。通常,人们希望保留原始数据的95%的方差,因此,如果他们最初拥有n
维数据,则将其缩小为d
维数据,从而保留了大部分原始数据通过选择最大的d
特征值,使95%的方差得以保留。这样可以保留尽可能多的信息,同时保留尽可能少的无用尺寸。
换句话说,这些值(解释了方差)从本质上告诉了我们每个主成分(PC)的重要性,即它们在重构原始(高维)数据方面很有用。由于每台PC都在新空间中形成一个轴(通过原始空间中旧轴的线性组合构成),因此它告诉我们每个新尺寸的相对重要性。
作为奖励,请注意,SVD也可以用于计算特征分解,因此它也可以用于计算PCA的另一种方式,即直接分解协方差矩阵。有关详细信息,请参见this post。