非线性支持向量机与核函数
一、非线性分类
非线性分类问题指的是通过利用非线性模型才能很好地进行分类的问题。
用线性分类方法求解非线性分类问题的一般思想
先使用一个变换将原空间的数据映射到新空间,
然后在新空间里用线性分类学习方法。
二、核函数的引入
设XX是输入空间,为特征空间,如果存在一个从XX到的映射
ϕ(x):X→Hϕ(x):X→H
使得对所有的x,z∈Xx,z∈X,函数K(x,z)K(x,z)满足条件
K(x,z)=ϕ(x)⋅ϕ(z)K(x,z)=ϕ(x)⋅ϕ(z)
则称K(x,z)K(x,z)为核函数,ϕ(x)ϕ(x)为映射函数。
线性SVM的对偶问题
maxα−12∑i=1n∑j=1nαiαjyiyj(xi⋅xj)+∑i=1nαimaxα−12∑i=1n∑j=1nαiαjyiyj(xi⋅xj)+∑i=1nαi
s.t.∑i=1nαiyi=0s.t.∑i=1nαiyi=0
0≤αi≤C,i=1,2,...n0≤αi≤C,i=1,2,...n
KKT条件得到的原始问题的解为
w∗=∑iα∗iyixiw∗=∑iαi∗yixi
b∗=yj−∑i=1nα∗iyi(xi⋅xj)b∗=yj−∑i=1nαi∗yi(xi⋅xj)
分类决策函数
f(x)=sign(∑iα∗iyi(xi⋅x)+b∗)f(x)=sign(∑iαi∗yi(xi⋅x)+b∗)
目标函数和分类决策函数都只涉及输入实例与实例之间的内积,将内积用核函数替换就得到非线性SVM。
maxα−12∑i=1n∑j=1nαiαjyiyjK(xi,xj)+∑i=1nαi(1)(1)maxα−12∑i=1n∑j=1nαiαjyiyjK(xi,xj)+∑i=1nαi
s.t.∑i=1nαiyi=0(2)(2)s.t.∑i=1nαiyi=0
0≤αi≤C,i=1,2,...n(3)(3)0≤αi≤C,i=1,2,...n
f(x)=sign(∑iα∗iyiϕ(xi)⋅ϕ(x)+b∗)=sign(∑iα∗iyiK(xi,x)+b∗)(4)(4)f(x)=sign(∑iαi∗yiϕ(xi)⋅ϕ(x)+b∗)=sign(∑iαi∗yiK(xi,x)+b∗)
这等价于经过映射函数将原来的输入空间变换到一个新的特征空间,将输入空间中的内积xi⋅xjxi⋅xj变换为特征空间中的内积ϕ(xi)ϕ(xj)ϕ(xi)ϕ(xj),在新的特征空间中学习线性支持向量机。
学习是隐式地在特征空间中进行,不需要显式地定义特征空间和映射函数。
三、核函数的介绍
对于从低维到高维的映射,核函数不止一个。那么什么样的函数才可以当做核函数呢?
通常我们说的核函数就是正定核函数。
定理(正定核的充要条件)设K:X×X→RK:X×X→R是对称函数,则K(x,z)K(x,z)为正定核函数的充要条件是对任意xi∈X,i=1,2,...mxi∈X,i=1,2,...m,K(x,z)K(x,z)对应的Gram矩阵
K=[K(xi,xj)]m×mK=[K(xi,xj)]m×m
是半正定矩阵。
常用核函数
1.多项式核函数
K(x,z)=(x⋅z+1)pK(x,z)=(x⋅z+1)p
2.高斯核函数(Gaussian Kernel)
在SVM中也称为径向基核函数(Radial Basis Function,RBF),它是非线性分类SVM最主流的核函数。libsvm默认的核函数
K(x,z)=exp(−||x−z||22σ2)K(x,z)=exp(−||x−z||22σ2)
3. Sigmoid核函数
K(x,z)=tanh(γx⋅z+r)K(x,z)=tanh(γx⋅z+r)
疑问
1. 为什么高维或者无穷维一定? 线性可分
2. 没有内积还能用核函数?
3. 如果输入空间本身就是高维的, SVM 还适用吗
本文介绍了非线性支持向量机的基本原理及核函数的应用,详细解释了如何通过映射函数将非线性分类问题转换为线性分类问题,并给出了常用的核函数类型及其特性。
299

被折叠的 条评论
为什么被折叠?



