核函数简述
1、特征空间映射
若是不存在一个可以正确划分两类样本的超平面,怎么办?
将样本从原始空间映射到一个更高维的特征空间,使样本在这个特征空间内线性可分。
若是原始空间是有限维(属性数有限),那么一定存在一个高维特征空间使样本线性可分
设样本 x 映射后的向量为𝛷(𝑥),划分超平面为,原始问题就变成了
对偶问题为:
可见,与原始空间线性可分的SVM几乎一模一样,唯一的不同就是在样本 x 映射后的向量为𝛷(𝑥),变成了高维空间。
但是这里面有了一个新的计算问题,即𝛷(𝑥)非常高维甚至说是无限维。那么的内积计算代价开销将会非常大,如何解决这个问题?我们对其最终的模型进行一个预测,即:
经过观察始终是以内积的形式出现,从来没有单独的出现过,那我们你能不能找到一个不用直接算这个高维向量的内积,而是用一个可以代替内积计算的"东西",甚至说都不需要知道𝛷(𝑥)到底是什么?这就引出下面的内容了。
2、核函数
为了处理上面的问题,引入一个函数,用来计算两个向量在高维特征空间中内积的方法,而无需显式地将向量映射到高维空间,即核函数。其数学定义为:
因为只需要给其两个低维的向量给核函数进行处理就行了,其等价于高维向量的内积。就将求高维向量点积转换为了求低维向量对核函数求值。如此一来就成功绕过了显式考虑特征映射、以及计算高维内积的困难。这一下又有新问题了,就是这个核函数如何寻找?
有一个定理:Mercer定理,若是一个对称函数所对应的核矩阵半正定,则它就能作为核函数来使用。
PS3-1:这里涉及到对这个函数概念的一个理解,在这里函数其实现在起到一个空间的变换,在原来的空间上可以定义一个范数Norm(就是一种度量向量或矩阵“长度”或“大小”的函数,||∙||),假如说为
。到甚高维空间(因为不知道有多少维,所以叫"甚至不知道有多高维空间",简称甚高维)中,变为了
。这是函数 𝛷(•) 在做的事情。经过函数𝛷(𝑥)以后,之前点的关系会发生一定程度的扭曲。如何去刻画
的距离,如图:
在原空间里,可以定义一个距离函数,表示所有的两点距离:
在这个矩阵中,很明显是半正定的对称矩阵,且主对角线上的值全部为 0 。
核矩阵就是对任何一个核函数
,若是输入是两个点
,将所有的样本都提供给核函数,就能形成一个类似的矩阵,即:
若是这个矩阵恰恰也是半正定的对称矩阵,实际上在这个映射的甚高维空间里的距离矩阵。所以回到上面的Mercer定理,若是核函数对应的距离矩阵恰恰如上面所说,那这个核函数就可以使用。
因为核函数无非是在甚高维空间里寻找到一个能表述距离的"东西",这个核矩阵就要求了,这个对角线是为0的,且是对称的,半正定的(所有特征值大于等于0)。一旦满足这些条件,这个矩阵就对应了这个甚高维空间。
任何一个核函数都隐式的定义了一个RKHS空间,即"再生核希尔伯特空间"。这个其实说的就是上面的PS3-1中提出的能对应出来的"甚高维空间"。
PS3-2:有一个问题,将上面张开的甚高维空间称为"V1",可以找到的核函数通过核矩阵也能够张开一个空间称为"V2"。这里的"V1"与"V2"是否恰好一样?
即,之前想找到的 𝛷(•) ,现在找到了𝐾(•)。这里𝐾(•)起到的作用和原来理想的𝛷(•)是否完全一样?其实是无法保证的,保证的只能是存在一个RKHS空间可以将其线性分开,即 𝛷(•)是存在的。但是在找这个𝐾(•)的时候并没有显式告诉 𝛷(•)是什么。只是说"
"。但是不能保证这里𝐾(•)的一定就是
。所有这里就相当于有一个K(•)的集合,将所有的K(•)都放入这个核函数集合里面,存在一个最理想的
正好能够对应产生线性划分的 𝛷(•)。这个
一定能在所有核函数集合里产生。
上面的整理下来,就是我们在众多核函数中,找到一个核函数是最合适的,来满足要求。那么,这里怎么找到这个核函数,就是在第二章模型选择当中的内容了,但是不能保证一定就能找到这个最合适的核函数。因为这相当于P=NP问题了。
故,"核函数选择"成为了决定支持向量机性能的关键!
西瓜书中给出了一些常见的核函数:
核函数还可以通过组合得到,如若是和
为核函数,则对于任意正数
和
,其线性组合
也是核函数,直积
也是核函数,对于任意函数g(x),
也是核函数。