核PCA(Kernel PCA)详述

目录

1核函数

2 核函数种类

3核函数应用-KPCA


 

3月份,写过一篇PCA的文章,再此基础上,又看了关于KPCA的东西,所以有了这篇文章,这篇文章,直接使用了PCA中的主要思想,不明白的可以转到https://blog.csdn.net/foneone/article/details/88881334这篇文章。

1核函数

如果存在一个从XP的映射:

                                                                      核PCA(Kernel PCA)详述

使得对所有x,z属于X,函数K(x,z)满足条件:

                                                                      K(x,z) = 核PCA(Kernel PCA)详述

则K(x,z)为核函数,核PCA(Kernel PCA)详述为映射函数,核PCA(Kernel PCA)详述核PCA(Kernel PCA)详述核PCA(Kernel PCA)详述内积。

举一个简单的例子: 

核PCA(Kernel PCA)详述

通过一个映射,将一个二维的非线性分隔线(椭圆)变成了三维平面,变成了线性分隔。

在学习和预测中,只定义核函数K(x,z),而不定义映射函数核PCA(Kernel PCA)详述(映射不好直接显示表达,但两者内积可以通过核函数表达)。

两者关系:给定核函数,特征空间和映射函数核PCA(Kernel PCA)详述取法不唯一,即使同一特征空间,映射也可以不同。

假设给定的核函数如下:

                                                                             核PCA(Kernel PCA)详述   

核PCA(Kernel PCA)详述,核PCA(Kernel PCA)详述

                                    核PCA(Kernel PCA)详述=核PCA(Kernel PCA)详述

(1)若此时映射写为:

                                                                     核PCA(Kernel PCA)详述

                                                                    核PCA(Kernel PCA)详述

则有核PCA(Kernel PCA)详述,这样就从二维特征成功的转到了三维特征

(2)若此时映射写为:

                                                           核PCA(Kernel PCA)详述

                                                           核PCA(Kernel PCA)详述

那么依旧可以得到核PCA(Kernel PCA)详述,这也是从二维到三维。

(3)若此时映射写为:

                                                            核PCA(Kernel PCA)详述

                                                           核PCA(Kernel PCA)详述

 

通过核函数运算,可将两者内积表示成,核PCA(Kernel PCA)详述

通过映射也可以达到此效果,即为(1);除了这种映射之外,也可以找到其他映射方法,如(2);映射不仅仅可以从二维到三维,也可以到四维甚至更高维度,如(3)。

因此,核函数和映射之间,不是一一对应的关系。

给定一个映射函数,可以用求解核PCA(Kernel PCA)详述两者的内积求解核函数。但不构造映射函数核PCA(Kernel PCA)详述,如何判断一个给定的函数,是否为核函数K(x,z)?满足什么条件才能成为核函数?

通常情况下,核函数就是正定核函数。

K(x,z)为正定核函数的充要条件是对于任意x属于X,K(x,z)对应的Gram矩阵:

核PCA(Kernel PCA)详述

是半正定矩阵。

Gram矩阵:内积组成的矩阵

定义:n维欧式空间中任意k(k<=n)个向量,核PCA(Kernel PCA)详述的内积所组成的矩阵。

                                      核PCA(Kernel PCA)详述

称为k个向量核PCA(Kernel PCA)详述的格拉姆矩阵(Gram矩阵),它的行列式成为Gram行列式。

也可以说,K(x,z)对应的Gram矩阵是半正定矩阵,则K(x,z)是正定核函数。(两者可以互相推导)

半正定矩阵判别:实对称矩阵A称为半正定的,若A半正定,即对于任意不为零的实例向量x,都有核PCA(Kernel PCA)详述

给一个例子,证明K(x,z) = <x,z>为核矩阵。

核PCA(Kernel PCA)详述

    核PCA(Kernel PCA)详述 (其中核PCA(Kernel PCA)详述表示内积,等于<x1,x1>)

    核PCA(Kernel PCA)详述

    核PCA(Kernel PCA)详述

故:

        核PCA(Kernel PCA)详述

                    核PCA(Kernel PCA)详述
              证毕。

上述定义在构造核函数时很有用,但是对于一个具体函数K(x,z)来说,检验是否为正定核函数并不容易,因为要验证K对应的Gram矩阵是否为半正定的。

因此,在核函数上,往往应用现有核函数。

2 核函数种类
 

核PCA(Kernel PCA)详述

核PCA(Kernel PCA)详述

其中最常用的是(1)(2)(3)。

3核函数应用-KPCA
 

核PCA就是将原样本通过核映射后,在核空间基础上做PCA降维。

核PCA(Kernel PCA)详述

先假设样本在核映射Φ(x)后也是中心化的——样本集经过Φ(x)一一映射后,均值仍然为0,即:

核PCA(Kernel PCA)详述

 但是,存在这样的一个问题,核函数是定义2个向量之间的关系,即 K(x,y)=<Φ(x),Φ(y)>=核PCA(Kernel PCA)详述,结果是一个值。换句话说,不显式的知道Φ(x)的具体映射机制,那么这个映射后的协方差矩阵C当然无法显式计算。(因为要计算协方差矩阵的特征值和特征向量)。

故要通过K(x,y)将问题转化。

核PCA(Kernel PCA)详述

K(x1,xn)为升维之后的两者内积,可以求出。故序号1中的特征值和特征向量都可以求出。

通过(1)可以得出(2),故C就可以表示出来,即核PCA(Kernel PCA)详述为C的特征向量(v),核PCA(Kernel PCA)详述为特征值。

对v特征向量单一化处理,即得到了箭头所指的位置,其中u为已知,核PCA(Kernel PCA)详述仍为未知。

但是,最后想要得到的并不是核PCA(Kernel PCA)详述和v,而是最后核PCA(Kernel PCA)详述。(即为降维之后的样本)

故可以利用,如下转化方法计算。

V所求的特征向量和核PCA(Kernel PCA)详述做内积的结果。

核PCA(Kernel PCA)详述

               核PCA(Kernel PCA)详述

             核PCA(Kernel PCA)详述

          核PCA(Kernel PCA)详述

故总结一下,核PCA的计算步骤:

1,按照核函数,写出核矩阵

2,求解核矩阵的特征值和特征向量,按照核PCA(Kernel PCA)详述从大到小排列

3,计算核PCA(Kernel PCA)详述

 

 

参考文献:

[1]https://www.bilibili.com/video/av16722186

[2]https://www.bilibili.com/video/av31552048