统计学习之核函数

在做分类的问题时往往会遇到一些非线性类别,意思是这时想要用一条直线将其正确分类,分隔开是不现实的。这时,就想到有没有一种方法可以将非线性问题转化为线性问题,答案是肯定的。也就是所谓的核技巧 —— 将低维非线性问题转化成高维线性。也就是说,低维可能不好分,高维空间可能就存在那么一个超平面可以将这些点分开。而这个低维到高维是需要转换映射关系的是不是,这个映射(直观说这映射就是一个多维空间向量)可能不是唯一的,但他们之间的联系就是核函数,高维向量的内积可以用低维向量运算得到。书上有个简单例子:



   例:假设输入空间是R^{2}(二维空间向量),核函数是K(x,z)=(x\cdot z)^2,试找出其相关的特征空间H和映射空间Y(x):R^{2}->H.
         取特征空间H=R^{3},记X=(x1,x2)^{T},z=(z1,z2)^T,由于:
             K(x,z)=(x\cdot z)^2=(x1z1+x2z2)^2=(x1z1)^2+2x1x2z1z2+(x2z2)^2
       所以可以取映射
             y(x)=(x_{1}^2,\sqrt{2}x_{1}x_{2},x_{2}^2)^T(转置是习惯表示成列向量)
     容易验证y(x)\cdot y(z)=(x\cdot z)^2=K(x,z).
     同理,当取H=R^4,y(x)=(x1^2,x1x2,x1x2,x_{2}^2),依然有y(x)\cdot y(z)=K(x,z).


相信这样核函数是什么应该相对比较清晰了。这样原来的二维不可分的向量便映射到了三维和四维空间中。

事实上,核函数的研究非常的早,要比SVM出现早得多,当然,将它引入SVM中是最近二十多年的事情。而核函数的价值在于它虽然也是将特征进行从低维到高维的转换,但核函数好在它在低维上进行计算,而将实质上的分类效果(利用了内积)表现在了高维上,这样避免了直接在高维空间中的复杂计算,真正解决了例如SVM线性不可分的问题。

对于从低维到高维的映射,核函数不止一个。那么什么样的函数才可以当做核函数呢?这是一个有些复杂的数学问题。这里不过多介绍。由于一般我们说的核函数都是正定核函数,这里我们直说正定核函数的充分必要条件。一个函数要想成为正定核函数,必须满足他里面任何点的集合形成的Gram矩阵是半正定的。也就是说,对于任意的 x_{i}\chi,i=1,2,3...m, K(x_{i},x_{j})对应的Gram矩阵K=[K(x_{i},x_{j})]是半正定矩阵,则K(x,z)是正定核函数。 

从上面的定理看,定理要求任意的集合都满足Gram矩阵半正定,所以自己去找一个核函数还是很难的,怎么办呢?还好牛人们已经帮我们找到了很多的核函数,而常用的核函数也仅仅只有那么几个。下面我们来看看常见的核函数, 选择这几个核函数介绍是因为scikit-learn中默认可选的就是下面几个核函数。
 

线性核函数

 

                                              \large K(x,z)=x\cdot z

实际上,也就是说,线性可分SVM我们可以和线性不可分SVM归为一类,区别仅仅在于线性不可分SVM用的是线性核函数。

多项式核函数

多项式核函数(Polynomial Kernel)是线性不可分SVM常用的核函数之一,表达式为

 

                                                         \large K(x,z)=(\gamma x\cdot z+r)^d

其中\large \gamma ,r,d都需要自己调参定义。

高斯核函数

高斯核函数(Gaussian Kernel),在SVM中也称为径向基核函数(Radial Basis Function,RBF),它是非线性分类SVM最主流的核函数。libsvm默认的核函数就是它。表达式为:

                                                      \large K(x,z)=exp(-\gamma ||x-z||^{2})

 其中,\large \gamma大于0,需要自己调参定义。

Sigmoid核函数

 Sigmoid核函数(Sigmoid Kernel)也是线性不可分SVM常用的核函数之一,表达式为:

 

                                                     \large K(x,z)=\tanh (\gamma x\cdot z+r)

其中,\large \gamma ,r都需要自己调参定义。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值