支持向量机(SVM)与其理论发展(2):对偶学习

来源:互联网 发布:深圳程序员猝死 编辑:程序博客网 时间:2024/05/16 06:56

支持向量机(SVM)与其理论发展(2):对偶学习

一 、对偶理论

对偶(dual)这个词在优化理论中是相当常见的,在基础的数学课上我们学过条件极值的拉格朗日乘子法,在初步的运筹学中有线性规划的对偶算法,这里用到的对偶理论具体地称为拉格朗日对偶,就我看来是综合了分析中的拉格朗日乘子与线性对偶的结果。所谓对偶,就是将原问题变形为所谓的对偶问题,从而得到对原问题优化的估计,比如,最优值的下界,并利用某些性质侧面的得到原问题的解。最大熵模型和支持向量机是两个比较常见的利用对偶原理的例子。
下面我们暂时脱离支持向量机的问题,来看一般的拉格朗日对偶理论:
原始问题

minxRn  f0(x)
s.t.         fi(x)0,   i=1,2,,m
               hi(x)=0,   i=1,2,,p

默认所考虑的定义域D=mi=0fi(x)pi=1hi(x)非空,并且记最优值为p(不一定可达,相当于取inf,事实上,似乎最优化问题一般不会具体去讨论确界可达性问题)。这里并没有假定任何函数是凸的。
相比较分析学中的条件极值,这里加入了不等式约束,我们仍然构建形式相同的拉格朗日函数:

L(x,λ,ν)=f0(x)+mi=1λifi(x)+pi=1νihi(x)

我们将λi称为第i个不等式约束fi(x)0Lagrange乘子νi同理称为第i个等式约束hi(x)=0的Lagrange乘子。
接下来引入拉格朗日对偶函数

g(λ,ν)=infxDL(x,λ,ν)=infxD(f0(x)+i=1mλifi(x)+i=1pνihi(x))

对偶函数其实是拉格朗日函数的逐点下确界,它有一些很有用的性质。

拉格朗日对偶函数的一些性质

  • 1.对偶函数在λ0时构成了原问题最优值p的下界,也就是λ0,ν,g(λ,ν)p
    这是容易证明的,对原始问题的任一可行点x,我们有
    L(x,λ,ν)=f0(x)+mi=1λifi(x)+pi=1νihi(x)                 =f0(x)+mi=1λifi(x)f0(x)
    所以
    g(λ,ν)=infxDL(x,λ,ν)L(x,λ,ν)f0(x)
    也就有
    g(λ,ν)p,  λ0,ν

  • 2.对偶函数g(λ,ν)是凹函数。(注意此时仍然没有要求函数的凹凸性)
    g(aλ1+(1a)λ2,aν1+(1a)ν2)=infxDL(x,aλ1+(1a)λ2,aν1+(1a)ν2)=infxD(f0(x)+mi=1(aλ1+(1a)λ2)ifi(x)+pi=1(aν1+(1a)ν2)ihi(x))infxDa(f0(x)+mi=1λ1ifi(x)+pi=1ν1ihi(x))+infxD(1a)(f0(x)+mi=1λ2ifi(x)+pi=1ν2ihi(x))
    最后一个不等号成立按照inf的定义即可得到。

  • 3.弱对偶性
    拉格朗日对偶问题的最优值d是原问题最优值的下界,即dp。这是第一个性质的直接结论。特别的,对最优值去广义实数也成立。同时定义差值pd为原问题的最优对偶间隙
    进一步的,如果等式
    p=d
    成立,则称有强对偶性
    对于一般情况,强对偶性不成立,但是对于凸问题
    minxRn   f0(x)subject  to  fi(x)Ax0,   i=1,,m=b

    其中函数fi(x),  i=0,,m是凸函数,此时强对偶性通常(但不总是)成立,已经有很多工作找出了在凸问题下强对偶性成立的条件,这些条件称为约束准则(例如slater条件,这里暂时不详细解释,文章最后会有相关描述,它可以得到线性规划问题中只要有可行解则强对偶性必然成立的结论,也描述了可达性的一些问题)。

最优条件

我们希望在某些条件下可以通过对偶问题来得到原问题的最优解,这时候就需要考虑我们需要的最优条件是什么。
首先我们提出所谓的互补松弛定理

  • 设原问题和对偶问题最优值均可达并且相等,分别有最优解x(λ,ν),根据定义有

    f0(x)==g(λ,ν)infxD(f0(x)+i=1mλifi(x)+i=1pνihi(x))f0(x)+i=1mλifi(x)+i=1pνihi(x)f0(x)

    因此我们得到两个结论:

  • xL(x,λ,ν)的最小值点。

  • mi=1λifi(x)=0

上述第二个结论就称为互补松弛性,我们可以进一步写为:

λi>0fi(x)=0fi(x)<0λi=0

KKT(Karush-Juhn-Tucker)最优条件:

首先假设f0(x),,fm(x),h1(x),,hm(x)都是可微函数,自然地也有定义域都为开集。
我们先从必要性入手,如果x(λ,ν)分别是两个问题的最优解,那么根据互补松弛定理论证中得到的第一个结论,我们有

xL(x,λ,ν)=0f0(x)+i=1mλifi(x)+i=1pνihi(x)=0

综合互补松弛定理,我们得到一下一系列结果:
fi(x)hi(x)λiλifi(x)f0(x)+i=1mλifi(x)+i=1pνihi(x)0,i=1,,m=0,i=1,,p0,i=1.,m=0,i=1,,m=0

以上就称为KKT条件。
我们特别地来讨论凸问题中的KKT条件
此时fi(x),i=0,,m是凸函数,hi是仿射函数,如果x^(λ^,ν^)是原始问题和对偶的可行解,并且满足KKT条件:
fi(x^)hi(x^)λ^iλ^ifi(x^)f0(x^)+i=1mλ^ifi(x^)+i=1pν^ihi(x^)0,i=1,,m=0,i=1,,p0,i=1.,m=0,i=1,,m=0

由定义g(λ^,ν^)=infxD(f0(x)+mi=1λ^ifi(x)+pi=1ν^ihi(x)),而KKT中的最后一个条件表明在x^L(x,λ^,ν^)取得极值,而此时的拉格朗日函数是凸函数(容易验证),所以这个极值点就是该函数的最小值点,于是就有
g(λ^,ν^)=f0(x^)+i=1mλ^ifi(x^)+i=1pν^ihi(x^)=f0(x^)

于是我们得到结论:

  • 对于可微的凸优化问题,满足KKT条件的点分别是原问题和对偶问题的最优解。
    进一步地:
  • 对于可微的凸优化问题,KKT条件是某一组解为最优解的充分必要条件。

好了,我们已经做完了大部分工作了,但是有一点漏洞:如果最优解根本就不存在,我们将问题转换为对偶问题也就没有意义了,或者问题的最优间隙不为0,同样导致对偶不能充分发挥作用。因此在最后还要介绍一下slater条件

Slater条件

正如我们在前文提到的,Slater条件是一个简单的约束准则。借用wiki中介绍:Slater’s condition (or Slater condition) is a sufficient condition for strong duality to hold for a convex optimization problem。
Slater条件的内容是:

  • 对于凸优化问题,若存在一点xrelint D (D的相对内点)使得
    fi(x)<0,    i=1,,m,        Ax=b

    成立,也称为该点严格可行
    则此时强对偶性成立

如果凸约束fi中有仿射函数,那么Slater条件可以进一步地写为:

  • 对于凸优化问题,若存在一点xrelint D 使得
    fi(x)0,    i=1,,k  fi(x)<0,   i=k+1,,m   Ax=b

    则此时强对偶性成立,其中fi(x)    i=1,,k,是仿射函数,即允许仿射函数约束不严格成立。

关于Slater条件的证明,这篇文章不详细写出,已知的一个证明方法是将(fi,hi,f0)(x)的值域构成一个集合ARm+p+1=Rm×Rp×R,再构造类似的集合B={(0,0,s)Rm+p+1|s<p},证明两者没有交集并且都是凸集,从而可以构造将两者分离的超平面,借助这个超平面最终就能得到证明。

个人博客,请勿转载

原创粉丝点击