拉格朗日对偶性
拉格朗日对偶性常常被用来解决有约束条件的最优化问题,在最大熵模型或者支持向量机的优化中最为常见,其主要思路就是将带约束条件的原始为题转换为没有约束条件的对偶问题。
原始问题和拉格朗日函数
首先呈现以下原始问题,我们在做优化的时候,会遇到需要优化一个函数 f(x) ,这个函数还带着两个约束条件,这里分别用 ci(x) 和 hj(x) 来表示,写成数学表达式就是:
minx∈Rn f(x)
s.t. ci(x)≤0, i=1,2,3...hj(x)=0, j=1,2,3...
首先要引入拉格朗日函数(generalized Lagrange function)
也就是通过拉格朗日乘子 α,β 将原始问题附带的约束条件( ci(x) 和 hj(x) )融合进需要优化的目标函数( f(x) )中,同时形成新的函数( L(x,α,β) )的过程,具体的数学表达式为:
L(x,α,β)=f(x)+∑i=1kαici(x)+∑j=1lβjhj(x)
这里需要注意一个前提条件是 αi≥0 ,有时候这个条件也会被拿来解后续的方程
通过这样的转换,原始问题就变成了:
θp(x)=maxα,β:αi≥0 L(x,α,β)
再加上之前需要做极小化的优化,那么就是:
minxθp(x)=minx maxα,β:αi≥0 L(x,α,β)
后者被称为广义拉格朗日函数的极小极大问题,也就是先求min再求max。
对偶问题
假设有
θD(α,β)=minx L(x,α,β) ,
然后在求 θD(α,β) 的极大值,即 maxα,β:αi≥0minx L(x,α,β) ,的这样一个过程被称为广义拉格朗日函数的极大极小问题。如果将这个问题表示为数学格式,则是:
maxα,β θD(α,β)=maxα,β minx L(x,α,β)
s.t. αi(x)≥0, i=1,2,3...
原始问题和对偶问题的关系
我们先分别设定原始问题和对偶问题的最优解为:p和d
p=minxθp(x)
d=maxα,β:αi≥0θD(α,β)
对于任意的 α,β,x :
θD(α,β)=minx L(x,α,β)≤L(x,α,β)≤maxα,β:αi≥0L(x,α,β)=θp(x)
即: θD(α,β)≤θp(x)
由于原始问题和对偶问题都有最优解,所以有 d≤p 。特别地,当上式得等号成立的时候,有一组特殊的 x,α,β 既是原始问题的解,又是对偶问题的解。换句话说,如果我们有条件可以令 d=p 的话,两种问题的解可以互换,于是我们就可以通过解对偶问题来解原始问题了。