主成分分析(PCA)/线性判别分析(LDA)总结

1 PCA

PCA(Principal Component Analysis) 是一种常见的数据分析方式,常用于高维数据的降维,可用于提取数据的主要特征分量。

关于PCA的原理强烈推荐这篇文章 PCA的数学原理

2 LDA

之前我们讨论的 PCA降维,对样本数据来言,可以是没有类别标签 y 的。如果我们做回归时,如果特征太多,那么会产生不相关特征引入、过度拟合等问题。我们可以使用PCA 来降维,但 PCA 没有将类别标签考虑进去,属于无监督的。

LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。LDA的基本思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点中心尽可能远离。更简单的概括为一句话,就是“投影后类内方差最小,类间方差最大”。

可能还是有点抽象,我们先看看最简单的情况。假设我们有两类数据分为 “+”和“-”,如下图所示,这些数据特征是二维的,我们希望将这些数据投影到一维的一条直线,让每一种类别数据的投影点尽可能的接近,而“+”和“-”数据中心之间的距离尽可能的大。

具体数学推导过程可见这篇博文 Dimensionality Reduction——LDA线性判别分析原理篇

LDA算法的优点

  • 在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习无法使用先验知识;
  • LDA在样本分类信息依赖均值而不是方差的时候,比PCA算法较优。

LDA算法的缺点

  • LDA与PCA均不适合对非高斯分布样本进行降维
  • LDA降维算法最多降到类别数K-1的维度,当降维的维度大于K-1时,则不能使用LDA。当然目前有一些改进的LDA算法可以绕过这个问题
  • LDA在样本分类信息依赖方差而非均值的时候,降维效果不好
  • LDA可能过度拟合数据

3 PCA和LDA比较

LDA与PCA都可用于降维,因此有很多相同的地方,也有很多不同的地方

相同点:

  • 两者均可用于数据降维
  • 两者在降维时均使用了矩阵特征分解的思想
  • 两者都假设数据符合高斯分布

不同点:

  • LDA是有监督的降维方法,而PCA是无监督降维方法
  • 当总共有K个类别时,LDA最多降到K-1维,而PCA没有这个限制
  • LDA除了用于降维,还可以用于分类
  • LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。这点可以从下图形象的看出,在某些数据分布下LDA比PCA降维较优(如下图的左图)。当然,某些数据分布下PCA比LDA降维较优(如下图的右图)。LDA不适合对非高斯分布样本进行降维,PCA也有这个问题。

Reference

PCA的数学原理

如何通俗易懂地讲解什么是 PCA 主成分分析?

发布了74 篇原创文章 · 获赞 17 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/sinat_25394043/article/details/104123195