【机器学习】支持向量机(三)----拉格朗日对偶性与对偶问题

上一篇,讲的是硬间隔最大化和软间隔最大化的原始学习问题,回顾一下。
1.硬间隔最大化(线性可分支持向量机)学习算法
原始问题:
   minωT,b12||ω||2minωT,b12||ω||2
s.t.  yi(ωTxi+b)10yi(ωTxi+b)−1≥0

2.软间隔最大化(线性支持向量机)学习算法
原始问题:
   minωT,b,ξ12||ω||2+Cn=1NξiminωT,b,ξ12||ω||2+C∑n=1Nξi
s.t.  yi(ωTxi+b)1ξiyi(ωTxi+b)≥1−ξi  (i=1,2,..,N)
s.t.  ξi0ξi≥0         (i=1,2,..,N)

由于约束项的存在,对于这些原始问题的求解变得复杂起来,回忆起高中那时有一类不等式题,求解的思路就是用的拉格朗日乘数法,将那些约束项和待求项合在一起组成一个式子来求解,这个就有点像我们要用的方法。
因此,在这里,我们可以利用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解,这就是支持向量机的对偶算法。其优点有二:一、对偶问题往往更容易求解;二、自然地引入核函数,进而推广到非线性分类问题。

【原始问题】

首先我们来看看原始问题的形式(来自统计学习方法附录C)
假设f(x)f(x),ci(x)ci(x),hj(x)hj(x)是定义在RnRn上的连续可微函数.考虑约束最优化问题:
   minxRnf(x)minx∈Rnf(x)
s.t.  ci(x)0ci(x)≤0   (i=1,2,…,k)
s.t.  hj(x)=0hj(x)=0   (j=1,2,…,s)
这个问题就被称为原始最优化问题或原始问题

【拉格朗日乘数】

引入拉格朗日乘数L(x,α,β)=f(x)+i=1kαici(x)+j=1sβjhj(x)L(x,α,β)=f(x)+∑i=1kαici(x)+∑j=1sβjhj(x)
这里αiαi,βjβj是拉格朗日乘子,αi0αi≥0
又到了重头戏时间,上图:
这里写图片描述
为什么要这要设计呢,原始问题的约束项在这个式子中如何体现呢?那么我们就来看看θp(x)=maxα,β:αi0L(x,α,β)=f(x)+i=1kαici(x)+j=1sβjhj(x)θp(x)=maxα,β:αi≥0L(x,α,β)=f(x)+∑i=1kαici(x)+∑j=1sβjhj(x)这个式子是否能满足原始问题的那两个约束条件吧。
接着上图:
这里写图片描述
诶嘿,真是一个美妙的变化。不过为什么

θp(x)={ f(x),+,xθp(x)={ f(x),x满足原始条件约束+∞,其他
其实当x满足原始条件约束时(即ci(x)0ci(x)≤0hj(x)=0hj(x)=0)
θp(x)θp(x)就会变成maxα,β:αi0L(x,α,β)=f(x)+αimaxα,β:αi≥0L(x,α,β)=f(x)+负数乘上αi,为了使L(x,α,β)L(x,α,β)最大,由于αi0αi≥0,只有αiαi取0的时候才能使其最大,这样就得出θp(x)=maxα,β:αi0L(x,α,β)=f(x)θp(x)=maxα,β:αi≥0L(x,α,β)=f(x)
这样,原本三行式子的原始问题就被转化成了minxθp(x)=minxmaxα,β:αi0L(x,α,β)minxθp(x)=minxmaxα,β:αi≥0L(x,α,β)
被称为广义拉格朗日函数的极小极大问题

【对偶问题】

定义θD(α,β)=minxL(x,α,β)θD(α,β)=minxL(x,α,β),再考虑极大化θD(α,β)θD(α,β)
maxα,β:αi0θD(α,β)=maxα,β:αi0minxL(x,α,β)maxα,β:αi≥0θD(α,β)=maxα,β:αi≥0minxL(x,α,β)
这个被称为广义拉格朗日函数的极大极小问题,我们给它换个形式,把αi0αi≥0给提出来做约束项,就可以写成这样:
    maxα,β

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值