前言
这几天学校开了模式识别课,听得不是很明白,就在网上找了点资料学习下相关理论知识,主要参考了李政轩老师的核化法视频。这篇是关于核技巧的基本知识(PS:这编辑器挺好用的)
核技巧作用
在很多时候,在当前空间中,我们无法用线性方法分类,像下图中的左侧图,x和o分类边界是一个椭圆,这会给分类造成麻烦。但是我们现在引入一个函数,使得将这个二维空间映射到右侧的三维空间,映射函数如图所示,可以发现现在的o,x可以被一个线性平面所切分,是不是变方便了很多,这个就是核技巧的用处。(问题1:如何找Φ函数?)
引入核函数
还是看这图,黄线和绿线分别是两类其中一个元素在两个空间的对映关系。试着求一下3维空间两个元素的内积,从图下方推导可以看出两个3维空间元素的内积竟然可以用对应低维空间的两个元素坐标信息表达出来!这边是源空间内积的平方。这边好像可以得出 如果你想要算高维度(一般都是低维映射到高维,这样元素分的更开,例子是2->3)的内积,你不需要知道高维度的坐标信息,而是可以直接用原空间的坐标信息表达出来。我们把可以表达高维度信息的低维度表达函数称为核函数 kernel function,这个例子的KF是(<x,x’>)的平方。
----从这里可以得出,这样一个结论,如果你想知道高维空间的内积信息,你可以不知道(问题1)中的Φ函数,只需知道KF就行。
同样的高维空间的元素之间的距离、角度信息也可不需要Φ函数,用KF即可,具体推导见下图
距离信息
角度信息
再引入 核矩阵 包含所有元素之间的高维度的内积信息
简单的分类例子
图中Φx(注意下 下图已经是从原始维度映射到了较高维度的图)表示坐标信息(特征),y则是类别(标签 分为+是1,o是-1两类)。有两类+,o,红色代表各类均值(c+ 代表1类均值点,c-代表-1类均值点)。c为c- ,c+中点,绿星代表testing sample,且也已经映射到高维。可以从图种看出,要判别testing sample的类别,只要看绿色向量和红色向量的cosθ即可,如果>0为1类,<0为-1类。
那么问题就来了 如何求绿色向量和红色向量的cosθ?
法一:需要知道Φ函数,通过知道所有高维度坐标信息,自然就能求cos。但这个方法显然不好,不太符合核技巧。
法二:我们如果能不知道Φ函数,只通过核函数就能求解,那这不是核函数的精髓所在吗?看下图
c+ , c-是两类的均值点,w是向量c+ - c-
至于怎么求b 因为在低维c坐标也可求,用低维的c,再加上核函数自然可以求出高维的c的式子b。
对偶表示
可以看到上图中的 w 也可以看做Φ(xi)的线性组合
α为整合的系数向量, αi= 1/m+或-1/m- ,维度为 N 即样本数
原式整合为(其中b=-w(T)c):
KF一些疑问
什么样的函数叫KF 或者 KF怎么找
1.KF必须是有限半正定函数
半正定函数定义:设 ⊂ 是包含原点的一个区域,如果定义在 上的连续函数 满足: ,以及 , 且 。则称 是正定的。如果只满足弱一点的条件,对 ,只有 ,则称 为半正定的。
这个条件等价于上文中得出的核矩阵要是一个半正定矩阵。即K>=0
下面证明一个KF符合该要求,即该核矩阵K为半正定。
证明定理:设A为实对称矩阵,若对于每个非零实向量X,都有X’AX≥0,则称A为半正定矩阵,称X’AX为半正定二次型。
一些常用的KF
有线性核函数,多项式核函数,高斯核函数等