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团队(转载请注明作者及来源)



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

    关注

    2939

    文章

    47322

    浏览量

    407887
  • PCA
    PCA
    +关注

    关注

    0

    文章

    91

    浏览量

    30800
  • LDA
    LDA
    +关注

    关注

    0

    文章

    30

    浏览量

    10955
  • 智能制造
    +关注

    关注

    48

    文章

    6137

    浏览量

    79468
  • 工业互联网
    +关注

    关注

    28

    文章

    4383

    浏览量

    95994
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ADC的采样滤波算法利用卡尔曼滤波算法

    , text{δ2为测量噪声} end{cases} { Xk+1​=Xk​+δ1​,Zk+1​=Xk+1​+δ2​,​δ1​为系统噪声δ2​为测量噪声​ 2 卡尔曼滤波算法 我们知道卡尔曼滤波算法
    发表于 12-01 07:44

    Vishay MRSE1PK快速开关整流器技术解析与应用指南

    Vishay MRSE1PK表面贴装快速开关整流器是一款1A、800V微型表面贴装快速整流器,非常适合用于自动贴装应用。MRSE1PK具有低正向电压降、漏电流和噪声。Vishay MRSE1PK整流器采用超薄外形,具有氧化物平面
    的头像 发表于 11-12 11:08 249次阅读
    Vishay MRSE1<b class='flag-5'>PK</b>快速开关整流器技术解析与应用指南

    台阶仪1分钟测半导体激光芯片Smile值,实测16组LDA芯片误差&amp;lt;1μm

    半导体激光阵列LDA芯片作为大功率半导体激光器的核心部件,其封装质量直接决定了半导体激光器的可靠性。本文采用Flexfilm探针式台阶仪结合探针扫描法测量Smile效应,能够对LDA芯片批量化封装
    的头像 发表于 08-20 18:02 1384次阅读
    台阶仪1分钟测半导体激光芯片Smile值,实测16组<b class='flag-5'>LDA</b>芯片误差&amp;lt;1μm

    普科科技 PRBTEK PK 系列电流互感器应用方案详解

    在电气测量领域,电流互感器是实现大电流精确测量与监测的核心设备。普科科技推出的 PK 系列电流互感器,凭借卓越性能成为 Pearson 产品的高性价比替代方案,广泛应用于军工、医疗、工业及科研等多个
    的头像 发表于 07-18 08:57 420次阅读

    PK 系列电流互感器:电力测量领域的革新力量

    普科科技 PK 系列电流互感器是大电流到小电流转换的核心设备,具有卓越性能、丰富型号及广泛适应性。PK 系列电流互感器工作原理基于电磁感应定律,可精准捕捉纳秒级瞬态脉冲与 MHz 级载波电流。
    的头像 发表于 07-15 09:22 408次阅读

    PCA9958HN-ARD】GUI工具的使用

    一、说明 PCA9958HN-ARD评估板是可以通过NXP官方的GUI上位机来进行控制的,但是需要使用另外的官方指定的MCU开发板。 例如下图就是通过LPC55S69-EVKMCU板来演示
    发表于 06-29 10:07

    特征空间在端侧的作用

    解决方案的过程中,算法并不是最重要的因素(虽然是必要的),尤其是对于端侧应用。数据才是关键,一旦有了数据,真正起决定作用的,其实是隐藏在其中的“特征”(Feature)。
    的头像 发表于 04-08 09:44 673次阅读
    <b class='flag-5'>特征</b>空间在端侧的作用

    低功耗蓝牙和经典蓝牙,到底怎么选?

    和Bluetooth Smart两者又有什么区别?我的应用到底该选经典蓝牙技术还是低功耗蓝牙技术?这是很多刚接触蓝牙技术的人经常碰到的问题。 首先,在2010年以前,当我们谈论蓝牙的时候,就是在说经典蓝牙,因为
    的头像 发表于 04-07 16:01 1182次阅读
    低功耗蓝牙和<b class='flag-5'>经典</b>蓝牙,到底怎么选?

    RTC芯片有Linux PCA2131驱动程序吗?

    RTC 芯片有 Linux PCA2131驱动程序吗? 1) 如果没有,我可以使用任何兼容的驱动程序来驱动这个 RTC 芯片吗? 2) 如果是,我在哪里可以找到它?
    发表于 03-31 06:22

    如何在i.MX6ULL定制板上启用IO Expander PCA6416A的控制?

    我想知道如何在 i.MX6ULL 定制板上启用 IO Expander PCA6416A 的控制。 我尝试修改 imx6ul-14x14-evk.dtsi,将 pca6416 节点添加到 i2c2
    发表于 03-26 07:10

    PID控制算法的C语言实现:PID算法原理

    的是,在我所接触的控制算法当中,PID 控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典
    发表于 02-26 15:24

    MSN4688驱动IGBT的经典的电路

    MSN4688驱动IGBT的经典的电路
    发表于 02-07 14:13 9次下载

    请教技术大牛关于PCA9306 issue

    PCA9306我们采用的PCA9306 chip. 电路低压侧为3.3V, 高压侧为5V. EN and VREF2 信号 通过200k ohm 电阻连5V,100nf 电容接地! 发现当5V
    发表于 01-20 09:05

    PCA9306是否有最低工作电流?

    PCA9306的数据手册中,我看到了这样一段 以及这样一个表格: 从上面的文字以及表格我的理解是,流过这个器件的最高电流不得超过15mA,就如上表所示,每一个电压下不同电流时对应的电阻取值
    发表于 01-08 07:04

    戴尔I7的图纸下载 版号是PCA40D

    戴尔I7的图纸 版号是PCA40D
    发表于 12-20 14:43 0次下载