1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 主成分分析(PCA)与线性判别分析(LDA)的区别与联系

主成分分析(PCA)与线性判别分析(LDA)的区别与联系

时间:2022-04-04 00:17:33

相关推荐

主成分分析(PCA)与线性判别分析(LDA)的区别与联系

刚整理完PCA的内容,又记得之前用过LDA但是并没有在这里整理,所以今天把这两个算法整理下,方便以后查阅。

主成分分析(PCA)与线性判别分析(LDA)的区别与联系

1 主成分分析(PCA)2 线性判别分析(LDA)3 PCA与LDA的区别3.1 PCA3.1.1 目的3.1.2 步骤3.2 LDA3.2.1 特点3.2.2 目的3.2.3 步骤3.3 相同与不同参考文章

注:这里说的LDA实际上讲的是Fisher linear discriminant analysis

在machine learning领域,PCA和LDA都可以看成是数据降维的一种方式。但是PCA是unsupervised,也就是说不需要知道sample对应的label,而LDA是supervised,需要知道每一个数据点对应的label。

1 主成分分析(PCA)

有关主成分分析的内容在下面这篇文章中有详细解释:主成分分析(PCA)

2 线性判别分析(LDA)

LDA(这里指的是fisher’s linear discriminant)把线性分类看成是数据降维的一种应用。考虑一个二分类问题,假设输入DDD维向量xxx,我们通过线性变换将它投影到一维空间上:

y=wTxy=w^Txy=wTx

如果我们对yyy设定一个阈值,令y⩾−w0y⩾−w0y⩾−w0的时候,判定为class1class1class1,否则判定为class2class2class2那么这其实就是标准的线性分类器。

为了能让我们的判定尽可能准确,我们需要让投影之间的两个类之间的差距尽可能大

现在仍旧考虑二分类问题,假设有N1N1N1个C1C1C1类别的点,有N2N2N2个C2C2C2类别的点,则两个类别的数据的均值分别为

最简单的分类方法,就是让投影之后的两个类别的均值相差越大越好。也就是说,我们需要选择一个投影方向(单位投影矢量 www),使得下式最大

其中

同时满足

wTw=1w^Tw=1wTw=1

这么一个约束优化问题和上面的PCA类似,解得结果可以得到

w∝(m2−m1)w∝(m_2−m_1)w∝(m2​−m1​)

也就是说, www是和两类数据中心点构成的矢量平行。如下面左图所示:

红色和蓝色分别表示两类数据,可以看到,尽管在投影方向www上,两类数据确实有分开,但是还存在很大程度上的交叠。

Fisher提出的观点就是在让投影之后的数据尽量分开的同时,也要让两个数据的方差最小,最后变成右图所示的结果。

投影之后数据的类内方差表达式为

其中 yny_nyn​表示 xnx_nxn​投影之后的值。

我们可以定义总体的类内方差为 s12+s22s^2_1+s^2_2s12​+s22​。Fisher判别准则定义为类间方差和类内方差的比值,也就是

把 www的表达式代入得到

其中 SBS_BSB​表示类间协方差矩阵, SwS_wSw​表示类内协方差矩阵,也就是

对(1)式求导,令导数等于0(为了方便,可以对(1)式两边先取对数,然后求导),可以得到

从(2)式我们可以看到 SBwS_BwSB​w是始终和 m2−m1m_2−m_1m2​−m1​平行的,同时我们并不在意 www的大小,只在意它的方向,因此,我们可以把 wTSBww^TS_BwwTSB​w 和 wTSwww^TS_wwwTSw​w 直接去掉,然后再在(3)式两边同时乘上 Sw−1S^{−1}_wSw−1​,就可以得到

(4)式表示的就是Fisher线性判别器。找到和合理的投影方向之后,我们可以通过极大似然的方法来估计最优的分类阈值。

3 PCA与LDA的区别

所以PCA和LDA虽然都用到数据降维的思想,但是监督方式不一样,目的也不一样。

PCA是为了去除原始数据集中冗余的维度,让投影子空间的各个维度的方差尽可能大,也就是熵尽可能大。

LDA是通过数据降维找到那些具有discriminative的维度,使得原始数据在这些维度上的投影,不同类别尽可能区分开来。

3.1 PCA

PCA(Principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据降维算法,可用于提取数据的主要特征分量。

3.1.1 目的

在高维数据中找方差最大的方向, 将nnn维特征映射到kkk维上(k<n)(k < n)(k<n),kkk维特征是全新的正交特征,也叫主成分。

3.1.2 步骤

1)将原始数据按列组成nnn行mmm列矩阵X;

2)将XXX的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值;

3)求出协方差矩阵;

4)求出协方差矩阵的特征值及对应的特征向量;

5)按对应特征值从大到小顺序排序,将对应特征向量按行排列成矩阵,取前kkk行组成矩阵UUU;

6)Y=UXY=UXY=UX即为降维到kkk维后的数据;

3.2 LDA

LDA(Linear Discriminate Analysis)把线性分类看成是数据降维的一种应用。

3.2.1 特点

可以作为一种特征抽取的技术;

需要监督信息;

对于不适用于正则化的模型,可以降低因为纬度灾难带来的过拟合;

3.2.2 目的

通过最小化类内距离,最大化类间距来找到最优化分类的特征子空间。

3.2.3 步骤

1)计算类内散度矩阵SwS_wSw​;

2)计算类间散度矩阵SbS_bSb​ ;

3)计算矩阵Sw−1SbS_w^{− 1} S_{b}Sw−1​Sb​;

4) 计算矩阵Sw−1SbS_w^{− 1} S_{b}Sw−1​Sb​; 的特征值以及对应的特征向量;

5) 选择前kkk个特征向量构造一个 d∗kd∗kd∗k 维的转换矩阵 WWW, 其中特征向量以列的形式排列;

6)对样本集中的每一个样本特征xix_ixi​ ,转化为新的样本Yi=WTxiY_i = W^T x_iYi​=WTxi​ ;

3.3 相同与不同

LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。

这点可以从下图形象的看出,在某些数据分布下LDA比PCA降维较优。

当然,某些某些数据分布下PCA比LDA降维较优,如下图所示:

参考文章

PCA(主成成分分析)和LDA(线性判别分析)详解-共性和区别

主成分分析(PCA)与线性判别分析(LDA)的区别与联系

PCA和LDA简介

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。