数据预处理之降维-PCA和LDA

一、LDA(线型判别分析-Linear Discriminant Analysis)

1.基本原理

给定训练集样例,设法将样例投影到一条直线上,使得同类样例的投影点尽可能的接近、异类样例的投影点尽可能地远离;在对新样本分类时,将其投影点同样的投影到这条直线上,再根据投影点的位置来确定新样例的位置。

LDA的中心思想就是最大化类间距离以及最小化类内距离。

数据预处理之降维-PCA和LDA_第1张图片 图片来源于周志红的《机器学习》

2.LDA降维的流程

数据预处理之降维-PCA和LDA_第2张图片 图片引用自[简书]蘑菇轰炸机的《机器学习基础(2)- PCA与LDA比较》,https://www.jianshu.com/p/982c8f6760de

二、PCA(主成分分析--Principal Component Analysis)

1.PCA原理理解

其目的就是找到高维数据中的主成分,并利用“主成分”数据,来表征原始数据,从而达到降维的目的,使得降维后的数据的方差达到最大。

2.PCA算法步骤

数据预处理之降维-PCA和LDA_第3张图片

3.对PCA中的特征向量和特征值的理解
协方差理解:
对于一个样本集合S,如果每个样本是一个n维空间中的一个列向量,则使用协方差矩阵描述样本之间的变化程度,
协方差矩阵的定义式:
其中,Xi和Xj分别表示第i个维度上的样本和第j个维度上的样本。
协方差矩阵C是一个n*n维的方阵,协方差矩阵的元素值代表了样本集在对应方向上的方差,例如:C的对角线上的元素C(i,i)代表了样本集在第i个维度上的方差,也即代表样本集在第i个维度上的能量。C(i,j)代表了样本集在第i个维度和第j个维度上的样本分量之间的协方差,可以理解为样本集在第i维投影方向和第j维投影方向之间的斜线方向上的方差,或者能量。所以,协方差矩阵集中表示了样本集在原n维空间中各个方向上的能量分布。
特征值和特征向量:
在协方差矩阵的基础上进一步理解特征值和特征向量,之前已述,协方差矩阵表示了样本集在原n维空间中各个方向上的能量分布,通过对协方差矩阵求特征向量,实际上找到的是在原n维空间中的一些特定的方向,样本集的能量集中分布在这些方向上,而特征值的大小就反映了样本集在该方向上的能量大小。PCA正式基于这一点,删掉对应特征值小的方向,只保留主要的方向,达到降维的目的。
对于协方差矩阵计算特征向量的一个性质:
假设有样本集Xi(i=1,...,m),每个样本Xi的维度为n,Xi的均值为0向量,则协方差矩阵C=X*X',其中X=(X1,X2,...,Xn),计算C的特征向量,可以有两种方法:
(1)直接计算C的特征向量
(2)先计算(X')*X的特征向量v1,然后C的特征向量v=x*v1
当样本的个数m大于样本的维数n时,选用方法(2)所得到的矩阵维数较小,因此使用方法(2)计算量较小;
当样本的个数m小于样本的维数n时,选用方法(1)所得到的矩阵维数小,因此使用方法(1)计算量小。
3.LDA和PCA的比较
LDA与PCA都是常用的降维方法,二者的区别在于:
出发思想不同。PCA主要是从特征的协方差角度,去找到比较好的投影方式,即选择样本点投影具有最大方差的方向( 在信号处理中认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,越大越好。);而LDA则更多的是考虑了分类标签信息,寻求投影后不同类别之间数据点距离更大化以及同一类别数据点距离最小化,即选择分类性能最好的方向。

学习模式不同。PCA属于无监督式学习,因此大多场景下只作为数据处理过程的一部分,需要与其他算法结合使用,例如将PCA与聚类、判别分析、回归分析等组合使用;LDA是一种监督式学习方法,本身除了可以降维外,还可以进行预测应用,因此既可以组合其他模型一起使用,也可以独立使用。

降维后可用维度数量不同。LDA降维后最多可生成C-1维子空间(分类标签数-1),因此LDA与原始维度N数量无关,只有数据标签分类数量有关;而PCA最多有n维度可用,即最大可以选择全部可用维度。

数据预处理之降维-PCA和LDA_第4张图片

图片引用自[CSDN]Gunther17的《LDA与PCA都是常用的降维方法,二者的区别》,https://blog.csdn.net/dongyanwen6036/article/details/78311071
上图左侧是PCA的降维思想,它所作的只是将整组数据整体映射到最方便表示这组数据的坐标轴上,映射时没有利用任何数据内部的分类信息。因此,虽然PCA后的数据在表示上更加方便(降低了维数并能最大限度的保持原有信息),但在分类上也许会变得更加困难;上图右侧是LDA的降维思想,可以看到LDA充分利用了数据的分类信息,将两组数据映射到了另外一个坐标轴上,使得数据更易区分了(在低维上就可以区分,减少了运算量)。
线性判别分析LDA算法由于其简单有效性在多个领域都得到了广泛地应用,是目前机器学习、数据挖掘领域经典且热门的一个算法;但是算法本身仍然存在一些局限性:
当样本数量远小于样本的特征维数,样本与样本之间的距离变大使得距离度量失效,使LDA算法中的类内、类间离散度矩阵奇异,不能得到最优的投影方向,在人脸识别领域中表现得尤为突出
LDA不适合对非高斯分布的样本进行降维
LDA在样本分类信息依赖方差而不是均值时,效果不好
LDA可能过度拟合数据

参考链接:

图片引用自[CSDN]Gunther17的《LDA与PCA都是常用的降维方法,二者的区别》,CSDN-专业IT技术社区-登录

图片引用自[简书]蘑菇轰炸机的《机器学习基础(2)- PCA与LDA比较》,机器学习基础(2)- PCA与LDA比较

分享 点赞 再看三连

数据预处理之降维-PCA和LDA_第5张图片

你可能感兴趣的:(数据科学,算法,机器学习,人工智能,python,数据挖掘)