0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用PCA还是LDA?特征抽取经典算法大PK

格创东智 2019-01-10 13:40 次阅读

在之前的格物汇文章中,我们介绍了特征抽取的经典算法——主成分分析(PCA),了解了PCA算法实质上是进行了一次坐标轴旋转,尽可能让数据映射在新坐标轴方向上的方差尽可能大,并且让原数据与新映射的数据在距离的变化上尽可能小。方差较大的方向代表数据含有的信息量较大,建议保留。方差较小的方向代表数据含有的信息量较少,建议舍弃。今天我们就来看一下PCA的具体应用案例和特征映射的另一种方法:线性判别分析(LDA)


PCA案例

机器学习中,所使用的数据往往维数很大,我们需要使用降维的方法来突显信息含量较大的数据,PCA就是一个很好的降维方法。下面我们来看一个具体的应用案例,为了简单起见,我们使用一个较小的数据集来展示:


1.jpg


显而易见,我们数据有6维,维数虽然不是很多但不一定代表数据不可以降维。我们使用sklearn中的PCA算法拟合数据集得到如下的结果:


2.jpg

我们可以看到经过PCA降维后依然生成了新的6个维度,但是数据映射在每一个维度上的方差大小不一样。我们会对每一个维度上的方差进行归一化,每一个维度上的方差量我们称为可解释的方差量(Explained Variance)。由图可知,每一个维度上可解释方差占比为:0.4430,0.2638,0.1231,0.1012,0.0485,0.0204。根据经验来说我们期望可解释的方差量累计值在80%以上较好,因此我们可以选择降维降到3维(82.99%)或者4维(93.11%),括号中的数字为累计可解释的方差量,最后两维方差解释只有7%不到,建议舍去。图中的柱状图表示原维度在新坐标轴上的映射向量大小。在前两维度上表现如下图所示:

3.jpg

PCA虽然能实现很好的降维效果,但是它却是一种无监督的方法。实际上我们更加希望对于有类别标签的数据(有监督),也能实现降维,并且降维后能更好的区分每一个类。此时,特征抽取的另一种经典算法——线性判别分析(LDA)就闪亮登场了。

LDA简介

LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。这点和PCA不同。PCA是不考虑样本类别输出的无监督降维技术。LDA的思想可以用一句话概括,就是“投影后类内方差最小,类间方差最大”。什么意思呢? 我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。

4.jpg


上图中提供了两种投影方式,哪一种能更好的满足我们的标准呢?从直观上可以看出,右图要比左图的投影效果好,因为右图的黑色数据和蓝色数据各个较为集中,且类别之间的距离明显。左图则在边界处数据混杂。LDA的降维效果更像右图,它能在新坐标轴上优先区分出两个类别,它是如何实现的呢?

LDA的原理

LDA的主要思想是“投影后类内方差最小,类间方差最大”。实质上就是很好的区分出两个类的分布。我们知道衡量数据分布的两个重要指标是均值和方差,对于每一个类,他们的定义如下:

5.jpg

与PCA一样,LDA也是对数据的坐标轴进行一次旋转,假设旋转的转移矩阵是w,那么新的旋转数据可以表示为:

6.jpg

同理,两个类别的中心点也转换成了:

7.jpg


文字.jpg


8.jpg


我们求解这个最优化问题,即可求出转移变换矩阵w,即LDA的最终结果。


PCA vs LDA

LDA用于降维,和PCA有很多相同,也有很多不同的地方,因此值得好好的比较一下两者的降维异同点。首先我们看看相同点:

1、两者均可以对数据进行降维

2、两者在降维时均使用了矩阵特征分解的思想

3、两者都假设数据符合高斯分布


我们接着看看不同点:

1、LDA是有监督的降维方法,而PCA是无监督的降维方法

2、LDA降维最多降到类别数k-1的维数,而PCA没有这个限制

3、LDA除了可以用于降维,还可以用于分类

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


在某些数据分布下LDA比PCA降维较优(左图),在某些数据分布下,PCA比LDA降维较优。

9.jpg


好了,以上就是本期格物汇的内容,我们下期见。


本文作者:格创东智 OT团队(转载请注明作者及来源)



声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2870

    文章

    41639

    浏览量

    358410
  • PCA
    PCA
    +关注

    关注

    0

    文章

    88

    浏览量

    29368
  • LDA
    LDA
    +关注

    关注

    0

    文章

    28

    浏览量

    10536
  • 智能制造
    +关注

    关注

    48

    文章

    5114

    浏览量

    75554
  • 工业互联网
    +关注

    关注

    28

    文章

    4233

    浏览量

    93812
收藏 人收藏

    评论

    相关推荐

    LabVIEW进行癌症预测模型研究

    )进行非线性数据分类。主成分分析(PCA)和线性判别分析(LDAPCALDA用于降维,减少噪声,并保留数据的重要特征。在并行
    发表于 12-13 19:04

    178个经典c语言源代码+算法大全

    电子发烧友网站提供《178个经典c语言源代码+算法大全.rar》资料免费下载
    发表于 11-21 10:19 1次下载
    178个<b class='flag-5'>经典</b>c语言源代码+<b class='flag-5'>算法</b>大全

    C语言经典算法大全

    C语言经典算法,详细解析算法过程及算法思想,给读者具有启发意义,教程包含C语言大部分常用算法,仅供学习,禁止商业传播
    发表于 10-07 08:16

    嵌入式开发经典算法之栈逆序

    不借助其他数据结构,如何实现栈的逆序?这是一道非常经典算法笔试题。
    发表于 08-06 17:10 249次阅读

    基于FPGA的速率自适应图像抽取算法

    点击上方 蓝字 关注我们 荷图像可视化是深空探测任务中的重要需求,但受信道带宽的限制,无法实时传输所有载荷数据,因此星载复接存储器中图像的抽取下传是实现任务可视化的关键。 本文设计了一种载荷图像抽取
    的头像 发表于 08-05 10:35 494次阅读
    基于FPGA的速率自适应图像<b class='flag-5'>抽取</b><b class='flag-5'>算法</b>

    PCA7419/PCA7433 ユーザーズマニュアル(M37515E4HP/FS用プログラム书​​き込みアドプタ)

    PCA7419/PCA7433 ユーザーズマニュアル(M37515E4HP/FS用プログラム书​​き込みアドプタ)
    发表于 06-26 19:08 0次下载
    <b class='flag-5'>PCA</b>7419/<b class='flag-5'>PCA</b>7433 ユーザーズマニュアル(M37515E4HP/FS用プログラム书​​き込みアドプタ)

    PCA7443FP/PCA7443FS ユーザーズマニュアル(7632グループ用プログラム书​​き込みアドプタ)

    PCA7443FP/PCA7443FS ユーザーズマニュアル(7632グループ用プログラム书​​き込みアドプタ)
    发表于 06-26 19:08 0次下载
    <b class='flag-5'>PCA</b>7443FP/<b class='flag-5'>PCA</b>7443FS ユーザーズマニュアル(7632グループ用プログラム书​​き込みアドプタ)

    MATLAB实现PCA算法

    MATLAB实现PCA算法 PCA(Principal Component Analysis)是一种经典的线性降维方法,其基本思想是将高维数据映射到低维空间中,使得映射后的数据具有更好
    的头像 发表于 06-16 17:10 1452次阅读

    基于LDA经典的线性分类方法

    LDA(Linear Discriminant Analysis)是一种经典的线性分类方法,它的基本思想是将高维数据映射到低维空间中,同时最大化不同类别之间的距离和最小化同类别之间的距离,以此来达到
    的头像 发表于 06-16 17:01 459次阅读

    C语言经典排序算法总结

    本文将通过动态演示+代码的形式系统地总结十大经典排序算法
    发表于 06-05 10:56 393次阅读
    C语言<b class='flag-5'>经典</b>排序<b class='flag-5'>算法</b>总结

    机器学习的经典算法与应用

      一、机器学习基础概念   关于数据   机器学习就是喂入算法和数据,让算法从数据中寻找一种相应的关系。   Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据
    的头像 发表于 05-28 11:29 747次阅读
    机器学习的<b class='flag-5'>经典</b><b class='flag-5'>算法</b>与应用

    PCA***未使用的I/O端口的原因?

    您好,PCA***上未使用的I/O端口应该如何端接?这些可以悬空/不连接还是应该上拉/下拉?谢谢!
    发表于 05-09 06:07

    EMI读数是以QP值还是PK值为准

    EMI读数是以QP值还是PK值为准 ?
    的头像 发表于 05-08 09:46 4931次阅读
    EMI读数是以QP值<b class='flag-5'>还是</b><b class='flag-5'>PK</b>值为准

    PCA7419/PCA7433 ユーザーズマニュアル(M37515E4HP/FS用プログラム书​​き込みアドプタ)

    PCA7419/PCA7433 ユーザーズマニュアル(M37515E4HP/FS用プログラム书​​き込みアドプタ)
    发表于 05-05 19:17 0次下载
    <b class='flag-5'>PCA</b>7419/<b class='flag-5'>PCA</b>7433 ユーザーズマニュアル(M37515E4HP/FS用プログラム书​​き込みアドプタ)

    PCA7443FP/PCA7443FS ユーザーズマニュアル(7632グループ用プログラム书​​き込みアドプタ)

    PCA7443FP/PCA7443FS ユーザーズマニュアル(7632グループ用プログラム书​​き込みアドプタ)
    发表于 05-05 19:17 0次下载
    <b class='flag-5'>PCA</b>7443FP/<b class='flag-5'>PCA</b>7443FS ユーザーズマニュアル(7632グループ用プログラム书​​き込みアドプタ)