目录
软间隔最大化
接着上篇的最基本的支持向量机模型,下面介绍“软间隔”最大化。简单来说,就是对间隔放宽一个系数
ξi
目标函数为:
minω,b,ξ12||ω||2+C∑i=1Nξi
s.t.yi(ω⋅xi+b)≥1−ξi,i=1,2,...,N
ξi,i=1,2,...,N≥0
其中,
C
代表惩罚系数,惩罚系数越大,目标函数对于松弛系数
ξi
越严苛。
合页损失函数
软间隔最大化问题,可以转化为合页损失函数最小化问题。令
ξi=1−yi(ω⋅xi+b),ξi≥0
,所以
[1−yi(ω⋅xi+b)]+=[ξi]+=ξi
其中
[z]+={z,z≥00,other(13)
所以
minω,b12||ω||2+C∑i=1N[1−yi(ω⋅xi+b)]+
令
λ=12C
,则原目标函数转化为
minω,b∑i=1N[1−yi(ω⋅xi+b)]++λ||ω||2
其中,第一项,称为合页损失函数
[1−y(ω⋅x+b)]+
,是经验风险;第二项,系数
λ
乘以
ω
的
L2
范数的平方,是正则化项。
支持向量
对偶问题的解
α∗=(α∗1,α∗2,...,α∗N)T
中,
α∗i>0
的实例
(xi,yi)
被称为支持向量,点到分离超平面的距离为
ξi||ω||
非线性支持向量机
非线性可分的数据集,需要用核技巧,即经过非线性变换,将原空间转到特征空间,通过在特征空间求解线性问题,求解原问题。其中,若将x空间变换到z空间的映射
z=ϕ(x)
,则称函数
K(x,z)=ϕ(x)⋅ϕ(z)
是核函数,K是
ϕ(x)
与
ϕ(z)
的内积。
支持向量机是如何引入核函数的概念进行非线性化的?注意,支持向量机对偶问题中
θd=maxω,b12∑i−1N∑j=1Nαiαjyiyi(xi⋅xj)−∑i=1Nαi
包含向量的内积
(xi⋅xj)
,自然想到,如果做非线性变换,可以引入核函数
K(x,z)
。所以,非线性支持向量机对偶问题目标函数为,
W(α)=12∑i−1N∑j=1NαiαjyiyiK(xi⋅xj)−∑i=1Nαi
常用核函数
一般情况下,很难知道一个合适的映射
z=ϕ(x)
。且如果将输入空间映射到特征空间,再对特征空间做内积,可能会由于特征空间维度过高使得计算量很大。所以,直接在输入空间定义运算
K(x,z)
。
在不知道映射
z=ϕ(x)
时,如果要定义一个
K(x,z)
是核函数,必须满足
K(x,z)
是正定核函数,即对于任意
xi∈χ,i=1,2,...,m
,
K
的
Gram
矩阵
[K(xi,xj)]m×m
是半正定矩阵。实际情况中,任意一个核
K(x,z)
都要对数据集检验
Gram
矩阵是否为半正定矩阵,才能确定他是不是一个核函数,但是验证是非常复杂的。所以有一些常用的核函数方便使用。
- 线性核函数:
K(x,z)=x⋅z
- 多项式核函数:
K(x,z)=(x⋅z+1)p
- 高斯核函数:
K(x,z)=exp(−||x−z||22σ2)
- 混合核:
λK1(x,z)+(1−λ)K2(x,z),0≤λ<1
通常根据数据集的特性选择核,选择交叉验证下误差最小的。
参考:
1. SVM核函数