拉格朗日对偶问题与KKT条件

本篇是写在SVM之前的关于优化问题的一点知识,在SVM中会用到。考虑到SVM之复杂,将其中优化方面基础知识提出,单作此篇。所以,本文也不会涉及优化问题的许多深层问题,只是个人知识范围内所了解的SVM中涉及到的优化问题基础。

一、凸优化问题

在优化问题中,凸优化问题由于具有优良的性质(局部最优解即是全局最优解),受到广泛研究。

对于一个含约束的优化问题:

{minxf(x)s.t.xC

其中, f(x)

为一个凸函数,变量 x 的可行域 C

是一个凸集,那么这个优化问题称为一个凸优化问题。

将上面的约束条件的形式更加明确一点,一个凸优化问题可以写成:

minxf(x)s.t.gi(x)0hi(x)=0

其中, f(x)

当然仍然为一个凸函数,但对约束条件有一定要求: gi(x) 是凸函数; hi(x)

为仿射函数。这样的要求当然是为了保证可行域是一个凸集。

不等式约束中 gi(x)

为凸函数,而凸函数的水平截集 {x|gi(x)α}

是一个凸集(凸函数的性质),这就使得不等式约束保证了可行域为凸集;

对于等式约束 hi(x)=0

可以写成:

{hi(x)0hi(x)0

要使得满足条件的 x

组成的集合为凸集,就要求 hi(x) 既是一个凸函数,又是一个凹函数,这样 hi(x)

便只能是仿射函数了。

以上便是凸优化问题的一般形式。常见的线性规划、二次规划、二次约束二次规划等优化问题都是凸优化问题。

二、拉格朗日对偶

抛开凸优化问题,回到一般的优化问题。

一般的优化问题可以写成以下形式:

minxf(x)s.t.gi(x)0hi(x)=0

当然,这里对 f(x)

gi(x) hi(x)

都是没有要求的。

根据拉格朗日方法,对应的拉格朗日函数为:

L(x,α,β)=f(x)+iαigi(x)+iβihi(x)

其中 α

β 为拉格朗日乘数(都是向量,其长度分别对应于不等式约束和等式约束的个数),且 αi0 β

任意。

定义函数:

θP(x)=maxα,β:αi0L(x,α,β)

容易发现:

θP(x)={f(x)+gi(x)0&hi(x)=0gi(x)>0||hi(x)0

如果原来的约束条件都满足那么 L(x,α,β)=f(x)+iαigi(x)+iβihi(x)

,最后一项为零,第二项要取得最大值,由于 gi(x)0 ,所以只能取 α=0⃗  ,使其取得最大值0,这样
θP(x)=maxα,β:αi0L(x,α,β)=f(x)

如果违背了原来的约束条件,比如存在某一个约束 gi(x)>0

,那么可以取 αi 任意大,这样 θP(x)=+ 。违反等式约束 hi(x)=0

的情况是类似的。

所以可以认为 θP(x)

是对原理优化问题中的约束条件进行了吸收,是原来的约束优化问题变为无约束优化问题(相对于原来变量 x

无约束了),即原来的优化问题可以写成:    

minxθP(x)=minxmaxα,β:αi0L(x,α,β)(1)

                                                   

现在,称(1)为原问题,这和最初的有约束问题是等价的。

将(1)中min和max交换顺序得到对偶问题:

maxα,β:αi0θD(α,β)=maxα,β:αi0minxL(x,α,β)(2)

          

其中

θD(α,β)=minxL(x,α,β)

p

为原问题的最优解,对应最优解的最优变量取值为 x ,则 p=f(x)

d

为对偶问题的最优解,对应最优解的最优变量取值为 α β ,则 d=θD(α,β)

下面来说明 dp

对于任意 α,β

α0

):

θD(α,β)=minxL(x,α,β)L(x,α,β)=f(x)+iαigi(x)+iβihi(x)f(x)=p

第一个不等号成立是显然的,这是由 minxL(x,α,β)

的定义直接得到的;第二个不等号成立是因为 x 是一个可行解,所以约束条件 gi(x)0 hi(x)=0 都满足,所以 iαigi(x)0 iβihi(x)=0

由于以上推导过程中 α

β 的任意性,所以 d=θD(α,β)p

,所以求解对偶问题是在最大化原问题最优解的下界。

通常,对偶问题相对于原问题有比较好的形式(有看到“无论原问题形式如何,对偶问题都是一个凸优化问题”的说法,但没见过证明。),这样,当原问题不好求解时,可以转而求解对偶问题。问题是一般情况下有 dp

,所以求解对偶问题只能得到原问题解的下界,不能保证 d=p

当原问题满足一些条件时,可以保证 d=p

Slater条件存在 x

,使得不等式约束 gi(x)0 严格成立,即 gi(x)<0

当原问题为一凸优化问题,且满足Slater条件时,有 d=p

,这样就原问题和对偶问题的解一致,求解对偶问题即可。显然,Slater是凸优化问题与其对偶问题等价的一个充分条件。

KKT条件是原问题与对偶问题等价的必要条件。考虑一般优化问题(不一定是凸优化),如果有 d=p

,则:

d=θD(α,β)=minxL(x,α,β)L(x,α,β)=f(x)+iαigi(x)+iβihi(x)f(x)=p

由于 d=p

,所以上面推导过程中所以的不等号“ ”应该取到等号。第一个等号得到 minxL(x,α,β)=L(x,α,β) ,这说明 x L(x,α,β) 的一个极值点,所以 L(x,α,β) x 处的偏导为零, L(x,α,β)x|x=0 ;第二个等号得到 f(x)+iαigi(x)+iβihi(x)=f(x) ,所以 iβihi(x)=0 iαigi(x)=0 iβihi(x)=0 是显然的,因为根据约束条件本来就有 hi(x)=0 ,重点是原本的 iαigi(x)0

现在取到了等号。

综合以上两点,在加上原来的约束,可以得到KKT条件:

L(x,α,β)x|x=0iαigi(x)=0αi0gi(x)0hi(x)=0

KKT条件是 d=p

的必要条件,给出了当原问题和对偶问题等价时对应最优值点所满足的性质。

尽管KKT条件是 d=p

的必要条件,但当原问题是凸优化问题时,它就升级为充要条件,也就是只要找到 x,α,β 满足以上五个条件,那么原问题就和对偶问题就有相同的解,分别在 x (α,β)

处取得。

另外,根据KKT条件中的 iαigi(x)=0

可以得到, gi(x)<0αi=0 ,反过来说,只有 gi(x)=0 αi 才有可能不为0,这是SVM中用到的一个重要性质。
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值