第七章 支持向量机(三)非线性支持向量机与核函数

本文介绍了非线性支持向量机的基本原理及核函数的应用,详细解释了如何通过映射函数将非线性分类问题转换为线性分类问题,并给出了常用的核函数类型及其特性。

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

一、非线性分类

非线性分类问题指的是通过利用非线性模型才能很好地进行分类的问题。
用线性分类方法求解非线性分类问题的一般思想
先使用一个变换将原空间的数据映射到新空间,
然后在新空间里用线性分类学习方法。

二、核函数的引入

XX是输入空间,H为特征空间,如果存在一个从XXH的映射

ϕ(x):XHϕ(x):X→H

使得对所有的x,zXx,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α12i=1nj=1nαiαjyiyj(xixj)+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αiC,i=1,2,...n0≤αi≤C,i=1,2,...n

KKT条件得到的原始问题的解为
w=iαiyixiw∗=∑iαi∗yixi

b=yji=1nαiyi(xixj)b∗=yj−∑i=1nαi∗yi(xi⋅xj)

分类决策函数
f(x)=sign(iαiyi(xix)+b)f(x)=sign(∑iαi∗yi(xi⋅x)+b∗)

目标函数和分类决策函数都只涉及输入实例与实例之间的内积,将内积用核函数替换就得到非线性SVM。
maxα12i=1nj=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αiC,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∗)


这等价于经过映射函数将原来的输入空间变换到一个新的特征空间,将输入空间中的内积xixjxi⋅xj变换为特征空间中的内积ϕ(xi)ϕ(xj)ϕ(xi)ϕ(xj),在新的特征空间中学习线性支持向量机。
学习是隐式地在特征空间中进行,不需要显式地定义特征空间和映射函数。

三、核函数的介绍

对于从低维到高维的映射,核函数不止一个。那么什么样的函数才可以当做核函数呢?
通常我们说的核函数就是正定核函数
定理(正定核的充要条件)设K:X×XRK:X×X→R是对称函数,则K(x,z)K(x,z)为正定核函数的充要条件是对任意xiX,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)=(xz+1)pK(x,z)=(x⋅z+1)p

2.高斯核函数(Gaussian Kernel)
在SVM中也称为径向基核函数(Radial Basis Function,RBF),它是非线性分类SVM最主流的核函数。libsvm默认的核函数
K(x,z)=exp(||xz||22σ2)K(x,z)=exp(−||x−z||22σ2)

3. Sigmoid核函数
K(x,z)=tanh(γxz+r)K(x,z)=tanh(γx⋅z+r)

疑问
1. 为什么高维或者无穷维一定? 线性可分
2. 没有内积还能用核函数?
3. 如果输入空间本身就是高维的, SVM 还适用吗

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值