PCA和LDA之直观理解

PCA和LDA的对比

PCA和LDA都是经典的降维算法。PCA是无监督的,也就是训练样本不需要标签;LDA是有监督的,也就是训练样本需要标签。PCA是去除掉原始数据中冗余的维度,而LDA是寻找一个维度,使得原始数据在该维度上投影后不同类别的数据尽可能分离开来。

PCA

PCA是一种正交投影,它的思想是使得原始数据在投影子空间的各个维度的方差最大。假设我们要将N维的数据投影到M维的空间上(M<N),根据PCA,我们首先求出这N维数据的协方差矩阵,然后求出其前M个最大的特征值所对应的特征向量,那么这M个特征向量即为所求的投影空间的基。

LDA

用一句话来概括LDA的思想就是,投影后类内方差最小,类间方差最大。如下图所示有两种投影方式,左边的投影后红色数据和蓝色数据还有重叠部分,右边的投影后红色数据和蓝色数据则刚好被分开。LDA的投影即类似右边的投影方式,投影后使得不同类别的数据尽可能分开,而相同类别的数据则尽可能紧凑地分布。

PCA和LDA之直观理解
图片来源于网络

LDA的计算步骤:

  1. 计算类间散度矩阵SbSb

    Sb=(μ0−μ1)(μ0−μ1)TSb=(μ0−μ1)(μ0−μ1)T


    其中μ0μ0是第0类样本的均值,μ1μ1是第1类样本的均值。
  2. 计算类内散列矩阵SwSw

    Sw=∑x∈X0(x−μ0)(x−μ1)T+∑x∈X1(x−μ1)(x−μ1)TSw=∑x∈X0(x−μ0)(x−μ1)T+∑x∈X1(x−μ1)(x−μ1)T


    其中X0X0是第0类样本的集合,X1X1是第1类样本的集合。
  3. 求出最佳投影方向ww,ww即为S−1wSbSw−1Sb的最大特征值所对应的特征向量。

PCA和LDA的相同点

  1. PCA和LDA都是经典的降维算法;
  2. PCA和LDA都假设数据是符合高斯分布的;
  3. PCA和LDA都利用了矩阵特征分解的思想。

PCA和LDA的不同点

  1. PCA是无监督(训练样本无标签)的,LDA是有监督(训练样本有标签)的;
  2. PCA是去掉原始数据冗余的维度,LDA是选择一个最佳的投影方向,使得投影后相同类别的数据分布紧凑,不同类别的数据尽量相互远离。
  3. LDA最多可以降到k-1维(k是训练样本的类别数量,k-1是因为最后一维的均值可以由前面的k-1维的均值表示);
  4. LDA可能会过拟合数据。