Inttoduction
上一节我们提到了强对偶,即原问题的最优值与对偶问题的最优值相等。下面我们需要解决怎样找到优化问题的最优解。而KKT条件就是最优解需要满足的条件。
KKT条件
给定一个一般性的优化问题:
xminsubject tof(x)hi(x)≤0, i=1,...,mli(x)=0, j=1,...,r
KKT条件(Karush-Kuhn-Tucker conditions or KKT conditions)定义为:
- 稳定性条件:0∈∂x(f(x)+i=1∑muihi(x)+j=1∑rvjlj(x))
- 互补松弛性:ui⋅hi(x)=0for all i
- 原问题可行域:hi(x)≤0,li(x)=0for all i,j
- 对偶问题可行域:ui≥0for all i
充分性与必要性说明
必要性
假设x∗和u∗,v∗分别是原问题和对偶问题的最优解,且原问题和对偶问题的对偶间隙为0(即强对偶)。那么:
f(x∗)=g(u∗,v∗)=xminf(x)+i=1∑mui∗hi(x)+j=1∑rvj∗lj(x)≤f(x∗)+i=1∑mui∗hi(x∗)+j=1∑rvj∗lj(x∗)≤f(x∗)
即所有不等式都可以取等号。因此,我们可以得到:
- 点x∗最小化L(x,u∗,v∗),那么L(x,u∗,v∗)在x=x∗处的次微分一定包含0——即稳定性条件。
- ∑i=1mui∗hi(x∗)=0——即互补松弛性
必要性:如果x∗和u∗,v∗分别是原问题与对偶问题的解,且对偶间隙为0,那么x∗,u∗,v∗满足KKT条件。
充分性
如果存在x∗,u∗,v∗满足KKT条件,那么
g(u∗,v∗)=f(x∗)+i=1∑mui∗hi(x∗)+j=1∑rvj∗lj(x∗)=f(x∗)
因此,对偶间隙为0,所以x∗和u∗,v∗分别是原问题与对偶问题的解。
充分性:如果x∗,u∗,v∗满足KKT条件,那么x∗和u∗,v∗分别是原问题与对偶问题的解
总结
综上所述,KKT条件等价于对偶间隙为0:
那么我们可以得到:如果一个问题有强对偶性,那么x∗,u∗,v∗满足KKT条件与x∗和u∗,v∗分别是原问题与对偶问题的解是等价的。
可以看出,对于无约束优化问题,KKT条件就是次梯度最优化条件。对于一般性凸优化问题,KKT条件是次梯度最优化条件的推广。
例子:支持向量机(SVM)
给定y∈{−1,1}n,X∈Rn×p有行向量x1,...,xn,则支持向量机(SVM)定义为:
β,β0,ξminsubject to21∥β∥22+Ci=1∑nξiξi≥0, i=1,...,nyi(xiTβ+β0)≥1−ξi, i=1,...,n
引入对偶变量v,w≥0。KKT稳定性条件为:
0=i=1∑nwiyi,β=i=1∑nwiyixi,w=C1−v
互补松弛性:
viξi=0,wi(1−ξi−yi(xiTβ+β0))=0,i=1,...,n
因此,在最优点处我们有β=∑i=1nwiyixi,且仅当yi(xiTβ+β0)=1−ξi,wi是非零的,这些点i被叫做支持点(support points)
- 对于支持点i,如果ξi=0,则xi位于分割边界上,且wi∈(0,C];
- 对于支持点i,如果ξi=0,则xi位于分割边界的错误一边,且wi=C;
有约束形式与拉格朗日形式
在统计和机器学习中,我们常常把一个优化问题在其有约束形式(constrained form),即
xminf(x)subject toh(x)≤t
和拉格朗日形式(Lagrange form),即
xminf(x)+λ⋅h(x)
之间进行互换,并认为这两种形式是等价的。由上面分析可知,假如f,h都是凸函数,这种等价在h(x)<t时是成立的。
Conclusion
对偶的一个关键性质是,在强对偶条件下,KKT条件是最优解的充要条件,即原问题的解可以通过其对偶问题得到。由于对偶问题一定是凸优化问题,这在对偶问题比原问题更简单时非常有用。