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

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

3天内不再提示

PCA和KPCA傻傻分不清楚?戳进来教你如何区分

格创东智 2019-01-28 13:02 次阅读

在格物汇之前的文章中,我们讨论了特征抽取的经典算法——主成分分析PCA与线性判别分析LDA的原理与应用场景。PCA是一种无监督的降维方法,寻找的是让数据方差最大的一种映射;LDA是一种有监督的降维方法,寻找的是让数据分类效果最好的一种映射。但是它们仍然有应用的局限性,今天我们就一起来了解下。


PCA的局限性

我们先来回顾一下PCA的降维原理:PCA试图通过旋转找到新的正交基,满足这样的两条性质:

1、最近重构性:样本点到新映射的正交基距离足够接近。

2、最大可分性:样本点在新正交基上方差最大。

最后我们推导得到:

1.jpg

我们只需要对协方差矩阵XX^T 进行特征值分解,得到的特征值和特征向量即是变换矩阵w的解和改主成分所解释的方差量。这样的降维方法是线性的降维方法,即从高维空间到低维空间的函数映射是线性的。然而在不少应用场景中,线性映射可能不能得到想要的结果,例如如下的例子:S型曲线的本真二维结构是其低维空间的原本形状,通过线性降维后得到的结果明显并不是我们所期望的。

2.jpg

核方法

我们介绍SVM的时候所介绍的核方法是一种可以进行升维来生成一些非线性的映射。这个方法我们可以同样使用在PCA降维分析中。

假设我们有一个样本集:

x1,x2xn

假设映射函数为,那么映射到高维以后,数据变成:

3.jpg

类似于PCA的求解方法, XX^T经过高维映射后得到

补.jpg

故:

4.jpg

我们把λ 移动到等号左边得到:

5.jpg

我们令:

6.jpg

做一个简单的替换,得到:

7.jpg

代入等式1,得到:

8.jpg

我们在左右两边同时乘上

bu2.jpg

得到:

9.jpg

做一下简单的改变:

10.jpg

非常幸运的是,我们设计出了

bu3.jpg

是否还记得我们在SVM的核函数中曾经验证过,在低维空间计算(+1)^2得到的结果与高维空间上计算

11.jpg

的结果相似,只是系数略有不同。因此我们也可以在此应用核方法来计算。我们在此定义核函数矩阵:

12.jpg

代入上面等式2,便可得到:

13.jpg


14.jpg

很明显,这又回到了特征值分解的问题,取K最大的d个特征值所对应的特征向量即可。

小结

我们通过将数据映射到高维以后,巧妙的构建出了

bu3.jpg

目的是为了通过在低维空间上应用核函数,计算得到跟高维空间上差不多的效果。PCA所做的是对坐标轴线性变换,即变换后的新基还是一条直线。而KPCA对坐标轴做了非线性变换,数据所映射的新基就不再是一条直线了,而是一条曲线或者曲面,如下图所示:

15.jpg

通过上面这个图,大家应该了解了KPCA和PCA区别了吧?好了,本期格物汇的内容就到这里,我们下期再见。

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



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

    关注

    0

    文章

    89

    浏览量

    29553
  • KPCA
    +关注

    关注

    0

    文章

    9

    浏览量

    9128
  • LDA
    LDA
    +关注

    关注

    0

    文章

    29

    浏览量

    10591
  • 智能制造
    +关注

    关注

    48

    文章

    5481

    浏览量

    76261
  • 工业互联网
    +关注

    关注

    28

    文章

    4299

    浏览量

    94050
收藏 人收藏

    评论

    相关推荐

    模拟信号、数字信号、ADC与DAC傻傻分不清楚?一文了解,收藏再看

    汽车轰鸣声、动物的叫唤、人们的交谈声、学校的读书声、耳机里的音乐……声音可以说无处不在。我们把人类能够听到的所有声音都称之为音频。我们还可以将现实世界的声音录制储存,“变”成数字信号;反过来,我们也可以把储存下来的音频文件通过声卡及音频软件播放,还原以前录下的声音。这两个过程的实现,与模拟信号、数字信号、模数转换器(ADC)和数模转换器(DAC)有着紧密的关
    的头像 发表于 11-14 01:09 193次阅读
    模拟信号、数字信号、ADC与DAC<b class='flag-5'>傻傻</b><b class='flag-5'>分不清楚</b>?一文了解,收藏再看

    Pcm1861里面有寄存器要配置吗?

    Pcm1861里面有寄存器要配置吗,pcm 1861与pcm1865的资料放在一块分不清楚
    发表于 10-28 07:59

    如果在不清楚适配器的是否支持QC3.0的情况下,尝试切换至QC3.0协议,该如何判断是否成功切换至QC3.0协议?

    如果在不清楚适配器的是否支持QC3.0的情况下,尝试切换至QC3.0协议,该如何判断是否成功切换至QC3.0协议? 因为QC2.0协议的class B支持的20V的切换方式和QC3.0的升压的方式是一样的
    发表于 07-20 11:56

    频段、信道、带宽和传输速率,还傻傻分不清楚

    无线电通信涉及几个重要参数,分别是频段、信道、信道带宽和传输速率,它们在无线网络配置中扮演着重要角色。频段:“不同的高速公路”频段(FrequencyBand)指的是无线电波的一个特定频率范围,这个范围被分配给无线通信使用。不同的无线通信技术会使用不同的频段,避免相互之间的干扰。如最常见的Wi-Fi频段有两个:2.4GHz和5GHz。这两个频段就像是两条不同
    的头像 发表于 06-21 08:21 3145次阅读
    频段、信道、带宽和传输速率,还<b class='flag-5'>傻傻</b><b class='flag-5'>分不清楚</b>?

    一文介绍:UWB-AOA产品特点及其应用

    写在前面:好多朋友经常把蓝牙AOA和UWB-AOA混淆,傻傻分不清楚。UWB和蓝牙分属两种无线电技术,AOA指的是测量无线电到达信号的角度,UWB-AOA和蓝牙AOA是两种完全不同的产品,相较于蓝牙AOA UWB-AOA定位精度更高、覆盖范围更广、适用场景更加丰富。
    的头像 发表于 05-09 17:07 1741次阅读
    一文介绍:UWB-AOA产品特点及其应用

    如何解决隧道广播听不清楚的问题

    1、隧道广播的设置标准 根据交通运输部 2012 年第 3 号公告发布的《高速公路通信技术要求》有线广播设计原则为:隧道监控等级为 A + 、A、B 等级的隧道应设置有线广播系统,隧道监控等级为 C等级的隧道可设置有线广播系统, 隧道段有线广播扬声器设置在隧道洞外入、出口,洞内宜每隔50m设置1台。 隧道广播与紧急电话分机的一般布设形式:在隧道内沿行车方向右侧每隔约200m左右布设一部隧道广播与紧急电话分机,隧道外距隧道洞口约5m左右布设一部紧
    的头像 发表于 03-15 13:18 453次阅读
    如何解决隧道广播听<b class='flag-5'>不清楚</b>的问题

    傻傻分不清?射频模拟信号源和矢量信号源的区别

    傻傻分不清?射频模拟信号源和矢量信号源的区别  射频模拟信号源和矢量信号源是测试和测量领域中常见的两种信号源。它们在信号产生原理、输出信号特性、使用场景等方面有很大区别。本文将从原理、特性和应用场
    的头像 发表于 01-19 15:54 5604次阅读

    如何理解实时仿真

    实时仿真?硬件在环?RCP?HIL...这些词是否还有些傻傻分不清呢?本期将带大家从零走近实时仿真,快来Get吧。
    的头像 发表于 01-16 10:34 1121次阅读

    晶体与晶振傻傻分不清?看完这篇文章您就明白了

    晶体和晶振的属性、特点及应用场景,并为大家提供一些实用的布局和布线建议。一、晶体与晶振的区别对于许多初入职场的硬件工程师来说,区分晶体(Crystal,简称XTAL
    的头像 发表于 12-29 08:07 3381次阅读
    晶体与晶振<b class='flag-5'>傻傻</b><b class='flag-5'>分不清</b>?看完这篇文章您就明白了

    晶体与晶振傻傻分不清?看完这篇文章您就明白了

    对比晶体和晶振的属性、特点及应用场景,并为大家提供一些实用的布局和布线建议。        一、晶体与晶振的区别     对于许多初入职场的硬件工程师来说,区分晶体(Crystal,简称XTAL)和晶振(Crystal Oscillator,简称XO)一直是个令
    的头像 发表于 12-27 08:40 2084次阅读
    晶体与晶振<b class='flag-5'>傻傻</b><b class='flag-5'>分不清</b>?看完这篇文章您就明白了

    FOSB和FOUP傻傻分不清楚

    如果我们发挥想象,一片一片的wafer(晶圆)在这FAB(晶圆厂)大乐园里搭乘着各种自动化移动工具(比如AGV(无人运载车)、ARM(机械手臂)、OHT(天车)),一会儿去泡个澡(浸泡清洗),一会儿去加工一下,那么,FOSB(前开晶圆运输盒)、FOUP(前开式晶圆传送盒)就可以被想象成是它们的搭乘车厢,有的对外移动,有的内部移动,当然也不能忘了还有敞篷式的OPEN CASSETTE(开放式装载盒)。
    的头像 发表于 12-22 16:08 2.3w次阅读

    [ElfBoard]是谁字和字节傻傻分不清楚

    计算机内存结构 —— 位、字节和字 位 我们都知道,计算机存储数值都以信息的基本单元的组合进行存储,这个基本单元便是位(bit),我们通常用 0 和 1 来表示位的两种状态。 为什么使用 0 和 1 而不是 0、1、2、3、4、5 或者 6、7、8、9、10 等等这样的数字组合呢? 我们可以想象这样一种实际情况:我们的计算机归根结底是一些硬件在进行处理和计算,硬件是需要电流起作用的,电流可以产生高电压和低电压,在数字电路中,通常将高电压视为 1 ,低电压视为 0 ,因此我们信息存储的最终形式是一连串 1 和 0 的组合。这种表达形式与我们在逻辑中经常使用 true 和 false 是类似的。 关于计算机为什么能够读懂 1 和 0,在这个问题下面有很多非常详细的回答可以作为参考: 也许上面这个例子还是比较抽象,那么我们还可以想象这样一种更古老的实际情况:早期的计算机还不具备处理高级语言的能力,程序员们只能将要写的程序和要处理的数据变成一条条纸带交给计算机去处理。而纸带上某个特定位置的状态是有限的,人们通过在纸带上打洞还是不打洞来表示 1 和 0 。因此数据通过一连串打洞和不打洞的序列进行表示,即很多 1 和 0 的序列,这种数据表示的思想也一直延续到现在。 字节 通过上面的讲解我们也能看到,一个位能表达的信息太少了,因此我们通常将单个的位连接组合起来,组成更大的存储单元,我们称这种最小组合单元为一个字节(byte),一个字节由 8 个位构成,它足以用来存储一个 char 类型的数据。 字 随着存储需求的日益增长,在现在大多数计算机中,字节被组合成更大的存储单位,我们称为字(word),一个字足以存储一个 int 类型的数据。现在的大多数计算机要么使用四字节的字,要么使用八字节的字。我们通常所说的 32 位机器或者 64 位机器其实就是指计算机处理器一次能处理的数据大小,32 位即 4 个字节,64 位即 8 个字节。 结论: 一个字等于多少个字节,与系统硬件(总线、cpu命令字位数等)有关,不应该毫无前提地说一个字等于多少位。 正确的说法: ①:1字节(byte) = 8位(bit) ②:在16位的系统中(比如8086微机) 1字 (word)= 2字节(byte)= 16(bit) 在32位的系统中(比如win32) 1字(word)= 4字节(byte)=32(bit) 在64位的系统中(比如win64)1字(word)= 8字节(byte)=64(bit)
    发表于 12-12 13:13

    [ElfBoard]康康是谁字和字节傻傻分不清楚

    计算机内存结构 —— 位、字节和字 位 我们都知道,计算机存储数值都以信息的基本单元的组合进行存储,这个基本单元便是位(bit),我们通常用 0 和 1 来表示位的两种状态。 为什么使用 0 和 1 而不是 0、1、2、3、4、5 或者 6、7、8、9、10 等等这样的数字组合呢? 我们可以想象这样一种实际情况:我们的计算机归根结底是一些硬件在进行处理和计算,硬件是需要电流起作用的,电流可以产生高电压和低电压,在数字电路中,通常将高电压视为 1 ,低电压视为 0 ,因此我们信息存储的最终形式是一连串 1 和 0 的组合。这种表达形式与我们在逻辑中经常使用 true 和 false 是类似的。 关于计算机为什么能够读懂 1 和 0,在这个问题下面有很多非常详细的回答可以作为参考: 也许上面这个例子还是比较抽象,那么我们还可以想象这样一种更古老的实际情况:早期的计算机还不具备处理高级语言的能力,程序员们只能将要写的程序和要处理的数据变成一条条纸带交给计算机去处理。而纸带上某个特定位置的状态是有限的,人们通过在纸带上打洞还是不打洞来表示 1 和 0 。因此数据通过一连串打洞和不打洞的序列进行表示,即很多 1 和 0 的序列,这种数据表示的思想也一直延续到现在。 字节 通过上面的讲解我们也能看到,一个位能表达的信息太少了,因此我们通常将单个的位连接组合起来,组成更大的存储单元,我们称这种最小组合单元为一个字节(byte),一个字节由 8 个位构成,它足以用来存储一个 char 类型的数据。 字 随着存储需求的日益增长,在现在大多数计算机中,字节被组合成更大的存储单位,我们称为字(word),一个字足以存储一个 int 类型的数据。现在的大多数计算机要么使用四字节的字,要么使用八字节的字。我们通常所说的 32 位机器或者 64 位机器其实就是指计算机处理器一次能处理的数据大小,32 位即 4 个字节,64 位即 8 个字节。 结论: 一个字等于多少个字节,与系统硬件(总线、cpu命令字位数等)有关,不应该毫无前提地说一个字等于多少位。 正确的说法: ①:1字节(byte) = 8位(bit) ②:在16位的系统中(比如8086微机) 1字 (word)= 2字节(byte)= 16(bit) 在32位的系统中(比如win32) 1字(word)= 4字节(byte)=32(bit) 在64位的系统中(比如win64)1字(word)= 8字节(byte)=64(bit)
    发表于 12-12 13:11

    锂电铜箔和标准铜箔,捷多邦教你如何区分和使用?

    锂电铜箔和标准铜箔,捷多邦教你如何区分和使用?
    的头像 发表于 12-04 15:58 2112次阅读

    EMC、EMI是什么意思?硬件人别再分不清楚

    emi硬件emc
    扬兴科技
    发布于 :2023年12月01日 19:52:03