您何时会在分类中使用PCA而不是LDA?


10

我正在阅读这篇文章,了解主成分分析和多重判别分析(线性判别分析)之间的区别,并且我试图理解为什么您会使用PCA而不是MDA / LDA。

解释总结如下:

粗略地讲,在PCA中,我们试图找到数据散布最大的方差最大的轴(在一个类内,因为PCA将整个数据集视为一个类),而在MDA中,我们额外在最大化各类之间的散布。

您不是总想同时最大化方差和最大化类之间的差异吗?


1
抱歉,我的意思是多重判别分析,它似乎也被称为多重线性判别分析
chris

1
您应该澄清您的问题,因为到目前为止,它是微不足道的:当数据中没有可区分的类时,您应该更喜欢PCA而不是MDA。我认为您应该在问题中指定这与分类有关。
Firebug

1
LDA是一个比MDA更常见的术语。无需说“多个线性”,“线性”就足够了。
amoeba

Answers:


11

您缺少更深层次的东西:PCA不是分类方法。

机器学习中的PCA被视为功能工程方法。当您将PCA应用于数据时,您可以保证所得到的功能之间不会存在任何关联。许多分类算法都从中受益。

您始终必须记住,算法可能对数据有假设,如果这些假设不成立,它们可能会表现不佳。

LDA必须计算的协方差矩阵求逆投影的数据(检查这些主题和答案:?应该PCA被我做的分类之前进行的,并不会是有意义的PCA和LDA结合?)。如果数据很少,那就不稳定了,并且会得到对数据点的过度拟合投影,即奇异的类内协方差矩阵。通常使用PCA来避免这种情况,从而减少问题的二维性。

因此,答案是您永远不会使用PCA进行分类,但是可以使用它来尝试提高LDA的性能。


7

尽管Firebug的previos回答是正确的,但我想添加另一个观点:

无监督与有监督的学习:

LDA对于查找旨在分离群集的维度非常有用,因此您必须先了解群集。LDA不一定是分类器,但可以用作分类器。因此LDA只能用于监督学习中

PCA是用于降噪的通用方法,不需要任何其他信息,例如在监督学习中的类标签。因此,它可以用于无监督学习中。


2
+1,尤其是LDA is not neccesarily a classifier。还建议读者(也可以是OP)阅读此相关问题:LDA是一种分类技术,又如何像PCA一样用作降维技术
ttnphns

和答案在此处比较LDA和PCA的输出和曲线为暗淡。减少。
ttnphns

(+1)LDA实际上是降维技术,是Fisher线性判别式的概括,人们通常将其视为分类标准。
Firebug

2

LDA用于划分多维空间。

PCA用于折叠多维空间。

例如:3D对象投射2D阴影。PCA通常使我们可以将数百个空间维分解为少数几个较低的空间维,同时保留70%-90%的重要信息。

就像我从阴影中看到您的手的大小和形状一样。我无法告诉您有关手形的所有信息。但是通过从最佳已知角度收集3个或4个阴影。然后,我可以告诉您有关手的大小和形状的大多数信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.