线性支持向量机
对于线性不可分数据,线性可分支持向量机不适用,因为其不等式约束并不能都成立。线性不可分意味着某些样本点
(xi,yi)不能满足函数间隔大于等于一的约束条件,这时可对每个样本点
(xi,yi)引入一个松弛变量
ξi≥0,使函数间隔加上松弛变量大于等于一,此时约束条件为
yi(wxi+b)≥1−ξi。同时对每个松弛变量
ξi支付一个代价,使目标函数变成
21∥w∥2+Ci=1∑Nξi,
C为惩罚参数,
C值大时对误分类的惩罚增大,
C值小时对误分类的惩罚减小。这样,线性不可分的线性支持向量机变成如下凸二次规划问题:
w,b,ξmin21∥w∥2+Ci=1∑Nξi
yi(wxi+b)≥1−ξi,ξi≥0
学习的对偶算法:以上原始问题的拉格朗日函数是:
L(w,b,ξ,α,μ)=21∥w∥2+Ci=1∑Nξi−i=1∑Nαi(yi(wxi+b)−1+ξi)−i=1∑Nμiξi
其中
αi≥0,μi≥0。将
L(w,b,ξ,α,μ)函数对
w,b,ξ求偏导并令其为零,可得
w=i=1∑Nαiyixi,
i=1∑Nαiyi=0,
C−αi−μi=0。将这些代入
L(w,b,ξ,α,μ)函数,即得对偶问题:
αmin21i=1∑Nj=1∑Nαiαjyiyj(xi∙xj)−i=1∑Nαi
i=1∑Nαiyi=0,
C−αi−μi=0
若
α∗=(α1∗,α2∗,...,αN∗)T是对偶问题的解,则存在
C>αj∗>0,使得原始问题的解为:
w∗=i=1∑Nαi∗yixi,
b∗=yj−i=1∑Nαi∗yi(xi⋅xj)。由于对与任一满足
C>αj∗>0条件的
αj∗都可求出一个
b∗,因此
b的解是不唯一的。将对偶问题的解
α∗=(α1∗,α2∗,...,αN∗)T中对应于
αj∗>0的样本点称为支持向量。
非线性支持向量机
(1)核技巧:假设
χ是输入空间(欧式空间
Rn的子集),
H为特征空间(希尔伯特空间),若存在一个从
χ到
H的映射
ϕ(x):χ→H,使得对所有
x,z∈χ,函数
K(x,z)满足条件
K(x,z)=ϕ(x)⋅ϕ(z),则称
K(x,z)为核函数,
ϕ(x)为映射函数,式中
ϕ(x)⋅ϕ(z)为内积操作。核技巧的想法是,在学习和预测中只定义核函数
K(x,z),而不显示地定义映射函数
ϕ(x)。当给定了核函数
K(x,z)时,映射函数
ϕ(x)并不唯一。
前面说到,对于线性支持向量机,无论目标函数还是决策函数(分离超平面),都只涉及到输入实例与实例之间的内积。而内积
xi⋅xj可以用核函数
K(x,z)=ϕ(x)⋅ϕ(z)来代替,此时对偶问题就会变为:
W(α)=21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαi
分离超平面中的内积也可以用核函数代替
i=1∑Nαi∗yiK(x,xi)+b∗。
在以上操作中,将输入空间中的内积
xi⋅xj变换为特征空间中的内积
ϕ(xi)⋅ϕ(xj),在新的特征空间里从训练样本中学习线性支持向量机。当映射函数是非线性函数时,学习到的含有核函数的支持向量机是非线性分类模型。也就是说,在核函数
K(x,z)给定条件下,可以利用线性分类问题的方法求解非线性分类问题的支持向量机。学习是隐式地在特征空间中进行,不需要显示地定义特征空间和映射函数。这样的技巧称为核技巧,它是巧妙地利用线性分类学习方法与核函数解决非线性问题的技术。
(2)正定核:通常所说的核函数就是正定核。如何判断一个给定的函数
K(x,z)是不是正定核?可以证明,
K(x,z)是正定核的充要条件是
K(x,z)对应的Gram矩阵
K=[K(xi,xj)]m×m是半正定矩阵。而对于检验核函数是否为正定核函数并不容易,所以一般会应用已知核函数。
(3)常用核函数:多项式核函数,
K(x,z)=(x⋅z+1)p;高斯核函数,
K(x,z)=exp(−2σ2∥x−z∥2);字符串核函数,核函数不仅可以定义在欧式空间,还可以定义在离散数据的集合上,这在文本分类、信息检索、生物信息学等方面都有应用。