目录
3月份,写过一篇PCA的文章,再此基础上,又看了关于KPCA的东西,所以有了这篇文章,这篇文章,直接使用了PCA中的主要思想,不明白的可以转到https://blog.csdn.net/foneone/article/details/88881334这篇文章。
1核函数
如果存在一个从X到P的映射:
使得对所有x,z属于X,函数K(x,z)满足条件:
K(x,z) =
则K(x,z)为核函数,为映射函数,
为
和
内积。
举一个简单的例子:
通过一个映射,将一个二维的非线性分隔线(椭圆)变成了三维平面,变成了线性分隔。
在学习和预测中,只定义核函数K(x,z),而不定义映射函数(映射不好直接显示表达,但两者内积可以通过核函数表达)。
两者关系:给定核函数,特征空间和映射函数取法不唯一,即使同一特征空间,映射也可以不同。
假设给定的核函数如下:
若,
=
(1)若此时映射写为:
则有,这样就从二维特征成功的转到了三维特征
(2)若此时映射写为:
那么依旧可以得到,这也是从二维到三维。
(3)若此时映射写为:
通过核函数运算,可将两者内积表示成,
通过映射也可以达到此效果,即为(1);除了这种映射之外,也可以找到其他映射方法,如(2);映射不仅仅可以从二维到三维,也可以到四维甚至更高维度,如(3)。
因此,核函数和映射之间,不是一一对应的关系。
给定一个映射函数,可以用求解两者的内积求解核函数。但不构造映射函数
,如何判断一个给定的函数,是否为核函数K(x,z)?满足什么条件才能成为核函数?
通常情况下,核函数就是正定核函数。
K(x,z)为正定核函数的充要条件是对于任意x属于X,K(x,z)对应的Gram矩阵:
是半正定矩阵。
Gram矩阵:内积组成的矩阵
定义:n维欧式空间中任意k(k<=n)个向量,的内积所组成的矩阵。
称为k个向量的格拉姆矩阵(Gram矩阵),它的行列式成为Gram行列式。
也可以说,K(x,z)对应的Gram矩阵是半正定矩阵,则K(x,z)是正定核函数。(两者可以互相推导)
半正定矩阵判别:实对称矩阵A称为半正定的,若A半正定,即对于任意不为零的实例向量x,都有
给一个例子,证明K(x,z) = <x,z>为核矩阵。
(其中
表示内积,等于<x1,x1>)
故:
证毕。
上述定义在构造核函数时很有用,但是对于一个具体函数K(x,z)来说,检验是否为正定核函数并不容易,因为要验证K对应的Gram矩阵是否为半正定的。
因此,在核函数上,往往应用现有核函数。
2 核函数种类
其中最常用的是(1)(2)(3)。
3核函数应用-KPCA
核PCA就是将原样本通过核映射后,在核空间基础上做PCA降维。
先假设样本在核映射Φ(x)后也是中心化的——样本集经过Φ(x)一一映射后,均值仍然为0,即:
但是,存在这样的一个问题,核函数是定义2个向量之间的关系,即 K(x,y)=<Φ(x),Φ(y)>=,结果是一个值。换句话说,不显式的知道Φ(x)的具体映射机制,那么这个映射后的协方差矩阵C当然无法显式计算。(因为要计算协方差矩阵的特征值和特征向量)。
故要通过K(x,y)将问题转化。
K(x1,xn)为升维之后的两者内积,可以求出。故序号1中的特征值和特征向量都可以求出。
通过(1)可以得出(2),故C就可以表示出来,即为C的特征向量(v),
为特征值。
对v特征向量单一化处理,即得到了箭头所指的位置,其中u为已知,仍为未知。
但是,最后想要得到的并不是和v,而是最后
。(即为降维之后的样本)
故可以利用,如下转化方法计算。
V所求的特征向量和做内积的结果。
故总结一下,核PCA的计算步骤:
1,按照核函数,写出核矩阵
2,求解核矩阵的特征值和特征向量,按照从大到小排列
3,计算
参考文献:
[1]https://www.bilibili.com/video/av16722186
[2]https://www.bilibili.com/video/av31552048