Slater与KKT条件

本章简要介绍一下SVM(支持向量机)里面关键的对偶问题,KKT条件,slater条件

文章目录

      • 对偶
      • KKT条件
      • Slater条件

对偶

对偶问题,就是将原问题(primal problem)转化为对偶问题(dual problem)然后在进行求解的方法。
详细解说对偶

  1. 优化问题可以表示为:
    minf0(x)minf0(x)
    s.t.fi(x)<=0i=1,2,…n;hj(x)=0j=1,2,…ms.t.fi(x)<=0i=1,2,…n;hj(x)=0j=1,2,…m
    如果n,m都是0,优化问题为无约束优化问题(无优化问题的对偶问题就是自己),如果n=0,则为等式约束问题。

优化问题的定义域 D为所有函数定义域的交集。

2.一个优化问题的对偶问题可以这样得到:
1.首先写出拉格朗日函数
L(x,u,v)=f0(x)+∑n1ui∗fi(x)+∑m1vjhj(x)L(x,u,v)=f0(x)+∑1nui∗fi(x)+∑1mvjhj(x)
其中u,vu,v为拉格朗日乘数,也叫对偶变量,顾名思义,u,vu,v是对偶问题中的变量。
2. 拉格朗日函数逐点对x求下确界得到对偶函数
g(u,v)=infx∈DL(x,u,v)=infx∈Df0(x)+∑n1ui∗fi(x)+∑m1vjhj(x)g(u,v)=infx∈DL(x,u,v)=infx∈Df0(x)+∑1nui∗fi(x)+∑1mvjhj(x)
其中下确界指最大的下届,也就是最小值。逐点对x求下确界意味着,对任意一个u,vu,v求出一个x使L(x,u,v)L(x,u,v)最小。如果把u,vu,v当成变量,x当成参数,那么不论x取什么值,L都是一个仿射函数

L(X,u,v)=A∗u+B∗v+CL(X,u,v)=A∗u+B∗v+C,其中
A=(f1(X),f2(X),…,fn(X))A=(f1(X),f2(X),…,fn(X))
B=(h1(X),h2(X),…,hm(X))B=(h1(X),h2(X),…,hm(X))
C=f0(X)

KKT条件

当然有用,KKT condition 就是对偶性质的一个应用。
f∗>=g∗f∗>=g∗,那么如果存在x,u,vx,u,v,使f∗=g∗f∗=g∗(不一定要计算出来,只要说明相等就行)那么,此时x,u,vx,u,v就分别是原问题和对偶问题的最优解。那么我们就可以以这个为条件作为约束求出最优解。怎么利用这个条件呢?推一推(参考CMU教程)

f(x∗)=g(u∗,v∗)=minxL(x,u∗,v∗)<=L(x∗,u∗,v∗)<=f(x∗)f(x∗)=g(u∗,v∗)=minxL(x,u∗,v∗)<=L(x∗,u∗,v∗)<=f(x∗)
可知所有等号都成立
f(x∗)=g(u∗,v∗)=minxL(x,u∗,v∗)=L(x∗,u∗,v∗)=f(x∗)f(x∗)=g(u∗,v∗)=minxL(x,u∗,v∗)=L(x∗,u∗,v∗)=f(x∗)
即如果存在 x,u,vx,u,v使

  1. ∂L(x,u,v)∂x=0(fromminL(x,u,v))∂L(x,u,v)∂x=0(fromminL(x,u,v))
  2. vj∗hj=0(fromL(x∗,u∗,v∗)=f(x∗))vj∗hj=0(fromL(x∗,u∗,v∗)=f(x∗))
  3. fi<=0,hj=0(原问题的可行域)fi<=0,hj=0(原问题的可行域)
  4. vj>=0(对偶问题的可行域)vj>=0(对偶问题的可行域)
    如果存在x,u,vx,u,v满足上面四个条件,那么他们就是原问题和对偶问题的可行解。这就是KKT条件。

而拉格朗日乘数法正是KKT条件在等式约束优化问题的简化版。

Slater条件

slater条件官方正规定义:存在x,使得不等式约束g(x)<=0严格成立。
slater条件性质: slater条件是原问题P可以等价于对偶问题Q的一个充分条件,该条件确保了鞍点的存在。

你可能感兴趣的:(Slater与KKT条件)