我正在阅读这篇关于主成分分析和多重判别分析(线性判别分析)之间区别的文章,我试图理解为什么你会使用 PCA 而不是 MDA/LDA。
解释总结如下:
粗略地说,在 PCA 中,我们试图找到具有最大方差的轴,其中数据分布最广(在一个类中,因为 PCA 将整个数据集视为一个类),而在 MDA 中,我们还最大化了类之间的分布。
你不是总是想最大化方差和最大化类之间的分布吗?
我正在阅读这篇关于主成分分析和多重判别分析(线性判别分析)之间区别的文章,我试图理解为什么你会使用 PCA 而不是 MDA/LDA。
解释总结如下:
粗略地说,在 PCA 中,我们试图找到具有最大方差的轴,其中数据分布最广(在一个类中,因为 PCA 将整个数据集视为一个类),而在 MDA 中,我们还最大化了类之间的分布。
你不是总是想最大化方差和最大化类之间的分布吗?
你错过了更深层次的东西:PCA 不是一种分类方法。
机器学习中的 PCA 被视为一种特征工程方法。当您将 PCA 应用于您的数据时,您可以保证生成的特征之间没有相关性。许多分类算法从中受益。
您必须始终牢记算法可能对数据有假设,如果这些假设不成立,它们可能会表现不佳。
LDA 必须计算协方差矩阵求逆来投影数据(检查这些线程和答案:在我进行分类之前应该执行 PCA 吗?以及结合 PCA 和 LDA 是否有意义?)。如果您的数据很少,这是不稳定的,并且您会得到对数据点的过度拟合投影,即奇异的类内协方差矩阵。通常使用 PCA 来避免这种情况,从而减少问题的维度。
所以答案是你从不使用 PCA 来做分类,但你可以用它来尝试提高 LDA 的性能。
虽然 Firebug 的先前回答是正确的,但我想添加另一个观点:
无监督与监督学习:
LDA 对于查找旨在分离集群的维度非常有用,因此您必须先了解集群。LDA 不一定是分类器,但可以用作分类器。因此LDA只能用于监督学习
PCA 是一种用于去噪和降维的通用方法,不需要任何进一步的信息,例如监督学习中的类标签。因此它可以用于无监督学习。
LDA用于分割多维空间。
PCA 用于折叠多维空间。
PCA 允许将数百个空间维度折叠成少数较低的空间维度,同时通常保留 70% - 90% 的重要信息。
PCA:3D 对象投射 2D 阴影。我们可以从物体的阴影中看到物体的形状。但我们无法从一个阴影中了解有关形状的所有信息。通过收集来自不同(全局最优)角度的少量阴影,我们可以了解关于物体形状和大小的大部分信息。PCA 有助于减少建模时的“维度诅咒”。
LDA 用于分类,在对具有良好分离的集群的小数据进行建模时,它几乎总是优于 Logistic 回归。它还擅长处理多类数据和类不平衡。