KKT条件(Karush-Kuhn-Tucker Conditions)

旧巷老猫 提交于 2020-03-10 09:41:48

Inttoduction

上一节我们提到了强对偶,即原问题的最优值与对偶问题的最优值相等。下面我们需要解决怎样找到优化问题的最优解。而KKT条件就是最优解需要满足的条件。

KKT条件

给定一个一般性的优化问题:
minxf(x)subject tohi(x)0, i=1,...,mli(x)=0, j=1,...,r \begin{aligned} \min_{x}\quad &f(x)\\ {\rm subject\ to}\quad &h_i(x)\leq 0,\ i=1,...,m\\ &l_i(x)=0,\ j=1,...,r \end{aligned}

KKT条件(Karush-Kuhn-Tucker conditions or KKT conditions)定义为:

  • 稳定性条件:0x(f(x)+i=1muihi(x)+j=1rvjlj(x))0\in\partial_x(f(x)+\sum^m_{i=1}u_ih_i(x)+\sum^r_{j=1}v_jl_j(x))
  • 互补松弛性:uihi(x)=0for all iu_i\cdot h_i(x)=0\quad {\rm for\ all}\ i
  • 原问题可行域:hi(x)0,li(x)=0for all i,jh_i(x)\leq 0, l_i(x)=0\quad {\rm for\ all\ }i,j
  • 对偶问题可行域:ui0for all iu_i\geq 0\quad {\rm for\ all\ } i

充分性与必要性说明

必要性

假设xx^*u,vu^*,v^*分别是原问题和对偶问题的最优解,且原问题和对偶问题的对偶间隙为0(即强对偶)。那么:
f(x)=g(u,v)=minxf(x)+i=1muihi(x)+j=1rvjlj(x)f(x)+i=1muihi(x)+j=1rvjlj(x)f(x) \begin{aligned} f(x^*)&=g(u^*,v^*)\\ &=\min_x f(x)+\sum^m_{i=1}u^*_ih_i(x)+\sum^r_{j=1}v^*_jl_j(x)\\ &\leq f(x^*)+\sum^m_{i=1}u^*_ih_i(x^*)+\sum^r_{j=1}v^*_jl_j(x^*)\\ &\leq f(x^*) \end{aligned}

即所有不等式都可以取等号。因此,我们可以得到:

  • xx^*最小化L(x,u,v)L(x,u^*,v^*),那么L(x,u,v)L(x,u^*,v^*)x=xx=x^*处的次微分一定包含0——即稳定性条件。
  • i=1muihi(x)=0\sum^m_{i=1}u^*_ih_i(x^*)=0——即互补松弛性

必要性:如果xx^*u,vu^*,v^*分别是原问题与对偶问题的解,且对偶间隙为0,那么x,u,vx^*,u^*,v^*满足KKT条件。

充分性

如果存在x,u,vx^*,u^*,v^*满足KKT条件,那么
g(u,v)=f(x)+i=1muihi(x)+j=1rvjlj(x)=f(x) \begin{aligned} g(u^*,v^*)&=f(x^*)+\sum^m_{i=1}u^*_ih_i(x^*)+\sum^r_{j=1}v^*_jl_j(x^*)\\ &= f(x^*) \end{aligned}

因此,对偶间隙为0,所以xx^*u,vu^*,v^*分别是原问题与对偶问题的解。
充分性:如果x,u,vx^*,u^*,v^*满足KKT条件,那么xx^*u,vu^*,v^*分别是原问题与对偶问题的解

总结

综上所述,KKT条件等价于对偶间隙为0:

  • 总是充分的
  • 在强对偶条件下是必要的

那么我们可以得到:如果一个问题有强对偶性,那么x,u,vx^*,u^*,v^*满足KKT条件与xx^*u,vu^*,v^*分别是原问题与对偶问题的解是等价的。
可以看出,对于无约束优化问题,KKT条件就是次梯度最优化条件。对于一般性凸优化问题,KKT条件是次梯度最优化条件的推广。

例子:支持向量机(SVM)
给定y{1,1}ny\in \{-1,1\}^nXRn×pX\in R^{n\times p}有行向量x1,...,xnx_1,...,x_n,则支持向量机(SVM)定义为:
minβ,β0,ξ12β22+Ci=1nξisubject toξi0, i=1,...,nyi(xiTβ+β0)1ξi, i=1,...,n \begin{aligned} \min_{\beta,\beta_0,\xi}\quad &\frac{1}{2}\|\beta\|^2_2+C\sum^n_{i=1}\xi_i\\ {\rm subject\ to}\quad & \xi_i\geq 0,\ i=1,...,n\\ &y_i(x_i^T\beta + \beta_0) \geq1-\xi_i,\ i=1,...,n \end{aligned}

引入对偶变量v,w0v,w\geq 0。KKT稳定性条件为:
0=i=1nwiyi,β=i=1nwiyixi,w=C1v0=\sum^n_{i=1}w_iy_i,\quad \beta=\sum^n_{i=1}w_iy_ix_i, \quad w=C1-v

互补松弛性:
viξi=0,wi(1ξiyi(xiTβ+β0))=0,i=1,...,nv_i\xi_i=0,\quad w_i(1-\xi_i-y_i(x^T_i\beta+\beta_0))=0,\quad i=1,...,n

因此,在最优点处我们有β=i=1nwiyixi\beta=\sum^n_{i=1}w_iy_ix_i,且仅当yi(xiTβ+β0)=1ξiy_i(x_i^T\beta + \beta_0) =1-\xi_iwiw_i是非零的,这些点ii被叫做支持点(support points)

  • 对于支持点ii,如果ξi=0\xi_i=0,则xix_i位于分割边界上,且wi(0,C]w_i\in (0,C]
  • 对于支持点ii,如果ξi0\xi_i\neq0,则xix_i位于分割边界的错误一边,且wi=Cw_i= C
    在这里插入图片描述

有约束形式与拉格朗日形式

在统计和机器学习中,我们常常把一个优化问题在其有约束形式(constrained form),即
minxf(x)subject toh(x)t\min_x f(x)\quad {\rm subject\ to\quad }h(x)\leq t

和拉格朗日形式(Lagrange form),即
minxf(x)+λh(x)\min_x f(x)+\lambda\cdot h(x)

之间进行互换,并认为这两种形式是等价的。由上面分析可知,假如f,hf,h都是凸函数,这种等价在h(x)<th(x)<t时是成立的。

Conclusion

对偶的一个关键性质是,在强对偶条件下,KKT条件是最优解的充要条件,即原问题的解可以通过其对偶问题得到。由于对偶问题一定是凸优化问题,这在对偶问题比原问题更简单时非常有用。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!