支持向量机(三)——利用核函数得到非线性分类器

来源:互联网 发布:au软件是什么软件 编辑:程序博客网 时间:2024/06/06 09:21
  • 支持向量机(一)——线性可分支持向量机
  • 支持向量机(二)——松弛变量处理异常点
  • 支持向量机(三)——利用核函数得到非线性分类器

3 核函数与非线性支持向量机

3.1 核函数

如果训练数据本身是非线性的,比如按下图分布:

这里写图片描述

那么此时原输入空间没有超平面能将训练集很好地分离开,但存在这样的超曲面。而我们仍然希望用求解线性分类问题的方法求解非线性问题。这时可以将原输入空间中的数据点通过非线性变换,映射到新特征空间去,在此特征空间中,训练集是线性可分的,这时可以使用线性分类的方法找解决分类问题。比如上图中,将左边的原始输入空间映射到右边的新特征空间中去,然后用线性分类器在新空间中解决分类问题。

核函数
X是输入空间(欧式空间Rn的子集或者离散集合),设H为特征空间(希尔伯特空间),如果存在一个从XH的映射

ϕ(x):XH
使得对所有的x,zX,函数K(x,z)满足条件
K(x,z)=ϕ(x)ϕ(z)

则称K(x,z)为核函数,ϕ(x)

但是,ϕ是输入空间Rn到特征空间H的映射,而H一般是高维的甚至是无穷维的,所以直接求ϕ(x)是比较困难的。核技巧的想法是,只定义核函数K(x,z),而不显示定义非线性映射函数ϕ,这对支持向量机来说再合适不过了,因为无论是支持向量机的优化问题还是其最优超平面,都只涉及变换后的内积,而并不需要变换值。(这里多提一句,对于确定的核函数K(x,z),其对应的特征空间H和映射ϕ并不唯一。)

3.2 非线性支持向量机

于是在特征空间中的支持向量机优化问题为:

minαs.t.12i=1mj=1mαiαjyiyjK(xi,xj)i=1mαii=1mαiyi=00αiC(50)

对应的最优超平面为:

i=1mαiyiK(xi,x)+b=0(51)

3.3 常用核函数

核函数并不好构造,不过有几个常用的核函数:

  • 多项式核

    K(x,z)=(xz+1)p

  • 高斯核

    K(x,z)=exp(||xz||22σ2)

    又称为径向基核函数,可以将数据映射到无穷维空间。

核函数有如下性质:

  • 如果K1K2为核函数,那么对于任意正数γ1,γ2,线性组合
    K(x,z)=γ1K1+γ2K2
    也是核函数。
  • 如果K1K2为核函数,那么核函数的乘积也是核函数:
    K(x,z)=K1(x,z)K2(x,z)
  • 如果K1为核函数,那么对于任意函数g(x)
    K(x,z)=g(x)K1(x,z)g(z)
    也是核函数。