上一篇:最优化条件和KKT条件
正式开始之前,先说一句废话,之所以需要对偶问题,是因为
相较原始问题(primal problem),对偶问题(dual problem)会更好解
原始问题和对偶问题一般有如下关系
原始问题 对偶问题 最小化 ⟺ 最大化 变量数 ⟺ 约束条件数 约束条件数 ⟺ 变量数 \begin{align*} 原始问题 &\quad 对偶问题 \\ 最小化 &\Longleftrightarrow 最大化 \\ 变量数 &\Longleftrightarrow 约束条件数 \\ 约束条件数 &\Longleftrightarrow 变量数 \end{align*} 原始问题最小化变量数约束条件数对偶问题⟺最大化⟺约束条件数⟺变量数
为不失一般性,原始问题的定义如下
m i n x f ( x ) s . t . h i ( x ) = 0 , i = 1 , . . . m g j ( x ) ≤ 0 , j = 1 , . . . r x ∈ X \begin{align*} \underset{x}{min} \space &f(x) \\ s.t. \space &h_i(x)=0, \space i=1,...m \\ & g_j(x) \leq 0, j=1,...r \\ & x \in X \end{align*} xmin s.t. f(x)hi(x)=0, i=1,...mgj(x)≤0,j=1,...rx∈X
接着我们将一步一步从这个原始问题导出拉格朗日对偶问题
首先基于约束条件,我们将引进一个指示函数,这个指示函数有如下形态:
δ F ( x ) = { 0 i f x ∈ F ≜ { x ∣ h i ( x ) = 0 , g j ( x ) ≤ 0 } ∞ o t h e r w i s e \begin{equation} \delta_F(x)=\left\{ \begin{align*} 0 \quad &if \quad x \in F\triangleq\{x|h_i(x)=0,g_j(x)\leq0\} \\ \infty \quad & otherwise \end{align*} \right. \end{equation} δF(x)={0∞ifx∈F≜{x∣hi(x)=0,gj(x)≤0}otherwise
简单的说,就是满足原始问题约束条件的话,其值为0,此外为无穷;基于这个指示函数,原始问题可以改写为
m i n x f ( x ) + δ F ( x ) s . t . x ∈ X \begin{align*} \underset{x}{min} \quad &f(x) + \delta_F(x)\\ s.t. \quad &x\in X \end{align*} xmins.t.f(x)+δF(x)x∈X
这可以理解为,为了使函数值达到最小,我们希望 δ F ( x ) \delta_F(x) δF(x)为0,这样既满足了之前的约束条件,又不改变最后的目标函数值;并且(1)又与以下函数等价
δ F ( x ) = s u p λ ∈ R m , μ ≥ 0 { ∑ i = 1 m λ i h i ( x ) + ∑ j = 1 r μ j g j ( x ) } \begin{equation} \delta_F(x)=\underset{\lambda \in R^m, \mu \geq 0}{sup} \{ \sum_{i=1}^m{\lambda_i h_i(x)}+\sum_{j=1}^r{\mu_j g_j(x)} \} \end{equation} δF(x)=λ∈Rm,μ≥0sup{i=1∑mλihi(x)+j=1∑rμjgj(x)}
(1)与(2)的等价关系其实分下情况就能证明之所以引入指示函数(2),是因为它和拉格朗日乘子法里面所用的拉格朗日函数长得很像,拉格朗日函数长这样:
L ( x , λ , μ ) = f ( x ) + ∑ i = 1 m λ i h i ( x ) + ∑ j = 1 r μ j g j ( x ) L(x,\lambda, \mu)=f(x)+\sum_{i=1}^m{\lambda_i h_i(x)}+\sum_{j=1}^r{\mu_j g_j(x)} L(x,λ,μ)=f(x)+i=1∑mλihi(x)+j=1∑rμjgj(x)
原始问题的目标函数可以再被改写一下
f ( x ) + δ F ( x ) = f ( x ) + s u p λ ∈ R m , μ ≥ 0 { ∑ i = 1 m λ i h i ( x ) + ∑ j = 1 r μ j g j ( x ) } = s u p λ ∈ R m , μ ≥ 0 { f ( x ) + ∑ i = 1 m λ i h i ( x ) + ∑ j = 1 r μ j g j ( x ) } = s u p λ ∈ R m , μ ≥ 0 { L ( x , λ , μ ) } \begin{align*} f(x) + \delta_F(x) &= f(x)+ \underset{\lambda \in R^m, \mu \geq 0}{sup} \{ \sum_{i=1}^m{\lambda_i h_i(x)}+\sum_{j=1}^r{\mu_j g_j(x)} \} \\ &= \underset{\lambda \in R^m, \mu \geq 0}{sup} \{ f(x) +\sum_{i=1}^m{\lambda_i h_i(x)}+\sum_{j=1}^r{\mu_j g_j(x)} \} \\ &= \underset{\lambda \in R^m, \mu \geq 0}{sup} \{L(x,\lambda, \mu)\} \end{align*} f(x)+δF(x)=f(x)+λ∈Rm,μ≥0sup{i=1∑mλihi(x)+j=1∑rμjgj(x)}=λ∈Rm,μ≥0sup{f(x)+i=1∑mλihi(x)+j=1∑rμjgj(x)}=λ∈Rm,μ≥0sup{L(x,λ,μ)}
总结下到目前的内容,我们就可以导出第一个对偶问题:拉格朗日对偶问题
原始问题 1 : m i n f ( x ) s . t . h i ( x ) = 0 , i = 1 , . . . m , g j ( x ) ≤ 0 , j = 1 , . . . r , x ∈ X ⇓ 原始问题 2 : m i n f ( x ) + δ F ( x ) s . t x ∈ X ⇓ 原始问题 3 : m i n s u p λ ∈ R m , μ ≥ 0 { L ( x , λ , μ ) } s . t x ∈ X ⇓ 拉格朗日对偶问题: m a x i n f x ∈ X { L ( x , λ , μ ) } s . t λ ∈ R m , μ ≥ 0 ( 显示不全,可向右滑动 ) \begin{align*} \footnotesize 原始问题1 : \\ & min \quad f(x) \\ & s.t. \quad h_i(x)=0, \space i=1,...m ,\quad g_j(x) \leq 0, j=1,...r ,\quad x \in X \\ &\Downarrow\\ \footnotesize 原始问题2 : \\ & min \quad f(x) + \delta_F(x) \\ & s.t \quad x \in X \\ &\Downarrow\\ \footnotesize 原始问题3 : \\ & min \quad \underset{\lambda \in R^m, \mu \geq 0}{sup} \{L(x,\lambda, \mu)\} \\ & s.t \quad x \in X \\ &\Downarrow\\ \footnotesize 拉格朗日对偶问题:\\ & max \quad \underset{x \in X}{inf} \{L(x,\lambda, \mu)\} \\ & s.t \quad \lambda \in R^m, \mu \geq 0 \\ \end{align*} \\ \scriptsize (显示不全,可向右滑动) 原始问题1:原始问题2:原始问题3:拉格朗日对偶问题:minf(x)s.t.hi(x)=0, i=1,...m,gj(x)≤0,j=1,...r,x∈X⇓minf(x)+δF(x)s.tx∈X⇓minλ∈Rm,μ≥0sup{L(x,λ,μ)}s.tx∈X⇓maxx∈Xinf{L(x,λ,μ)}s.tλ∈Rm,μ≥0(显示不全,可向右滑动)
注意⚠️:我虽然这写了原始问题1,2,3,但它们实质是一个问题,没有任何区别
接着我们还需要两个定理来保证,对偶问题的最优解和原始问题的最优解是一致的。
由刚才的推导,拉格朗日对偶问题的目标函数是
w ( λ , μ ) = i n f x ∈ X { L ( x , λ , μ ) } w(\lambda,\mu)=\underset{x \in X}{inf}\space \{L(x,\lambda, \mu)\} w(λ,μ)=x∈Xinf {L(x,λ,μ)}
超级简单的证明弱双对定理
f ( x ) ≥ w ( λ , μ ) , ∀ x ∈ S , λ ∈ R m , μ ≥ 0 f(x) \geq w(\lambda,\mu), \forall x \in S, \lambda \in R^m, \mu \geq 0 f(x)≥w(λ,μ),∀x∈S,λ∈Rm,μ≥0
f ( x ) ≥ f ( x ) + ∑ i = 1 m λ i h i ( x ) + ∑ j = 1 r μ j g j ( x ) = L ( x , λ , μ ) ≥ i n f x ∈ X { L ( x , λ , μ ) } = w ( λ , μ ) \begin{align*} f(x) &\geq f(x)+ \sum_{i=1}^m{\lambda_i h_i(x)}+\sum_{j=1}^r{\mu_j g_j(x)} =L(x,\lambda, \mu)\\ & \geq \underset{x \in X}{inf}\space \{L(x,\lambda, \mu)\}\\ &= w(\lambda,\mu) \end{align*} f(x)≥f(x)+i=1∑mλihi(x)+j=1∑rμjgj(x)=L(x,λ,μ)≥x∈Xinf {L(x,λ,μ)}=w(λ,μ)
第一个不等式成立的原因:当x是原始问题的最优解时,其需要满足 h i ( x ) = 0 , μ j ≥ 0 , g j ( x ) ≤ 0 h_i(x)=0,\mu_j \geq 0, g_j(x) \leq 0 hi(x)=0,μj≥0,gj(x)≤0,则 ∑ i = 1 m λ i h i ( x ) + ∑ j = 1 r μ j g j ( x ) ≤ 0 \sum_{i=1}^m{\lambda_i h_i(x)}+\sum_{j=1}^r{\mu_j g_j(x)} \leq 0 ∑i=1mλihi(x)+∑j=1rμjgj(x)≤0
第二个不等式成立的原因:取得是 i n f inf inf
这个定理弱就弱在,我们什么都不用做它就成立了,它保证了对偶问题的目标函数是原始问题1 f ( x ) f(x) f(x)的下界。
也就是说对偶问题得到的最优解和原始问题的最优解不会差的太远。
也因此我们需要一个更强的定理,来保证一致性。
强对偶定理
1. f , g j ( j = 1 , . . . , r ) f,g_j(j=1,...,r) f,gj(j=1,...,r)是凸函数 , h i ( i = 1 , . . . , m ) h_i(i=1,...,m) hi(i=1,...,m)是一次函数
2. 原始问题存在最优解 (即存在一个x满足KKT条件)
那么,对偶问题有最优解,且两个问题的最优解是一致的
回忆第一部分讲到的最优解的充分必要条件,满足KKT的点就是全局最优解。
定理2:最优解的充分必要条件
f , g 1 , . . . , g r f,g_1,...,g_r f,g1,...,gr是可微凸函数, h i , i = 1 , . . . , m h_i,i=1,...,m hi,i=1,...,m是一次函数
( x ∗ , λ ∗ , μ ∗ ) (x^*,\lambda^*,\mu^*) (x∗,λ∗,μ∗)是
m i n x f ( x ) s . t . h i ( x ) = 0 , i = 1 , . . . m g j ( x ) ≤ 0 , j = 1 , . . . r \begin{align*} \underset{x}{min} \space &f(x) \\ s.t. \space &h_i(x)=0, \space i=1,...m \\ &g_j(x) \leq 0, j=1,...r \end{align*} xmin s.t. f(x)hi(x)=0, i=1,...mgj(x)≤0,j=1,...r满足条件(1)~(3)KKT点,则 x ∗ x^* x∗是全局最小解
中场休息,喝杯再接着学习
点击这里跳转到对偶问题(2),我们接着讲另一个重要的对偶问题:Fenchel对偶问题
有疑问和建议,联系博主Rane:[email protected]。