间隔与支持向量
对于存在可以将两类训练样本分开的多个划分超平面,划分超平面距离样本的距离越远,那么这个划分超平面产生的分类结果是最鲁棒的,对未见示例的泛化能力越强。
超平面的表述:
ωTx+b=0
ω 为法向量,决定了超平面的方向;
b 为位移项,决定了超平面与原点之间的距离。
任意样本点到超平面的距离可写为:
r=∣∣ω∣∣∣ωTx+b∣
假设超平面(
ω,
b)可以将训练样本正确分类,即对于(
xi,
yi)
∈D,若
yi=+1,则有
ωTx+b>0;若
yi=−1,则有
ωTx+b<0。令
ωTxi+b≥+1,yi=+1;
ωTxi+b≤+1,yi=−1;
距离超平面最近的这几个训练样本点使等号成立,被称为“支持向量”(support vector),两个异类支持向量到超平面的距离之和
γ=∣∣ω∣∣2称为“间隔”。
要找到最大间隔的划分超平面
ω,bmax∣∣ω∣∣2
s.t.yi(ωTxi+b)≥1
该问题等价为
ω,bmin21∣∣ω∣∣2
s.t.yi(ωTxi+b)≥1
对偶问题
利用拉格朗日乘子法求解对偶问题
L(ω,b,α)=21∣∣ω∣∣2+i=1∑mαi(1−yi(ωTxi+b))
令
L 对
ω 和
b 偏导为0
ω=i=1∑mαiyixi
0=I=1∑mαiyi
带入原式
L=21i=1∑mj=1∑maiajyiyjxiTxj+i=1∑mαi−i=1∑mαiyi(j=1∑mαjyjxiTxj+b)
=i=1∑mαi−21i=1∑mj=1∑maiajyiyjxiTxj−bi=1∑mαiyi
=i=1∑mαi−21i=1∑mj=1∑maiajyiyjxiTxj
s.t.i=1∑mαiyi=0
对偶问题与原问题解一致需要满足
KKT 条件,即
αi≥0
yif(xi)−1≥0
αi(yif(xi−1)=0
由
KKT 条件可以看出,样本必须满足
αi=0 或
yif(xi)=1,若
αi=0,那么该样本对结果的求解没有影响;若 $\alpha > 0 $,那么该样本位于最大间隔边界上,是一个支持向量。所以训练完成后大部分样本都不需要保留,最终模型只与支持向量有关。
对偶问题求解
SMO 算法:选取两个变量
αi、
αj,使两个变量对应的样本之间的间隔最大;固定
αi、
αj 之外的所有参数,求解对偶问题,获得更新后的
αi、
αj。
ω的确定:
ω=i=1∑mαiyixi
偏移项
b 的确定:
设
S={i∣αi>0,i=1,2,⋯,m}
b=∣S∣1s∈S∑(1/ys−i∈S∑αiyixiTxs)
核函数
对于原本样本空间不可分的分类问题,可将样本映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。
如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分
划分超平面所对应的模型:
f(x)=ωTϕ(x)+b
原问题转化为:
ω,bmin21∣∣ω∣∣2
s.t.yi(ωTϕ(xi)+b)≥1
对偶问题:
αmaxi=1∑mαi−21i=1∑mj=1∑maiajyiyjϕ(xi)Tϕ(xj)
s.t.i=1∑mαiyi=0
αi≥0
由于计算
ϕ(xi)Tϕ(xj) 困难,设
κ(xi,xj)=<ϕ(xi),ϕ(xj)>=ϕ(xi)Tϕ(xj)
那么对偶问题可重写为
αmaxi=1∑mαi−21i=1∑mj=1∑maiajyiyjκ(xi,xj)
s.t.i=1∑mαiyi=0
αi≥0
求解后可以得到
f(x)=ωTϕ(x)+b=i=1∑mαiyiϕ(xi)Tϕ(x)+b=i=1∑mαiyiκ(x,xi)+b
核函数的性质:
- 两个核函数的线性组合为核函数
- 两个核函数的直积为核函数
κ1⊗κ2(x,z)=κ1(x,z)κ2(x,z)
- 若
κ1 是核函数,则对于任意函数
g(x),
κ((x,z)=g(x)κ1((x,z)g(z)也是核函数
软间隔与正则化
软间隔:允许部分样本不满足约束条件
yi(ωTxi+b)≥1,因此在最大化间隔的同时,不满足约束条件的样本尽可能的少。
优化目标函数变为
ω,bmin21∣∣ω∣∣2+Ci=1∑mℓ0/1(yi(ωTxi+b)−1)
ℓ0/1是指若样本不满约束条件时为1,否则为0。通常我们使用数学性质好的(凸的连续函数)来代替
ℓ0/1 称为“替代损失”(
surrogateloss)
使用“松弛变量”代替损失函数:
ω,bmin21∣∣ω∣∣2+Ci=1∑mξi
s.t.yi(ωTxi+b)≥1−ξi
ξi≥0,i=1,2,⋯,m
这就是“软间隔支持向量机”