对偶专题——KKT条件

[对偶专题——Duality and Dual problem (一) https://blog.csdn.net/jmh1996/article/details/85030323]
对于一般的带约束的优化问题:
在这里插入图片描述
介绍了如何通过构造原优化目标的一个下界函数 L ( x , λ , u ) L(x,\lambda,u) L(x,λ,u),这一般通过添加一些线性的函数来构造的,然后找到这个函数的最大值。寻找的方法是先固定 λ \lambda λ 最小化 L ( x , λ ) L(x,\lambda) L(x,λ)得到一个 g ( λ , u ) g(\lambda,u) g(λ,u)。然后再通过变化 λ , u \lambda,u λ,u的值来最大化 g ( λ , u ) g(\lambda,u) g(λ,u)。注意其中的一个重要的不等式:
f 0 ( x ) ≥ L ( x , λ , u ) ≥ g ( λ , u ) f_0(x)\geq L(x,\lambda,u)\geq g(\lambda,u) f0(x)L(x,λ,u)g(λ,u)
g ( λ , u ) g(\lambda,u) g(λ,u)就是对偶函数,而最大化 g ( λ , u ) g(\lambda,u) g(λ,u) 就是所谓的对偶问题。

原函数的图像与 L ( x , λ , u ) L(x,\lambda,u) L(x,λ,u) 的图像是这样的:
对偶专题——KKT条件_第1张图片
我们可以看到,对于一般的最优化问题,原函数的最小值其实和 L ( x , λ , u ) L(x,\lambda,u) L(x,λ,u)的最大值是存在一段距离的,他们并不相等。

如果他们相等的话,那么我们就可以通过解对偶问题来求原目标函数的最小值,可以想象这会给问题求解带来巨大的便利,因为对偶函数 a l w a y s always always 是个凸函数。

那么什么时候下对偶问题的最大值会等于原问题的最小值呢?

我们先看只有等式约束的情况:
在这里插入图片描述
现在只含有等式约束,其实是方便的很了。

假设 f 0 ( x , y ) 和 h ( x , y ) = 0 f_0(x,y)和h(x,y)=0 f0(x,y)h(x,y)=0的图像是这样的:
对偶专题——KKT条件_第2张图片
如上图所示,红线是 h ( x , y ) = 0 h(x,y)=0 h(x,y)=0 这个等式确定的一条曲线。各个蓝圈圈是 f 0 ( x , y ) = 1 , 2 , 3 ⋅ ⋅ ⋅ f_0(x,y)=1,2,3··· f0(x,y)=1,2,3形成的曲线。现在,我们观察到当 f 0 ( x , y ) = 2 f_0(x,y)=2 f0(x,y)=2 的时候, f 0 ( x , y ) f_0(x,y) f0(x,y) h ( x , y ) = 0 h(x,y)=0 h(x,y)=0 相交于两个点,此时目测当 f 0 ( x , y ) f_0(x,y) f0(x,y)继续变小的时候,它和 h ( x , y ) = 0 h(x,y)=0 h(x,y)=0 依然还有交点,因此 2 2 2 肯定就不是 f 0 ( x , y ) f_0(x,y) f0(x,y)的最小值。当 f 0 ( x , y ) = 1 f_0(x,y)=1 f0(x,y)=1的时候,它和 h ( x , y ) = 0 h(x,y)=0 h(x,y)=0 只有一个交点了,交点是两个曲线的切点处, f 0 ( x , y ) f_0(x,y) f0(x,y) 再变小一点点 它就和红线没有交点了,因此 f 0 ( x , y ) f_0(x,y) f0(x,y) 的最小值就是1。假设交点是 ( x ∗ , y ∗ ) (x^*,y^*) (x,y)

注意到 f 0 ( x , y ) = 1 f_0(x,y)=1 f0(x,y)=1 h ( x , y ) = 0 h(x,y)=0 h(x,y)=0 相切于 ( x ∗ , y ∗ ) (x^*,y^*) (x,y),根据相切的定义我们可以得到它们的梯度是共线的: ▽ f 0 ( x , y ) = λ ▽ h ( x , y ) \bigtriangledown f_0(x,y)=\lambda \bigtriangledown h(x,y) f0(x,y)=λh(x,y)

于是,对于带等式约束 h ( x ) = 0 h(x)=0 h(x)=0 的最优化问题,我们可以得到。

你可能感兴趣的:(算法设计)