拉格朗日对偶性

在约束优化问题中,常常用拉格朗日对偶性来将原始问题转为对偶问题,通过解对偶问题的解来得到原始问题的解。

1.为什么要利用对偶?

首先要明确,对偶问题的解不一定直接等于原问题的解(弱对偶),但是对偶问题有两点性质:

  • 无论原始问题是否是凸的,对偶问题都是凸优化问题
  • 当Lagrange对偶问题的强对偶性成立时,可以利用求解对偶问题来求解原问题;而原问题是凸优化问题时,强对偶性往往成立;弱对偶性永远成立,可以为原问题提供下界。

(1)原始问题

优化问题:

$$\begin{align*} \min_{\bf x} & \hspace{3ex} f({\bf x}) \\ {\rm s.t.} & \hspace{3ex} g_i({\bf x}) \le 0, \ {\rm for\ }i =1,2,\ldots, m \\ & \hspace{3ex} h_j({\bf x}) = 0, \ {\rm for\ }j =1,2,\ldots, n \end{align*}$$

拉格朗日函数:

$$L(x, \alpha , \beta ) = f(x) + \sum _{i=1}^q \alpha_i g_i(x) + \sum _{j=q+1}^m \beta_j h_j(x)$$

则原问题等价于:

$$\begin{align} \min_{{\bf x}} \max_{ {\boldsymbol \alpha}, {\boldsymbol \beta}} & \hspace{3ex} \mathcal{L({\bf x},{\boldsymbol \alpha}, {\boldsymbol \beta})} \\ {\rm s.t.} & \hspace{3ex} \alpha_i \ge 0 \end{align}\tag{2-1}$$

推导:

$$\begin{align} &\min_{{\bf x}} \max_{ {\boldsymbol \alpha}, {\boldsymbol \beta}} \mathcal{L({\bf x},{\boldsymbol \alpha}, {\boldsymbol \beta})} \\ = & \min_{{\bf x}} \left( f(x) + \max_{ {\boldsymbol \alpha}, {\boldsymbol \beta}} \left( \sum_{i=1}^m\alpha_ig_i({\bf x}) + \sum_{j=1}^n\beta_jh_j({\bf x})\right) \right) \\=& \min_{{\bf x}} \left( f(x) +\begin{cases} 0& \text{u满足约束条件}\\ \infty& \text{otherwise} \end{cases} \right) \end{align}$$

  • 当g不满足约束条件的时候$g_i(x) \gt 0$,我们内层优化取max,因此 $\alpha_i = \infty \Rightarrow \alpha_ig_i({\bf x}) = \infty$
  • 当g满足约束条件的时候$g_i(x) \le 0$,我们内层优化取max,因此 $\alpha_i =0 \Rightarrow \alpha_ig_i({\bf x}) = 0$
  • 当h不满足约束条件的时候$h_j(x) \ne0$,同理可以取 $\beta_j= \rm sign(h_j({\bf x})) \infty \Rightarrow \beta_jh_j({\bf x}) = \infty$
  • 当h满足约束条件的时候$h_j(x) =0$,同理可以取 $\beta_jh_j({\bf x}) =0$

为了使2-1达到优值,需要满足如下条件(KKT条件):

  • 主问题可行: $g_i({\bf x}) \le 0, h_i({\bf x}) = 0$
  • 对偶问题可行: $\alpha_i \ge 0$
  • 互补松弛: $\alpha_i g_i({\bf x}) = 0$

主问题可行是上面推导的结果,对偶问题可行为2-1的约束项;互补松弛是主问题和对偶问题都可行的条件下的最大值。

原始问题求得的解为$g^{*}$

(2)对偶问题

$$\begin{align*} \max_{ {\boldsymbol \alpha}, {\boldsymbol \beta}}\min_{{\bf x}} & \hspace{3ex} \mathcal{L({\bf x},{\boldsymbol \alpha}, {\boldsymbol \beta})} \\ {\rm s.t.} & \hspace{3ex} \alpha_i \ge 0 \end{align*}\tag{2-2}$$

对偶问题是原问题的下界,即:

$$\max_{ {\boldsymbol \alpha}, {\boldsymbol \beta}}\min_{{\bf x}} \mathcal{L({\bf x},{\boldsymbol \alpha}, {\boldsymbol \beta})} \le \min_{{\bf x}} \max_{ {\boldsymbol \alpha}, {\boldsymbol \beta}} \mathcal{L({\bf x},{\boldsymbol \alpha}, {\boldsymbol \beta})}$$

因为下式总是成立:

$$ \min_{{\bf x}} \mathcal{L({\bf x},{\boldsymbol \alpha}, {\boldsymbol \beta})} \le\min_{{\bf x}} \max_{ {\boldsymbol \alpha}, {\boldsymbol \beta}} \mathcal{L({\bf x},{\boldsymbol \alpha}, {\boldsymbol \beta})} $$

对偶问题求得的解为$d^{*}$

对任意可能的值求极值,肯定不如直接求到的极值大。有句俗语叫“瘦死的骆驼比马大”说的就是这个道理。

  • 弱对偶($d^*<=g^*$),对于所有优化问题都成立,这个时候我们可以得到原始问题的一个下界。
  • 强对偶($d^*=g^*$),满足某些条件才成立,这时可以用解对偶问题替代原始问题。那么满足什么样的条件可以得到强对偶呢?(如果原问题是一个凸优化,并且不等式约束$g(x)$是严格可行的,即存在$x$对所有$i$有$g_i(x)<0$,那么强对偶成立。这里需要注意的是,这里的条件只是强对偶成立的一种情况,对于非凸的问题也有可能是强对偶。

如果原问题是一个凸优化,并且不等式约束$g(x)$是严格可行的,即存在$x$对所有$i$有$gi(x)<0$,那么强对偶成立。这里需要注意的是,这里的条件只是强对偶成立的一种情况,对于非凸的问题也有可能是强对偶。强对偶成立时,将拉格朗日函数分别对原变量$x$和对偶变量$α$和$β$分别求导,令导数等于零(还需要满足KKT条件),即可求解对偶问题的解,也就求得了原问题的解。

强对偶成立的条件:Slater条件

Slater定理:当Slater条件成立且原问题是凸优化问题时,强对偶成立。

 

 

满足强对偶性的例子:

  • 线性规划
  • 最小二乘
  • 最大熵问题

(3)KKT条件

当Lagrange对偶问题的强对偶性成立时,可以利用求解对偶问题来求解原问题;而原问题是凸优化问题时,强对偶性往往成立。否则,可以利用求解对偶问题求出原问题最优值的下界。

 

 

(鞍点就满足KKT,但鞍点就不是最优解))

 

 当原问题只有等式约束而没有不等式约束时,KKT条件即为拉格朗日乘数法。

(4)KKT与凸优化的关系

KKT主要是针对带约束的可微分的优化问题,凸优化研究的对象是目标函数为凸函数,约束为凸集的优化问题。因此这两者研究的对象,有交集,也各有不同。

凸优化:

  • 第一类问题为两类问题的交集即带约束的可微分凸优化问题,这类问题目前已经被很好的解决了,它同时具备两类问题的性质,凸优化和可微分性,让原来KKT从局部最优解的必要条件变为全局最优解的充要条件。
  • 第二类问题是凸优化但是不可微分,这类问题也较为常见,在拉格朗日松弛算法中,对偶问题一般都是不可微分的凸优化问题,因为不可微分,传统的基于梯度的方法就不适用了,一般采用次梯度的方法,主要难点在于次梯度如何确定,由于次梯度不唯一,如何确定一个简单有效的次梯度也是一个问题。
  • 第三类问题是可微分的但不是凸优化的,这类问题也很多,一般这类问题都可以采用基于梯度的算法来求解,例如对神经网络的训练多数就属于这类问题。采用梯度法仅仅能保证收敛到局部最优的必要条件而已。因此该类问题的受困于陷入鞍点和全局最优的寻找是很困难的。

非凸优化:非凸且不可微分



 

 

 

 

 

 

 

 

参考文献:

【1】『我爱机器学习』深入理解SVM(一) 原始问题和对偶问题

【2】优化问题

【3】凸优化(八)——Lagrange对偶问题

posted @ 2019-09-03 15:33  nxf_rabbit75  阅读(877)  评论(0编辑  收藏  举报