SVM之对偶问题

前一篇SVM之问题形式化中将最大间隔分类器形式化为以下优化问题:

(1){minw,b12∥w∥2s.t.yi(wTxi+b)≥1

容易发现这是一个凸优化问题,而凸优化问题问题一般而言是满足Slater条件的(具体证明我也不懂),所以可以等价地求解其对偶问题。转而求解其对偶问题,是因为它的对偶问题有很好的形式(向量内积形式),可以为SVM很方便的引人核函数。关于对偶问题的基本概念在写在SVM之前——凸优化与对偶问题一文中已做粗略介绍。现在,写出以上优化问题的对偶形式。

首先,将(1)化为标准形式

(2){minw,b12∥w∥2s.t.1−yi(wTxi+b)≤0

构建拉格朗日函数:

(3)L(w,b,α)=12∥w∥2+∑iαi(1−yi(wTxi+b))

θD(α)=minw,bL(w,b,α),则(2)的对偶问题可以写成

(4)maxαminw,bL(w,b,α)=maxαθD(α)

首先求出 θD(α) θD(α)是函数 L(w,b,α)关于变量 (w,b) 的最小值,且容易发现 L(w,b,α)是关于 (w,b)的凸函数,所以可以直接求偏导数并令其为0得到解。

L(w,b,α) 关于 w 求偏导:

∂L(w,b,α)∂w=∂[12∥w∥2+∑iαi(1−yi(wTxi+b))]∂w=∂[12wTw+∑iαi(1−yi(wTxi+b))]∂w=w−∑iαiyixi

令其为0,得到

(5)w=∑iαiyixi

L(w,b,α) 关于 b 求偏导:

∂L(w,b,α)∂b=∂[12∥w∥2+∑iαi(1−yi(wTxi+b))]∂b=−∑iαiyi

令其为0,得到

(6)∑iαiyi=0

现在,将(5) 代回(3),得到

θD(α)=12∥w∥2+∑iαi(1−yi(wTxi+b))=12wTw+∑iαi(1−yi(wTxi+b))=12∑i,jαiαjyiyj(xi)Txj+∑iαi−∑i,jαiαjyiyj(xi)Txj−b∑iαiyi=∑iαi−12∑i,jαiαjyiyj(xi)Txj−b∑iαiyi

再根据(6),得到 

(7)θD(α)=∑iαi−12∑i,jαiαjyiyj(xi)Txj(8)=∑iαi−12∑i,jαiαjyiyj<xi,xj>

这便求出了 θD(α),而对偶问题是 maxαθD(α)。加上约束条件,对偶问题就可以写成

(9){maxα∑iαi−12∑i,jαiαjyiyj<xi,xj>s.t.{αi≥0∑iαiyi=0

其中约束 αi≥0是拉格朗日对偶问题本身的要求,约束 ∑iαiyi=0代表 ∂L(w,b,α)∂b=0的结果。

现在,对偶问题就得到了。对偶问题求解的结果是得到 α 的取值。当 α得到解后,就可以根据 w=∑iαiyixi解出 w 。 w确定了分类超平面的方向, b 使得超平面有一个平移,根据最大间隔分类器的准则,最优超平面是穿过两类样本“最中间”的一个平面,所以 b并不难确定

(10)b=−maxi:yi=−1wTxi+mini:yi=1wTx2

(w,b) 确定后,分类器就确定了,就是超平面 wTx+b=0 ,对于新的输入样本 x ,如果 wTx+b>0则判别它样本类别为1,否则判别它样本类别为-1。

现在不求解 w ,而是将 w=∑iαiyixi 带入判别式 wTx+b 中,得

(11)wTx+b=∑iαiyi<xi,x>+b

上式将判别式写成了向量内积的形式,看似需要计算输入 x与所有训练样本的内积,但实际上还可以简化。

回顾写在SVM之前——凸优化与对偶问题一文提到的KKT条件 αigi(x)=0 ,只有 gi(x)=0 αi 才可能不为0。对应到现在的分类器: x→(w,b),gi(x)→gi(w,b)=1−yi(wTxi+b) (注意这里的 x 是优化问题形式化中的优化变量,不要与上文中的新输入样本 x 混淆)。所以只有当 1−yi(wTxi+b)=0时,对于的 αi 才可能不为0,那么(11)的计算实际上只需计算了部分训练样本与新输入样本的内积,这部分 1−yi(wTxi+b)=0的训练样本称为支持向量,这也是SVM——支持向量机名字的来源。

考虑支持向量满足 1−yi(wTxi+b)=0,所以 yi(wTxi+b)=1,而 yi(wTxi+b)正是样本函数间隔的定义,也就是说,支持向量就是函数间隔为1的样本,它们也是所有样本中函数间隔最小的样本。

 

上图标出来最优分类超平面(红色)和对于的函数间隔为1的样本(两条黑线上的样本),对左侧黑线上的支持向量有 wTxl+b=−1 ,对于右侧黑线上的支持向量有 wTxr+b=1,根据KKT条件,这两个样本可以根据 αl>0 和 αr>0找到,两个式子联立起来得到 b=−wTxl+wTxr2 ,与(10)的是一致的。其实从这里就可以看出,只需要一个样本就可以确定 b了,根据 wTxr+b=1,就可以解出 b, b=−wTxl+wTxr2和(10)比较直观的说明分类超平面穿过两类样本正中间而已。

现在,分类器的内容似乎已经完整了,但不要忘了,这都是在样本可分的情况下进行的,还没有考虑样本不可分的情况。

核函数在一定程度上解决了样本不可分问题,观察优化问题(9)和判别函数(11),其中都存在向量的内积形式,核函数正是在这上面做文章的。下一篇SVM之核函数将讨论这个问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值