【机器学习】支持向量机(三)----拉格朗日对偶性与对偶问题
2018-03-26 00:10
357 查看
上一篇,讲的是硬间隔最大化和软间隔最大化的原始学习问题,回顾一下。
1.硬间隔最大化(线性可分支持向量机)学习算法
原始问题:
minωT,b12||ω||2minωT,b12||ω||2
s.t. yi(ωTxi+b)−1≥0yi(ωTxi+b)−1≥0
2.软间隔最大化(线性支持向量机)学习算法
原始问题:
minωT,b,ξ12||ω||2+C∑n=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. ξi≥0ξi≥0 (i=1,2,..,N)
由于约束项的存在,对于这些原始问题的求解变得复杂起来,回忆起高中那时有一类不等式题,求解的思路就是用的拉格朗日乘数法,将那些约束项和待求项合在一起组成一个式子来求解,这个就有点像我们要用的方法。
因此,在这里,我们可以利用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解,这就是支持向量机的对偶算法。其优点有二:一、对偶问题往往更容易求解;二、自然地引入核函数,进而推广到非线性分类问题。
假设f(x)f(x),ci(x)ci(x),hj(x)hj(x)是定义在RnRn上的连续可微函数.考虑约束最优化问题:
minx∈Rnf(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)
这个问题就被称为原始最优化问题或原始问题
这里αiαi,βjβj是拉格朗日乘子,αi≥0αi≥0
又到了重头戏时间,上图:
为什么要这要设计呢,原始问题的约束项在这个式子中如何体现呢?那么我们就来看看θp(x)=maxα,β:αi≥0L(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)≤0,hj(x)=0hj(x)=0)
θp(x)θp(x)就会变成maxα,β:αi≥0L(x,α,β)=f(x)+负数乘上αimaxα,β:αi≥0L(x,α,β)=f(x)+负数乘上αi,为了使L(x,α,β)L(x,α,β)最大,由于αi≥0αi≥0,只有αiαi取0的时候才能使其最大,这样就得出θp(x)=maxα,β:αi≥0L(x,α,β)=f(x)θp(x)=maxα,β:αi≥0L(x,α,β)=f(x)了
这样,原本三行式子的原始问题就被转化成了minxθp(x)=minxmaxα,β:αi≥0L(x,α,β)minxθp(x)=minxmaxα,β:αi≥0L(x,α,β)
被称为广义拉格朗日函数的极小极大问题
即maxα,β:αi≥0θD(α,β)=maxα,β:αi≥0minxL(x,α,β)maxα,β:αi≥0θD(α,β)=maxα,β:αi≥0minxL(x,α,β)
这个被称为广义拉格朗日函数的极大极小问题,我们给它换个形式,把αi≥0αi≥0给提出来做约束项,就可以写成这样:
maxα,βθD(α,β)=maxα,βminxL(x,α,β)maxα,βθD(α,β)=maxα,βminxL(x,α,β)
s.t. αi≥0αi≥0
这个就被称为原始问题的对偶问题
定理1
定义原始问题最优解为:p∗=minxθp(x)p∗=minxθp(x)
定义对偶问题最优解为:d∗=maxα,β:α≥0θD(α,β)d∗=maxα,β:α≥0θD(α,β)
若原始问题和对偶问题都有最优解,则有:
d∗=maxα,β:αi≥0minxL(x,α,β)≤minxmaxα,β:αi≥0L(x,α,β)=p∗d∗=maxα,β:αi≥0minxL(x,α,β)≤minxmaxα,β:αi≥0L(x,α,β)=p∗
推论
设x∗x∗是原始问题可行解,α∗α∗,β∗β∗是对偶问题可行解,并且d∗=p∗d∗=p∗,则x∗x∗是原始问题最优解,α∗α∗,β∗β∗是对偶问题最优解
定理2
1、假设函数f(x)f(x)和ci(x)ci(x)是凸函数,hj(x)hj(x)是仿射函数(即最高次数为1的多项式函数,若常数项等于0,就是线性函数)
2、假设不等式约束ci(x)ci(x)是严格可行的(即存在xx,对所有ii有ci(x)<0ci(x)<0)
以上两个假设同时满足的情况下,则存在x∗x∗,α∗α∗,β∗β∗,使x∗x∗是原始问题的解,α∗α∗,β∗β∗是对偶问题的解,且d∗=p∗=L(x∗,α∗,β∗)d∗=p∗=L(x∗,α∗,β∗)
定理3
对于定理2来说,存在x∗x∗,α∗α∗,β∗β∗,使x∗x∗是原始问题的解,α∗α∗,β∗β∗是对偶问题的解的充分必要条件是x∗x∗,α∗α∗,β∗β∗满足下面的KKT条件:
【KKT条件】
∇xL(x∗,α∗,β∗)=0∇xL(x∗,α∗,β∗)=0
α∗ici(x∗)=0αi∗ci(x∗)=0 i=1,2,…k
ci(x∗)≤0ci(x∗)≤0 i=1,2,…k
α∗i≥0αi∗≥0 i=1,2,…k
hj(x∗)=0hj(x∗)=0 j=1,2,…s
特别指出,α∗i≥0αi∗≥0被称为KKT对偶互补条件,由此条件可知:若α∗i>0αi∗>0,则ci(x)=0ci(x)=0
再次写一下原始问题:
minωT,b12||ω||2minωT,b12||ω||2
s.t. yi(ωTxi+b)−1≥0yi(ωTxi+b)−1≥0
引入拉格朗日乘子αi≥0αi≥0,得L(ωT,b,α)=12||ω||2−∑i=1nαiyi(ωTxi+b)+∑i=1nαiL(ωT,b,α)=12||ω||2−∑i=1nαiyi(ωTxi+b)+∑i=1nαi
对偶问题为:
maxαminωT,bL(ωT,b,α)maxαminωT,bL(ωT,b,α)
为了求得对偶问题的解,需先求L(ωT,b,α)L(ωT,b,α)对ωTωT,bb的极小,再求对αα的极大。
(1)求L(ωT,b,α)L(ωT,b,α)对ωTωT,bb的极小:
∇ωL(ωT,b,α)=ω−∑i=1nαiyixi=0∇ωL(ωT,b,α)=ω−∑i=1nαiyixi=0
∇bL(ωT,b,α)=−∑i=1nαiyi=0∇bL(ωT,b,α)=−∑i=1nαiyi=0
求得:ω=∑i=1nαiyixiω=∑i=1nαiyixi
∑i=1nαiyi=0∑i=1nαiyi=0
带入minωT,bL(ωT,b,α)minωT,bL(ωT,b,α)
得:minωT,bL(ωT,b,α)=∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxTixjminωT,bL(ωT,b,α)=∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxiTxj
(2)求maxαminωT,bL(ωT,b,α)maxαminωT,bL(ωT,b,α)
即求:
maxα∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxTixjmaxα∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxiTxj
s.t. ∑i=1nαiyi=0∑i=1nαiyi=0 (αi≥0,i=1,2..,nαi≥0,i=1,2..,n)
(3)转换为等价问题
minα12∑i=1n∑j=1nαiαjyiyjxTixj−∑i=1nαiminα12∑i=1n∑j=1nαiαjyiyjxiTxj−∑i=1nαi
s.t. ∑i=1nαiyi=0∑i=1nαiyi=0 (αi≥0,i=1,2..,nαi≥0,i=1,2..,n)
(4)解得最优解α∗=(α∗1,α∗2,...,α∗n)Tα∗=(α1∗,α2∗,...,αn∗)T
(5)计算ω∗ω∗,b∗b∗
ω∗=∑i=1nα∗iyixi=0ω∗=∑i=1nαi∗yixi=0
b∗=yj−∑i=1nα∗iyixTixj=0b∗=yj−∑i=1nαi∗yixiTxj=0
(6)求得超平面:ω∗x+b∗=0ω∗x+b∗=0
求得分类决策函数:f(x)=sign(ω∗x+b∗)f(x)=sign(ω∗x+b∗)
原始问题:
minωT,b,ξ12||ω||2+C∑n=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. ξi≥0ξi≥0 (i=1,2,..,N)
入两个拉格朗日乘子αi≥0αi≥0和μi≥0μi≥0,得L(ωT,b,ξ,α)=12||ω||2+C∑n=1Nξi−∑i=1n(αiyi(ωTxi+b)−1+ξi)−∑i=1nμiξiL(ωT,b,ξ,α)=12||ω||2+C∑n=1Nξi−∑i=1n(αiyi(ωTxi+b)−1+ξi)−∑i=1nμiξi
对偶问题为:
maxαminωT,b,ξL(ωT,b,ξ,α)maxαminωT,b,ξL(ωT,b,ξ,α)
为了求得对偶问题的解,需先求L(ωT,b,ξ,α)L(ωT,b,ξ,α)对ωTωT,bb,ξξ的极小,再求对αα的极大。
(1)求L(ωT,b,ξ,α)L(ωT,b,ξ,α)对ωTωT,bb,ξξ的极小:
∇ωL(ωT,b,ξ,α)=ω−∑i=1nαiyixi=0∇ωL(ωT,b,ξ,α)=ω−∑i=1nαiyixi=0
∇bL(ωT,b,ξ,α)=−∑i=1nαiyi=0∇bL(ωT,b,ξ,α)=−∑i=1nαiyi=0
∇ξL(ωT,b,ξ,α)=C−αi−μi=0∇ξL(ωT,b,ξ,α)=C−αi−μi=0
求得:ω=∑i=1nαiyixiω=∑i=1nαiyixi
∑i=1nαiyi=0∑i=1nαiyi=0
C−αi−μi=0C−αi−μi=0
带入minωT,b,ξL(ωT,b,ξ,α)minωT,b,ξL(ωT,b,ξ,α)
得:minωT,b,ξL(ωT,b,ξ,α)=∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxTixjminωT,b,ξL(ωT,b,ξ,α)=∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxiTxj
(2)求maxαminωT,b,ξL(ωT,b,ξ,α)maxαminωT,b,ξL(ωT,b,ξ,α)
即求:
maxα∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxTixjmaxα∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxiTxj
s.t. ∑i=1nαiyi=0∑i=1nαiyi=0 (αi≥0,i=1,2..,nαi≥0,i=1,2..,n)
s.t. C−αi−μi=0C−αi−μi=0 (i=1,2..,ni=1,2..,n)
s.t. αi≥0αi≥0 (i=1,2..,ni=1,2..,n)
s.t. μi≥0μi≥0 (i=1,2..,ni=1,2..,n)
等价于:
maxα∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxTixjmaxα∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxiTxj
s.t. ∑ni=1αiyi=0∑i=1nαiyi=0 (αi≥0,i=1,2..,nαi≥0,i=1,2..,n)
s.t. 0≤αi≤C0≤αi≤C (i=1,2..,ni=1,2..,n)
(3)转换为等价问题
minα12∑i=1n∑j=1nαiαjyiyjxTixj−∑i=1nαiminα12∑i=1n∑j=1nαiαjyiyjxiTxj−∑i=1nαi
s.t. ∑i=1nαiyi=0∑i=1nαiyi=0 (αi≥0,i=1,2..,nαi≥0,i=1,2..,n)
s.t. 0≤αi≤C0≤αi≤C (i=1,2..,ni=1,2..,n)
(4)解得最优解α∗=(α∗1,α∗2,...,α∗n)Tα∗=(α1∗,α2∗,...,αn∗)T
(5)计算ω∗ω∗,b∗b∗
ω∗=∑i=1nα∗iyixi=0ω∗=∑i=1nαi∗yixi=0
b∗=yj−∑i=1nα∗iyixTixj=0b∗=yj−∑i=1nαi∗yixiTxj=0
(6)求得超平面:ω∗x+b∗=0ω∗x+b∗=0
求得分类决策函数:f(x)=sign(ω∗x+b∗)f(x)=sign(ω∗x+b∗)
参考文献:《统计学习方法》、《机器学习》
1.硬间隔最大化(线性可分支持向量机)学习算法
原始问题:
minωT,b12||ω||2minωT,b12||ω||2
s.t. yi(ωTxi+b)−1≥0yi(ωTxi+b)−1≥0
2.软间隔最大化(线性支持向量机)学习算法
原始问题:
minωT,b,ξ12||ω||2+C∑n=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. ξi≥0ξi≥0 (i=1,2,..,N)
由于约束项的存在,对于这些原始问题的求解变得复杂起来,回忆起高中那时有一类不等式题,求解的思路就是用的拉格朗日乘数法,将那些约束项和待求项合在一起组成一个式子来求解,这个就有点像我们要用的方法。
因此,在这里,我们可以利用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解,这就是支持向量机的对偶算法。其优点有二:一、对偶问题往往更容易求解;二、自然地引入核函数,进而推广到非线性分类问题。
【原始问题】
首先我们来看看原始问题的形式(来自统计学习方法附录C)假设f(x)f(x),ci(x)ci(x),hj(x)hj(x)是定义在RnRn上的连续可微函数.考虑约束最优化问题:
minx∈Rnf(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是拉格朗日乘子,αi≥0αi≥0
又到了重头戏时间,上图:
为什么要这要设计呢,原始问题的约束项在这个式子中如何体现呢?那么我们就来看看θp(x)=maxα,β:αi≥0L(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)≤0,hj(x)=0hj(x)=0)
θp(x)θp(x)就会变成maxα,β:αi≥0L(x,α,β)=f(x)+负数乘上αimaxα,β:αi≥0L(x,α,β)=f(x)+负数乘上αi,为了使L(x,α,β)L(x,α,β)最大,由于αi≥0αi≥0,只有αiαi取0的时候才能使其最大,这样就得出θp(x)=maxα,β:αi≥0L(x,α,β)=f(x)θp(x)=maxα,β:αi≥0L(x,α,β)=f(x)了
这样,原本三行式子的原始问题就被转化成了minxθp(x)=minxmaxα,β:αi≥0L(x,α,β)minxθp(x)=minxmaxα,β:αi≥0L(x,α,β)
被称为广义拉格朗日函数的极小极大问题
【对偶问题】
定义θD(α,β)=minxL(x,α,β)θD(α,β)=minxL(x,α,β),再考虑极大化θD(α,β)θD(α,β)即maxα,β:αi≥0θD(α,β)=maxα,β:αi≥0minxL(x,α,β)maxα,β:αi≥0θD(α,β)=maxα,β:αi≥0minxL(x,α,β)
这个被称为广义拉格朗日函数的极大极小问题,我们给它换个形式,把αi≥0αi≥0给提出来做约束项,就可以写成这样:
maxα,βθD(α,β)=maxα,βminxL(x,α,β)maxα,βθD(α,β)=maxα,βminxL(x,α,β)
s.t. αi≥0αi≥0
这个就被称为原始问题的对偶问题
定理1
定义原始问题最优解为:p∗=minxθp(x)p∗=minxθp(x)
定义对偶问题最优解为:d∗=maxα,β:α≥0θD(α,β)d∗=maxα,β:α≥0θD(α,β)
若原始问题和对偶问题都有最优解,则有:
d∗=maxα,β:αi≥0minxL(x,α,β)≤minxmaxα,β:αi≥0L(x,α,β)=p∗d∗=maxα,β:αi≥0minxL(x,α,β)≤minxmaxα,β:αi≥0L(x,α,β)=p∗
推论
设x∗x∗是原始问题可行解,α∗α∗,β∗β∗是对偶问题可行解,并且d∗=p∗d∗=p∗,则x∗x∗是原始问题最优解,α∗α∗,β∗β∗是对偶问题最优解
定理2
1、假设函数f(x)f(x)和ci(x)ci(x)是凸函数,hj(x)hj(x)是仿射函数(即最高次数为1的多项式函数,若常数项等于0,就是线性函数)
2、假设不等式约束ci(x)ci(x)是严格可行的(即存在xx,对所有ii有ci(x)<0ci(x)<0)
以上两个假设同时满足的情况下,则存在x∗x∗,α∗α∗,β∗β∗,使x∗x∗是原始问题的解,α∗α∗,β∗β∗是对偶问题的解,且d∗=p∗=L(x∗,α∗,β∗)d∗=p∗=L(x∗,α∗,β∗)
定理3
对于定理2来说,存在x∗x∗,α∗α∗,β∗β∗,使x∗x∗是原始问题的解,α∗α∗,β∗β∗是对偶问题的解的充分必要条件是x∗x∗,α∗α∗,β∗β∗满足下面的KKT条件:
【KKT条件】
∇xL(x∗,α∗,β∗)=0∇xL(x∗,α∗,β∗)=0
α∗ici(x∗)=0αi∗ci(x∗)=0 i=1,2,…k
ci(x∗)≤0ci(x∗)≤0 i=1,2,…k
α∗i≥0αi∗≥0 i=1,2,…k
hj(x∗)=0hj(x∗)=0 j=1,2,…s
特别指出,α∗i≥0αi∗≥0被称为KKT对偶互补条件,由此条件可知:若α∗i>0αi∗>0,则ci(x)=0ci(x)=0
【线性可分支持向量机的对偶问题】
有了上面的基础,我们就可以对线性可分支持向量机的原始问题进行转化啦~再次写一下原始问题:
minωT,b12||ω||2minωT,b12||ω||2
s.t. yi(ωTxi+b)−1≥0yi(ωTxi+b)−1≥0
引入拉格朗日乘子αi≥0αi≥0,得L(ωT,b,α)=12||ω||2−∑i=1nαiyi(ωTxi+b)+∑i=1nαiL(ωT,b,α)=12||ω||2−∑i=1nαiyi(ωTxi+b)+∑i=1nαi
对偶问题为:
maxαminωT,bL(ωT,b,α)maxαminωT,bL(ωT,b,α)
为了求得对偶问题的解,需先求L(ωT,b,α)L(ωT,b,α)对ωTωT,bb的极小,再求对αα的极大。
(1)求L(ωT,b,α)L(ωT,b,α)对ωTωT,bb的极小:
∇ωL(ωT,b,α)=ω−∑i=1nαiyixi=0∇ωL(ωT,b,α)=ω−∑i=1nαiyixi=0
∇bL(ωT,b,α)=−∑i=1nαiyi=0∇bL(ωT,b,α)=−∑i=1nαiyi=0
求得:ω=∑i=1nαiyixiω=∑i=1nαiyixi
∑i=1nαiyi=0∑i=1nαiyi=0
带入minωT,bL(ωT,b,α)minωT,bL(ωT,b,α)
得:minωT,bL(ωT,b,α)=∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxTixjminωT,bL(ωT,b,α)=∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxiTxj
(2)求maxαminωT,bL(ωT,b,α)maxαminωT,bL(ωT,b,α)
即求:
maxα∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxTixjmaxα∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxiTxj
s.t. ∑i=1nαiyi=0∑i=1nαiyi=0 (αi≥0,i=1,2..,nαi≥0,i=1,2..,n)
(3)转换为等价问题
minα12∑i=1n∑j=1nαiαjyiyjxTixj−∑i=1nαiminα12∑i=1n∑j=1nαiαjyiyjxiTxj−∑i=1nαi
s.t. ∑i=1nαiyi=0∑i=1nαiyi=0 (αi≥0,i=1,2..,nαi≥0,i=1,2..,n)
(4)解得最优解α∗=(α∗1,α∗2,...,α∗n)Tα∗=(α1∗,α2∗,...,αn∗)T
(5)计算ω∗ω∗,b∗b∗
ω∗=∑i=1nα∗iyixi=0ω∗=∑i=1nαi∗yixi=0
b∗=yj−∑i=1nα∗iyixTixj=0b∗=yj−∑i=1nαi∗yixiTxj=0
(6)求得超平面:ω∗x+b∗=0ω∗x+b∗=0
求得分类决策函数:f(x)=sign(ω∗x+b∗)f(x)=sign(ω∗x+b∗)
【线性支持向量机的对偶问题】
对线性支持向量机的原始问题同样进行转化原始问题:
minωT,b,ξ12||ω||2+C∑n=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. ξi≥0ξi≥0 (i=1,2,..,N)
入两个拉格朗日乘子αi≥0αi≥0和μi≥0μi≥0,得L(ωT,b,ξ,α)=12||ω||2+C∑n=1Nξi−∑i=1n(αiyi(ωTxi+b)−1+ξi)−∑i=1nμiξiL(ωT,b,ξ,α)=12||ω||2+C∑n=1Nξi−∑i=1n(αiyi(ωTxi+b)−1+ξi)−∑i=1nμiξi
对偶问题为:
maxαminωT,b,ξL(ωT,b,ξ,α)maxαminωT,b,ξL(ωT,b,ξ,α)
为了求得对偶问题的解,需先求L(ωT,b,ξ,α)L(ωT,b,ξ,α)对ωTωT,bb,ξξ的极小,再求对αα的极大。
(1)求L(ωT,b,ξ,α)L(ωT,b,ξ,α)对ωTωT,bb,ξξ的极小:
∇ωL(ωT,b,ξ,α)=ω−∑i=1nαiyixi=0∇ωL(ωT,b,ξ,α)=ω−∑i=1nαiyixi=0
∇bL(ωT,b,ξ,α)=−∑i=1nαiyi=0∇bL(ωT,b,ξ,α)=−∑i=1nαiyi=0
∇ξL(ωT,b,ξ,α)=C−αi−μi=0∇ξL(ωT,b,ξ,α)=C−αi−μi=0
求得:ω=∑i=1nαiyixiω=∑i=1nαiyixi
∑i=1nαiyi=0∑i=1nαiyi=0
C−αi−μi=0C−αi−μi=0
带入minωT,b,ξL(ωT,b,ξ,α)minωT,b,ξL(ωT,b,ξ,α)
得:minωT,b,ξL(ωT,b,ξ,α)=∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxTixjminωT,b,ξL(ωT,b,ξ,α)=∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxiTxj
(2)求maxαminωT,b,ξL(ωT,b,ξ,α)maxαminωT,b,ξL(ωT,b,ξ,α)
即求:
maxα∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxTixjmaxα∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxiTxj
s.t. ∑i=1nαiyi=0∑i=1nαiyi=0 (αi≥0,i=1,2..,nαi≥0,i=1,2..,n)
s.t. C−αi−μi=0C−αi−μi=0 (i=1,2..,ni=1,2..,n)
s.t. αi≥0αi≥0 (i=1,2..,ni=1,2..,n)
s.t. μi≥0μi≥0 (i=1,2..,ni=1,2..,n)
等价于:
maxα∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxTixjmaxα∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxiTxj
s.t. ∑ni=1αiyi=0∑i=1nαiyi=0 (αi≥0,i=1,2..,nαi≥0,i=1,2..,n)
s.t. 0≤αi≤C0≤αi≤C (i=1,2..,ni=1,2..,n)
(3)转换为等价问题
minα12∑i=1n∑j=1nαiαjyiyjxTixj−∑i=1nαiminα12∑i=1n∑j=1nαiαjyiyjxiTxj−∑i=1nαi
s.t. ∑i=1nαiyi=0∑i=1nαiyi=0 (αi≥0,i=1,2..,nαi≥0,i=1,2..,n)
s.t. 0≤αi≤C0≤αi≤C (i=1,2..,ni=1,2..,n)
(4)解得最优解α∗=(α∗1,α∗2,...,α∗n)Tα∗=(α1∗,α2∗,...,αn∗)T
(5)计算ω∗ω∗,b∗b∗
ω∗=∑i=1nα∗iyixi=0ω∗=∑i=1nαi∗yixi=0
b∗=yj−∑i=1nα∗iyixTixj=0b∗=yj−∑i=1nαi∗yixiTxj=0
(6)求得超平面:ω∗x+b∗=0ω∗x+b∗=0
求得分类决策函数:f(x)=sign(ω∗x+b∗)f(x)=sign(ω∗x+b∗)
参考文献:《统计学习方法》、《机器学习》
相关文章推荐
- 拉格朗日对偶问题中对偶性的理解
- 拉格朗日对偶问题-支持向量机
- (斯坦福机器学习课程笔记)支持向量机之对偶问题
- 机器学习笔记——支持向量机(II)对偶问题(I)
- 关于拉格朗日对偶问题中对偶性的理解
- 关于拉格朗日对偶问题中对偶性的理解
- 机器学习(九):CS229ML课程笔记(5)——支持向量机(SVM),最优间隔分类,拉格朗日对偶性,坐标上升法,SMO
- 机器学习笔记(三) 支持向量机 原型、对偶问题
- (斯坦福机器学习课程笔记)支持向量机之拉格朗日函数的对偶问题
- 拉格朗日对偶问题-支持向量机
- 关于拉格朗日对偶问题中对偶性的理解
- SVM(支持向量机)(二)—Lagrange Duality(拉格朗日对偶问题)
- [置顶] 为什么支持向量机要用拉格朗日对偶算法来解最大化间隔问题
- 【机器学习-西瓜书】六、支持向量机(SVM):最大间隔;对偶问题;KKT条件
- 拉格朗日对偶问题,以及在SVM中的应用
- 【机器学习基础】对偶支持向量机
- 【机器学习基础】对偶支持向量机
- 拉格朗日对偶问题
- 机器学习笔记 - 线性分割对偶问题
- 为什么支持向量机和感知机等问题都有原始和对偶问题之分