支持向量机(三)——利用核函数得到非线性分类器
3 核函数与非线性支持向量机
3.1 核函数
如果训练数据本身是非线性的,比如按下图分布:
那么此时原输入空间没有超平面能将训练集很好地分离开,但存在这样的超曲面。而我们仍然希望用求解线性分类问题的方法求解非线性问题。这时可以将原输入空间中的数据点通过非线性变换,映射到新特征空间去,在此特征空间中,训练集是线性可分的,这时可以使用线性分类的方法找解决分类问题。比如上图中,将左边的原始输入空间映射到右边的新特征空间中去,然后用线性分类器在新空间中解决分类问题。
核函数
设X 是输入空间(欧式空间Rn 的子集或者离散集合),设H 为特征空间(希尔伯特空间),如果存在一个从X 到H 的映射使得对所有的ϕ(x):X→H x,z∈X ,函数K(x,z) 满足条件K(x,z)=ϕ(x)⋅ϕ(z)
则称K(x,z) 为核函数,ϕ(x)为映射函数。
但是,
3.2 非线性支持向量机
于是在特征空间中的支持向量机优化问题为:
对应的最优超平面为:
3.3 常用核函数
核函数并不好构造,不过有几个常用的核函数:
-
多项式核
K(x,z)=(x⋅z+1)p -
高斯核
K(x,z)=exp(−||x−z||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)