本讲我们将介绍优化问题中的另一个重要概念——对偶性(duality)。利用对偶性可以将优化问题转化为对偶问题,不仅可以为原始问题的最优值提供下界,还能将非凸问题的求解转化为凸问题的求解。
对偶性(Duality)
拉格朗日函数(Lagrangian)
- 在阐述对偶性理论之前,我们需要先定义拉格朗日函数。考虑下述原始优化问题: 我们希望将约束条件融入进目标函数中。对此,设约束条件对应的可行域为,我们考虑引入示性函数: 那么目标函数就可以转化为 将转化后的目标函数记作,那么当时,。
- 这样我们就将约束优化问题转化为了无约束优化问题。然而,由于示性函数不可微,我们仍然无法直接使用无约束优化方法(如梯度下降)求解。于是我们考虑使用可微函数近似表示示性函数。具体而言,我们使用以下转换:
为什么这个转换成立呢?以第一个式子为例:若,因为要尽量大,所以会趋向;若,要让尽量大,最终会取。【第二个式子同理】
- 这样我们就可以将上述问题进一步转化为 这便得到了拉格朗日函数: 其中也称为拉格朗日乘子。
- 拉格朗日函数相比原来带指示函数的目标函数更容易处理(虽然增加了两个优化参数,稍后我们会介绍如何处理)。实际上,拉格朗日乘子的引入相当于对超出约束的解进行惩罚,但相比示性函数这种“硬边界”更加柔和。
- 拉格朗日函数具有下述性质:对任意给定,到的函数是仿射函数,进而也是凹函数。【这会在后续对偶性理论中起到重要作用】
btw,关于拉格朗日函数,也可以参考国内《数学分析》或类似课程的多元微积分条件极值相关内容。
弱对偶性(Weak Duality)
- 我们对对偶性的讨论从下述拉格朗日函数优化问题开始:
将上式中的和对调,就得到了对偶问题形式:
其正式定义如下:考虑上述原始优化问题,那么它的对偶问题定义为
其中为对偶函数,表达式为。
- 由此可知函数的解可由一个无约束优化问题得到,且由上述拉格朗日函数性质可知,函数一定是凹函数(可看作一系列拉格朗日函数的逐点最小值)。
- 也就是说,无论原始问题的形式如何,对偶问题一定是一个凸优化问题。
- 接下来我们将讨论对偶问题的解与原始问题解的关系,以说明将原始问题转化为对偶问题求解的策略是可行的。
- 具体而言,函数与最优解之间具有如下不等式关系:设,那么有 推导如下:
- 由上述关系可知,,然而之间的大小关系仍未确定。实际上,它们之间的关系与对偶性本身密切相关。具体而言:
- 若上述问题中,我们称其满足弱对偶性(weak duality);
- 若上述问题中,我们称其满足强对偶性(strong duality);
- 定义为对偶间隙(duality gap)。
- 接下来我们给出一个重要命题:对于任意优化问题,弱对偶性总是成立,即对偶间隙一定非负。
- 实际上这一命题可看作下述极大极小不等式(minimax inequality)的一个推论:设与为任意集合,为任意函数,那么有
简单证明如下:因为
两边对取最大值得
由于上式右边为常数,故对左侧关于取最小值不等号仍然成立,原命题得证。
注:上式两边对取最大值时取的可能不同,但不影响不等式结果。
- 那么如何理解这个不等式呢?可以用玩家博弈的先后手理解:
- 设玩家希望对函数最小化,而玩家希望对最大化。
- 他们分别选择对变量和操作,而和的先后顺序对应了先后手(靠左侧为先手,靠右侧为后手,因为函数变量从左到右进行固定)。
- 对于玩家,选择后手(先后)比先手(先后)得到的结果更好(即函数更小)。【玩家视角同理】
- 实际上这一命题可看作下述极大极小不等式(minimax inequality)的一个推论:设与为任意集合,为任意函数,那么有
简单证明如下:因为
两边对取最大值得
由于上式右边为常数,故对左侧关于取最小值不等号仍然成立,原命题得证。
- 那么如何利用弱对偶性呢?根据上述推导,我们可得对于任意,有 于是,我们就能通过解函数与对偶函数之差得到解与最优解之间差距的上界。这可以作为优化算法迭代停止的依据。【这也被称作最优性证书(certificate of optimality)】
强对偶性(Strong Duality)
- 上面介绍的弱对偶性虽然具有普遍性,但只依赖弱对偶性无法精确计算最优解。此时我们就需要借助强对偶性,虽然它并不总是成立。
- 强对偶性成立的条件有很多,下面我们介绍一种简单且广泛适用的条件:Slater条件。其具体表述如下:
- 设原始问题的可行域为,考虑原始问题约束条件中的函数(均为凸函数)和(均为仿射函数)。如果存在(即严格可行),使得对于任意,当为仿射函数时,不是仿射函数时,那么就称原始问题具有强对偶性,即对偶间隙为。
注:这个条件实际上是精细Slater条件,与标准Slater条件的唯一区别在于后者对所有不等式约束函数都要求严格小于。
- 关于Slater条件的证明在此作略,可参见Boyd的《凸优化》5.3.2节或知乎文章。【使用了分离超平面定理】
- 从直观上理解,Slater条件的本质是如果可行域的内部具有一个严格可行解,那么强对偶性就成立。
- 设原始问题的可行域为,考虑原始问题约束条件中的函数(均为凸函数)和(均为仿射函数)。如果存在(即严格可行),使得对于任意,当为仿射函数时,不是仿射函数时,那么就称原始问题具有强对偶性,即对偶间隙为。
- 下面我们给出两个用对偶问题求解原问题最优解的具体示例:
-
最小范数问题(可参见Chapter 1):原始问题形式为
其中。由于问题只有等式约束,因此拉格朗日函数为
从而得到对偶函数
因为拉格朗日函数为凸函数,所以直接将其对求偏导取零值:
代回拉格朗日函数得到
于是对偶问题即为
这同样是一个凸优化问题,依旧使用求偏导取零点得到
由于原始问题是凸优化问题且约束函数是仿射函数,因此只要约束条件有解,问题就满足强对偶性。此时
便是原始问题的全局最优解。
-
影子价格问题(拉格朗日乘子的经济学解释):假设我们有两种原料和,分别有千克和千克,将它们混合制作成商品,有两种方案:
- 取千克原料和千克原料,加工成一份价值的商品;
- 取千克原料和千克原料,加工成一份价值的商品;
我们希望总销售额最大。具体而言,假设两种商品分别制作份和份,对应的优化问题即为
这实际上可以看作一个线性规划(linear programming)问题(虽然最终参数解一般取整数)。我们考虑包含前两个约束条件的拉格朗日函数
其中和可以理解为千克原料和的“内部估值”。接着我们可以再考虑下述原料总估值的最小化问题:
其中约束条件可以理解为每种商品的售价都不超过其所耗原料的内部估值。
- 实际上,这也是上述优化问题的对偶问题,且显然满足强对偶性条件。【给全部原料给出的最小总估值,恰好等于原问题能够达到的最大总销售额】
- 也被称为影子价格(shadow prices),反映了我们愿意为违反约束条件付出的代价。
-
Karush-Kuhn-Tucker(KKT)条件
下面我们再介绍另一个与强对偶性有关的重要条件,即KKT条件。其具体形式如下:
-
设为决策变量和拉格朗日乘子,目标函数以及约束函数均可微。若满足:
- 为原始问题的可行解,即
- 为对偶问题的可行解,即
- 互补松弛条件:【实际上,这个条件可理解为筛选出活跃约束(将非活跃约束乘子取)】
- 平稳性(也称一阶条件):
则称其满足KKT条件。
-
实际上,如果原始问题满足强对偶性,且对应的目标函数与约束函数可微,为原始问题与对偶问题的最优解,那么它就满足KKT条件。【KKT条件是强对偶性的必要条件】
-
简单证明:由上述前提可知
而根据之前对弱对偶性的推导可知:
又根据强对偶性,,故中间所有不等号都可去等。于是:
- 第一个不等号取等:为拉格朗日函数关于的最小值点,故;
- 第二个不等号去等:必须为,因此对任意均成立(即互补松弛条件)。
而前两个条件显然成立,因此KKT条件成立。
-
-
那么KKT条件能否推出强对偶性呢?在凸性条件下是可以的。具体而言,设原始问题中目标函数与约束函数均可微,为凸函数,为仿射函数,如果满足KKT条件,那么原始问题就是凸优化问题,满足强对偶性,且就是原始问题和对偶问题的最优解。
- 也就是说,对于凸优化问题,KKT条件与强对偶性是相互等价的。【同时满足KKT条件的解一定是最优解】
-
综合上述推导,我们就能得到利用KKT条件解决凸优化问题的策略:
- 设原始问题为,验证的目标函数与约束条件函数均满足凸性条件且可微;
- 验证满足Slater条件或和满足强对偶性;
- 计算和对应的KKT条件,由此得到最优解参数。
然而,由KKT条件构造方程组得到的解不一定就是全局最优解。此时可以考虑对原始问题进行简化(如引入松弛变量),或者生成多个候选解,再代回KKT条件进行验证。
锥对偶性(Cone Duality)
拉格朗日函数与对偶性还可以推广到约束条件为广义不等式的优化问题中。广义不等式的定义如下:
-
设为一个正常锥,为的内部。那么对于任意两个向量,它们之间的关系可以用诱导出的不等关系()表示。具体而言,
- 若,则称或;
- 若,则称或;
特别地,如果代入向量,可以得到:
注:当时,之间就无法用诱导的不等关系表述。
-
实际上,之前我们已经接触过一些广义不等式。比如,在定义半正定矩阵的时候,使用就是由正常锥诱导出的关系。
-
对之前的优化问题,我们也可以用广义不等式简化表示。比如,对于下述优化问题
考虑正常锥,定义函数为
那么这个优化问题可以简写为
-
广义不等式具有传递性:对于指定正常锥,若,,那么有。(其他不等号同理)
-
利用上述定义与推导,我们可以得到广义约束优化问题的形式:
- 设目标函数,为向量值不等式约束函数,为正常锥(也被称为约束锥),记。另设为等式约束函数。那么我们就得到广义约束优化问题:
-
下面对这个优化问题的对偶问题进行推导。首先引入示性函数:
尝试将指示函数替换为拉格朗日乘子,我们得到
其中表示在上的对偶锥。【可以通过定义证明】
注:这里的可以替换为广义内积。
由此我们可以得到优化问题的拉格朗日函数形式:
其中拉格朗日函数定义为
因此对偶函数定义为
从而对偶问题可表示为
其弱对偶性仍然满足。
-
那么广义不等式体系中是否仍然有Slater条件呢?有的,只需要引入广义凸性概念:设,且为一个正常锥,
- 若对任意和,有 则称为-凸函数。
- 若对任意和且,有 称为-严格凸函数。
这样我们就能得到广义Slater条件:对于下述优化问题
如果:
- 是凸函数;
- 是-凸函数,其中是一个正常锥;
- 是仿射函数;
- 存在某个点是严格可行的,即满足:
那么原问题及其对偶问题满足强对偶性,即对偶间隙为。
