LDA和PCA降维总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LDA和PCA降维总结相关的知识,希望对你有一定的参考价值。

参考技术A

​ 线性判别分析(Linear Discriminant Analysis,LDA)是一种经典的降维方法。和主成分分析PCA不考虑样本类别输出的无监督降维技术不同,LDA是一种监督学习的降维技术,数据集的每个样本有类别输出。

LDA分类思想简单总结如下:

如果用一句话概括LDA思想,即“投影后类内方差最小,类间方差最大”。

​ 假设有红、蓝两类数据,这些数据特征均为二维,如下图所示。我们的目标是将这些数据投影到一维,让每一类相近的数据的投影点尽可能接近,不同类别数据尽可能远,即图中红色和蓝色数据中心之间的距离尽可能大。

左图和右图是两种不同的投影方式。

​ 左图思路:让不同类别的平均点距离最远的投影方式。

​ 右图思路:让同类别的数据挨得最近的投影方式。

​ 从上图直观看出,右图红色数据和蓝色数据在各自的区域来说相对集中,根据数据分布直方图也可看出,所以右图的投影效果好于左图,左图中间直方图部分有明显交集。

​ 以上例子是基于数据是二维的,分类后的投影是一条直线。如果原始数据是多维的,则投影后的分类面是一低维的超平面。

​ 输入:数据集 ,其中样本 是n维向量, ,降维后的目标维度 。定义

​ 为第 类样本个数;

​ 为第 类样本的集合;

​ 为第 类样本的均值向量;

​ 为第 类样本的协方差矩阵。

​ 其中

​ 假设投影直线是向量 ,对任意样本 ,它在直线 上的投影为 ,两个类别的中心点 , 在直线 的投影分别为 、 。

​ LDA的目标是让两类别的数据中心间的距离 尽量大,与此同时,希望同类样本投影点的协方差 、 尽量小,最小化 。
​ 定义
​ 类内散度矩阵

​ 类间散度矩阵

​ 据上分析,优化目标为

​ 根据广义瑞利商的性质,矩阵 的最大特征值为 的最大值,矩阵 的最大特征值对应的特征向量即为 。

LDA算法降维流程如下:

​ 输入:数据集 ,其中样本 是n维向量, ,降维后的目标维度 。

​ 输出:降维后的数据集 。

步骤:

​ PCA可解决训练数据中存在数据特征过多或特征累赘的问题。核心思想是将m维特征映射到n维(n < m),这n维形成主元,是重构出来最能代表原始数据的正交特征。

​ 假设数据集是m个n维, 。如果 ,需要降维到 ,现在想找到某一维度方向代表这两个维度的数据。下图有 两个向量方向,但是哪个向量才是我们所想要的,可以更好代表原始数据集的呢?

从图可看出, 比 好,为什么呢?有以下两个主要评价指标:

如果我们需要降维的目标维数是其他任意维,则:

下面以基于最小投影距离为评价指标推理:

​ 假设数据集是m个n维, ,且数据进行了中心化。经过投影变换得到新坐标为 ,其中 是标准正交基,即 , 。

​ 经过降维后,新坐标为 ,其中 是降维后的目标维数。样本点 在新坐标系下的投影为 ,其中 是 在低维坐标系里第 j 维的坐标。

​ 如果用 去恢复 ,则得到的恢复数据为 ,其中 为标准正交基组成的矩阵。

​ 考虑到整个样本集,样本点到这个超平面的距离足够近,目标变为最小化 。对此式进行推理,可得:

​ 在推导过程中,分别用到了 ,矩阵转置公式 , , 以及矩阵的迹,最后两步是将代数和转为矩阵形式。
​ 由于 的每一个向量 是标准正交基, 是数据集的协方差矩阵, 是一个常量。最小化 又可等价于

利用拉格朗日函数可得到

​ 对 求导,可得 ,也即 。 是 个特征向量组成的矩阵, 为 的特征值。 即为我们想要的矩阵。
​ 对于原始数据,只需要 ,就可把原始数据集降维到最小投影距离的 维数据集。

​ 基于最大投影方差的推导,这里就不再赘述,有兴趣的同仁可自行查阅资料。

输入: 维样本集 ,目标降维的维数 。

输出:降维后的新样本集 。

主要步骤如下:

降维的必要性

降维的目的

​ 应用PCA算法前提是假设存在一个线性超平面,进而投影。那如果数据不是线性的呢?该怎么办?这时候就需要KPCA,数据集从 维映射到线性可分的高维 ,然后再从 维降维到一个低维度 。

​ KPCA用到了核函数思想,使用了核函数的主成分分析一般称为核主成分分析(Kernelized PCA, 简称KPCA)。

假设高维空间数据由 维空间的数据通过映射 产生。

​ 维空间的特征分解为:

​ 其映射为

​ 通过在高维空间进行协方差矩阵的特征值分解,然后用和PCA一样的方法进行降维。由于KPCA需要核函数的运算,因此它的计算量要比PCA大很多。

LDA和PCA降维的原理和区别

 LDA算法的主要优点有:

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

LDA算法的主要缺点有:

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

PCA算法的主要优点有:

  • 仅仅需要以方差衡量信息量,不受数据集以外的因素影响。 
  • 各主成分之间正交,可消除原始数据成分间的相互影响的因素。
  • 计算方法简单,主要运算是特征值分解,易于实现。
  • 当数据受到噪声影响时,最小的特征值所对应的特征向量往往与噪声有关,舍弃能在一定程度上起到降噪的效果。

PCA算法的主要缺点有:

  • 主成分各个特征维度的含义具有一定的模糊性,不如原始样本特征的解释性强。
  • 方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。

 

 LDA与PCA

相同点:

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

不同点:

  • LDA是有监督的降维方法,而PCA是无监督的降维方法。(LDA输入的数据是带标签的,PCA输入的数据是不带标签的)
  • LDA降维最多降到类别数k-1的维数,而PCA没有这个限制。(PCA采用的是最大的特征所对应的特征向量来进行降维的处理。降到的维数和选择的最大特征的个数有关)
  • LDA除了可以用于降维,还可以用于分类。(降维后得到一个新的样品数据,要确定某一个未知的样本属于那一类,对该样本进行同样的线性变换,根据其投影到的位置来进行分来(判别分析问题?))
  • LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。

以上是关于LDA和PCA降维总结的主要内容,如果未能解决你的问题,请参考以下文章

降维实践(PCA,LDA)

PCA和LDA降维的比较

PCA和LDA

常用降维方法之PCA 和 LDA

降维线性判别分析LDA

机器学习——降维(主成分分析PCA线性判别分析LDA奇异值分解SVD局部线性嵌入LLE)