(十一)KPCA非线性降维与核函数

一. 前言

在前文讲述PCA降维算法时提到,PCA只能处理线性数据的降维,本质上都是线性变换,并且它仅是筛选方差最大的特征,去除特征之间的线性相关性。对于线性不可分的数据常常效果很差。


二. KPCA算法

KPCA算法其实很简单,数据在低维度空间不是线性可分的,但是在高维度空间就可以变成线性可分的了。利用这个特点,KPCA只是将原始数据通过核函数(kernel)映射到高维度空间,再利用PCA算法进行降维,所以叫做K PCA降维。因此KPCA算法的关键在于这个核函数。

假设现在有映射函数φ(不是核函数),它将数据从低维度映射到高维度。得到高维度数据后,我们还需要计算协方差矩阵,从前文可以看出,协方差矩阵每个元素都是向量的内积。映射到高维度空间后,向量维度增加,计算量大幅度增大。即便计算量不是问题,那么这个φ应该把数据映射到多少维度呢?怎么求这个φ呢?这些都是很困难的。但是核函数刚好可以解决这个问题,下面我们看一下什么是核函数。

三. 核函数

1. 核函数定义

核函数K(kernel function)可以直接得到低维数据映射到高维后的内积,而忽略映射函数具体是什么,即
K(x, y) = <φ(x), φ(y)>,其中x和y是低维的输入向量,φ是从低维到高维的映射,<x, y>是x和y的内积。

核函数是一个非常有趣和强大的工具。 它是强大的,因为它提供了一个从线性到非线性的连接以及任何可以只表示两个向量之间的点积的算法。如果我们首先将我们的输入数据映射到更高维的空间,那么我在这个高维的空间进行操作出的效果,在原来那个空间就表现为非线性。

在KPCA中,刚好可以利用核函数的特点,反正我们的目的就是求数据在高维空间的内积而已(协方差矩阵),又何必知道怎么映射的呢?

2. 常见核函数

核函数有很多限制要求,比如要求是连续的,对称的,等等。这里不做深入探讨,毕竟不是数学系的,不用深入研究(恩,其实是看不懂)。下面列举一些常用的核函数,至于怎么选择,恩,目前是世界性难题。

  • 线性核
    函数简单,只是将2个向量求内积加上个常数,只能解决线性可分问题,如果我们将线性核函数应用在KPCA中,我们会发现,推导之后和原始PCA算法一模一样。



    参数C可以调整。

  • 多项式核
    比线性核稍微复杂一点,由于多了指数d,所以可以处理非线性问题。 这里要求a大于0,c大于等于0。多项式内核非常适合于所有训练数据都归一化的问题。这个核函数是比较好用的,就是参数比较多,但是还算稳定。



    参数a,c,d都可以调。

  • 高斯核
    高斯核是径向基函数核(RBF)的一个典型代表。非常好用,用的也很多。
    高斯核在计算中涉及到两个向量的欧式距离(2范数)计算,可调参数只有一个sigma,它控制着函数的作用范围。


以二维向量为例,如果y固定,那么y就充当着对称轴的作用;sigma控制着函数的胖瘦,也就是作用范围。下图中,距离对称轴小于sigma的范围内,图像是有高度的,sigma之外的范围,函数基本没有高度(没起作用)。


sigma=1
sigma=5
  • 指数核
    也是RBF代表,和高斯核很像,只是将L2范数变成L1。


  • 拉普拉斯核
    拉普拉斯核完全等价于指数核,唯一的区别在于前者对参数的敏感性降低,也是一种RBF。


四. KPCA的简单推导

为了进一步理解KPCA,我们这里做一个简单的推导,看看KPCA究竟是什么鬼东西!

假设原始数据是如下矩阵X:(数据每一列为一个样本,每个样本有m个属性,一共有n个样本)


将每个样本通过函数φ映射到高维空间,得到高维空间的数据矩阵φ(X)。

用同样的方法计算高维空间中数据的协方差矩阵,进一步计算特征值与特征向量。

定理:空间中的任一向量(哪怕是基向量),都可以由该空间中的所有样本线性表示,这点对KPCA很重要。
所以根据这个定理,我们就可以用所有样本来表示特征向量:

将这个线性组合带回到特征向量公式,替换特征向量,得到:

进一步,等式两边同时左乘一个 φ(X)的转置:(目的是构造2个φ(X)的转置 乘 φ(X))


等式两边同时除以K,得到:

得到了与PCA相似度极高的求解公式。
下面来看一下这个K,到底怎么求呢?我们的核函数闪亮登场了!

注意,协方差矩阵是X乘X的转置,落实到计算是任意2个特征(行)的点积;而此处的核矩阵K是反过来的,X的转置乘X,它落实到计算是任意2个样本(列)的点积。这个核矩阵是n维的,维度和样本数相同,而不是特征数。

根据核函数的性质,上面这个核矩阵K可以直接在低维空间计算得到:


接下来,和PCA相同,求K最大的几个特征值所对应的特征向量,由于K为对称矩阵,所得的解向量彼此之间肯定是正交的。
注意,这里的特征向量α只是K的特征向量,不是高维空间中的特征向量。看之前那个定理,高维空间的特征向量 W 与映射函数有关是 φ(X)α。既然α不是高维空间的坐标轴,那它是什么呢?它其实是全部样本在这个轴上的投影了,也即是我们所需的进行降维后的数据了。
由于K是n(样本数)维方阵,所以最多有n个特征值,所以理论上讲KPCA的降维结果最高可以达到n维,会比降维之前的特征多。但是核心信息都在前几个轴上面,至于取几个轴,就看经验啦。

五. 总结一下KPCA算法的计算过程

  1. 去除平均值,进行中心化。
  2. 利用核函数计算核矩阵K。
  3. 计算核矩阵的特征值和特征向量。
  4. 将特征相量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P。
  5. P即为降维后的数据。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,406评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,976评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,302评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,366评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,372评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,457评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,872评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,521评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,717评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,523评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,590评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,299评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,859评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,883评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,127评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,760评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,290评论 2 342