版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_34072381/article/details/83995612
前言
线性分类SVM是一种线性分类非常有效的方法,若分类问题是非线性,需要考虑对数据进行空间变换,将非线性分类问题转变为线性分类问题,使非线性SVM的学习转变为线性SVM的学习。
若使用映射
ϕ将实例从原空间
X(一般为欧式空间
Rn的子集)变换到新的高维特征空间
H(希尔伯特空间),使原空间中的非线性分类问题转变为新特征空间中的线性分类问题,则即可在新的特征空间中学习并使用线性分类模型。
由上节可知,线性SVM的对偶问题为
αmins.t,21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαii=1∑Nαiyi=00≤αi≤C,i=1,2,⋯,N
可见实例特征之间的计算仅以内积的形式出现,这种形式使得空间变换与计算变得简单可行。因为不用求解实例特征映射(空间变换)以及映射后的实例之间的内积,而已函数的形式直接得到映射后的实例之间的内积(核技巧),如下
x→ϕ(x),y→ϕ(y)⇒ϕ(x)⋅ϕ(y)ϕ(x)⋅ϕ(y)=K(x,y)
本节主要介绍非线性SVM的分类问题、核函数的作用以及非线性SVM模型的求解过程。
基于核函数的非线性SVM
模型描述
数据集
T={(x1,y1),⋯,(xN,yN)}线性不可分,实例特征向量
xi∈X=Rn,实例类别
yi∈Y={+1,−1}。若能用
Rn中的一个超平面正确划分数据集,则该类分类问题为非线性可分问题。
解决思路之核技巧
通过非线性变换将输入空间(
Rn的子集或离散集合)中的超曲面模型对应于特征空间(希尔伯特空间
H)中的超平面模型,并在
H中求解线性SVM,以得到非线性模型的解。
图1 非线性分类问题与核技巧
核函数
若原始空间是有限维(属性有限维),那么一定存在高维特征空间使样本可分。
设
ϕ(x):X→H是从输入空间
X到特征空间
H(高维)的映射,若对所有的
x,z∈X,均有
K(x,z)=ϕ(x)⋅ϕ(z)
则称
K(x,z)为核函数,特征空间
H维度确定时,映射不唯一。
核技巧的想法
学习是隐式地在特征空间中进行,仅定义核函数
K(x,z),而不显式定义特征空间
H和映射
ϕ。通常情况下,直接计算
K(x,z)比通过
ϕ(x)⋅ϕ(z)计算
K(x,z)容易得多,具体见下面示例。
例 输入空间
Rn,核函数
K(x.z)=(x⋅z)2,试找出其相关的特征空间
H和映射
ϕ(x):Rn→H.
解:取特征空间
H=R3,记输入空间
Rn中的两个实例
x=(x1,x2)T,
z=(z1,z2)T,由于
(x⋅z)2=(x1z1+x2z2)2=(x1z1)2+2x1z1x2z2+(x2z2)2
可取映射
ϕ(x)=(x12,2
x1x2,x22)T或
ϕ(x)=2
1(x12−x22,2x1x2,x12+x22)T,易证
ϕ(x)⋅ϕ(z)=K(x,z).
可见,不论通过哪一种映射变化,计算内积
ϕ(x)⋅ϕ(z)的计算量都要比直接计算
K(x.z)大很多。
正定核
若已知映射
ϕ,可通过
ϕ(x)与
ϕ(z)的内积求解核函数
K(x,z)。如何判断直接给定的
K(x,z)满足核函数的条件?
略
核函数的选择
由于核函数
K(x,z)=ϕ(x⋅ϕ(z),内积值应该与向量
x,z之间的距离成正比。
高斯核函数符合这一特征,即
K(x,z)=exp(−2σ2∣∣x−z∣∣2)
模型建立与求解
使用核函数替代线性分类对偶问题中特征向量内积的计算方法,得非线性分类最优化问题
αmins.t,21i=1∑Nj=1∑NαiαjyiyjK(xi⋅xj)−i=1∑Nαii=1∑Nαiyi=00≤αi≤C,i=1,2,⋯,N
求解约束方程得到拉格朗日乘子最优解,
α∗=(α1∗,α2∗,⋯,αN∗)T,且
α∗̸=0。
由线性分类模型可知
ω∗=i=1∑Nαi∗yixi,然后选择
α∗中的一个正分量
0<αi∗<C,得
b∗=yj−i=1∑Nαi∗yiK(xi⋅xj)
因此,分离超平面
i=1∑Nαi∗yiK(x⋅xi)+b∗=0,分类决策函数
f(x)=sign(i=1∑Nαi∗yiK(x⋅xi)+b∗)。