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

  • 支持向量机(一)——线性可分支持向量机
  • 支持向量机(二)——松弛变量处理异常点
  • 支持向量机(三)——利用核函数得到非线性分类器

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

3.1 核函数

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

支持向量机(三)——利用核函数得到非线性分类器_第1张图片

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

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

ϕ(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)

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

核函数有如下性质:

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

你可能感兴趣的:(机器学习)