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

    文章

    88

    浏览量

    29365
  • KPCA
    +关注

    关注

    0

    文章

    9

    浏览量

    9111
  • LDA
    LDA
    +关注

    关注

    0

    文章

    28

    浏览量

    10534
  • 智能制造
    +关注

    关注

    48

    文章

    5102

    浏览量

    75541
  • 工业互联网
    +关注

    关注

    28

    文章

    4232

    浏览量

    93809
收藏 人收藏

    评论

    相关推荐

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

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

    FOSB和FOUP傻傻分不清楚

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

    [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

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

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

    有源晶振和无源晶振的区别

    不一样的材质。而无源晶振和有源晶振有时候让人傻傻分不清楚。1、无源晶振无源晶振是有2个引脚的无极性元件,需要借助于时钟电路才能产生振荡信号,自身无法振荡起来。无源
    的头像 发表于 11-21 08:00 455次阅读
    有源晶振和无源晶振的区别

    你还在电感和扼流圈傻傻分不清楚

    电源电流电压电子技术
    学习电子知识
    发布于 :2023年09月05日 21:28:37

    CDN、DNS、ADN、SCDN、DCDN、ECDN、PCDN、融合CDN傻傻分不清楚,一文全部搞懂

    火伞云为大家整理的CDN、DNS、ADN、SCDN、DCDN、ECDN、PCDN、融合CDN基本差异,大家都学会了吗?
    的头像 发表于 08-24 10:22 1302次阅读
    CDN、DNS、ADN、SCDN、DCDN、ECDN、PCDN、融合CDN<b class='flag-5'>傻傻</b><b class='flag-5'>分不清楚</b>,一文全部搞懂

    低通?高通滤波电路?傻傻分不清楚,来个人来解释下原理

    电源电路DIY电池
    学习电子知识
    发布于 :2023年08月23日 22:11:48

    中断和异常?傻傻分不清楚

    在一段时间里,我都认为中断与异常没有很明显的区别,因为表现出来都是当前运行中的程序被打断,然后执行中断向量表中的函数,但是其实这两个还是有区别的。
    的头像 发表于 08-10 11:18 1383次阅读
    中断和异常?<b class='flag-5'>傻傻</b><b class='flag-5'>分不清楚</b>

    电源符号,你还傻傻分不清楚

    注意:上面三个电源符号,本质上都是GND,主要是为了PCB走线的需求,有一些单点接地或者多点接地的处理,为了避免干扰,才有所区分
    的头像 发表于 07-16 15:31 2315次阅读

    有源晶振与无源晶振的区别在哪

    在PCB设计中,晶振(晶体振荡器)是非常重要的电子元器件,相信大部分的PCB工程师对它都不会陌生。而对于有源晶振与无源晶振,很多人却是“傻傻分不清楚”。
    的头像 发表于 06-19 09:12 986次阅读
    有源晶振与无源晶振的区别在哪

    强弱电傻傻分不清楚 强电弱电怎么区别-科兰

    你还傻傻分不清楚强弱电吗?清点弱电怎么区别您知道吗?因为高压而称之为强电,因为低压而称之为弱电吗?今天科兰小编将为大家一一解答这些问题,揭开强弱电的神秘面纱。 强电弱电怎么区别? (1)交流频率
    的头像 发表于 05-23 10:40 1023次阅读
    强弱电<b class='flag-5'>傻傻</b><b class='flag-5'>分不清楚</b> 强电弱电怎么区别-科兰

    00014 开关插座中的 位 控 极,再也不会傻傻分不清楚啦 #电气 #电工

    电工技术
    学习电子知识
    发布于 :2023年05月06日 23:14:43

    TLP3547光电固态继电器介绍

    继电器、干簧管继电器等,那么光电固态继电器又是什么东东呢?乍一看,TLP3547 这个光电固态继电器跟普通的8个脚的光耦长得非常相似,从外观上来看,几乎是有点傻傻分不清楚
    发表于 04-26 09:29 1次下载
    TLP3547光电固态继电器介绍