在**上一篇文章中,笔者介绍了什么是拉格朗日乘数法以及它的作用。同时在那篇文章中笔者还特意说到,拉格朗日乘数法只能用来求解等式约束条件下**的极值。但是当约束条件为不等式的时候我们又该如何求解呢?
1 广义拉格朗日乘数法
由拉格朗日乘数法可知,对于如下等式条件的约束问题
min w f ( w ) s . t . h i ( w ) = 0 , i = 1 , ⋯ , l . (1) \begin{aligned} \min_{w} \;\;\;f(w)&\\ s.t. \;\;\;h_i(w)&=0,i=1, \cdots,l. \end{aligned}\tag 1 wminf(w)s.t.hi(w)=0,i=1,⋯,l.(1)
其中 w w w是一个向量。
很明显这是一个条件(等式)极值问题,且用拉格朗日乘数法就能解决:
L ( w , β ) = f ( w ) + ∑ i = 1 l β i h i ( w ) (2) \mathcal{L}(w,\beta) = f(w)+\sum^l_{i=1}\beta_ih_i(w)\tag 2 L(w,β)=f(w)+i=1∑lβihi(w)(2)
其中 β i \beta_i βi是拉格朗日乘子;然后对式子中所有的参数求偏导,令其为0便可求解出所有参数。
接着看如下优化问题
min w f ( w ) s . t . g i ( w ) ≤ 0 , i = 1 , ⋯ , k . h i ( w ) = 0 , i = 1 , ⋯ , l . (3) \begin{aligned} \min_{w} \;\;\;f(w)&\\ s.t. \;\;\;g_i(w)&\leq0,i=1, \cdots,k.\\[2ex] h_i(w)&=0,i=1, \cdots,l. \end{aligned}\tag 3 wminf(w)s.t.gi(w)hi(w)≤0,i=1,⋯,k.=0,i=1,⋯,l.(3)
与之前明显不同的就是在这个问题中多了不等式的约束条件。因此,为了解决这个问题我们就要定义广义的拉格朗日乘数法(Generalized Lagrangian)。
L ( w , α , β ) = f ( w ) + ∑ i = 1 k α i g i ( w ) + ∑ i = 1 l β i h i ( w ) (4) \mathcal{L}(w,\alpha,\beta) = f(w)+\sum^k_{i=1}\alpha_ig_i(w)+\sum^l_{i=1}\beta_ih_i(w)\tag 4 L(w,α,β)=f(w)+i=1∑kαigi(w)+i=1∑lβihi(w)(4)
其中 α i \alpha_i αi和 β i \beta_i βi都是拉格朗日乘子,但接下来的求解过程与之前就大相径庭了。
2 对偶问题优化
2.1 原始优化问题
根据式子 ( 3 ) ( 4 ) (3)(4) (3)(4)我们考虑如下定义:
θ P ( w ) = max α , β : α i ≥ 0 L ( w , α , β ) (5) \theta_{\mathcal{P}}(w)=\max_{\alpha,\beta:\alpha_i\geq0}\mathcal{L}(w,\alpha,\beta)\tag 5 θP(w)=α,β:αi≥0maxL(w,α,β)(5)
这个式子表示的含义是:最大化 L ( ω , α , β ) \mathcal{L}(\omega,\alpha,\beta) L(ω,α,β)时 α , β \alpha,\beta α,β的取值,即 α , β \alpha,\beta α,β作为自变量与 w w w无关,最终求得的结果 θ P \theta_{\mathcal{P}} θP是关于 w w w的函数;其中 α i ≥ 0 \alpha_i\geq0 αi≥0是为了在 L ( w , α , β ) \mathcal{L}(w,\alpha,\beta) L(w,α,β)中保证约束条件 g i ( w ) ≤ 0 g_i(w)\leq 0 gi(w)≤0始终成立。
因此,如果原约束条件 g i ( w ) ≤ 0 g_i(w)\leq0 gi(w)≤0和 h i ( w ) = 0 h_i(w)=0 hi(w)=0均成立,那么:
max α , β : α i ≥ 0 L ( w , α , β ) ⟺ max α , β : α i ≥ 0 [ ∑ i = 1 k α i g i ( w ) + ∑ i = 1 l β i h i ( w ) ] (6) \max_{\alpha,\beta:\alpha_i\geq0}\mathcal{L}(w,\alpha,\beta)\iff\max_{\alpha,\beta:\alpha_i\geq0}\left[\sum^k_{i=1}\alpha_ig_i(w)+\sum^l_{i=1}\beta_ih_i(w)\right]\tag 6 α,β:αi≥0maxL(w,α,β)⟺α,β:αi≥0max[i=1∑kαigi(w)+i=1∑lβihi(w)](6)
则此时有 θ P ( w ) = f ( w ) + 0 \theta_{\mathcal{P}}(w)=f(w)+0 θP