【数学】拉格朗日对偶

拉格朗日对偶

引言

上一篇,我们说到了拉格朗日乘子法和 KKT条件。这篇中,我们将继续学习拉格朗日对偶。此篇参考:这个链接
如果目标函数和约束条件都是变量为 x x 的线性函数,该问题被称为线性规划;如果目标函数是二次函数,而约束条件是线性函数,该问题被称为二次规划;目标函数和约束函数均为非线性函数,称为非线性规划。每个线性规划问题都有一个与之对应的对偶问题。对偶问题有以下几种很好的性质:
    1. 对偶问题的对偶问题是原始问题。
    2. 无论原始问题是否是凸的,对偶问题都是凸优化问题。
    3. 对偶问题可以给出原始问题的一个下界。
    4. 当满足一定条件时,原始问题和对偶问题完全等效。

原始问题

假设 f ( x ) , h i ( x ) , g j ( x ) f(x), h_i(x), g_j(x) 是定义在 R n R^n 上的连续可微函数,给出不等式约束优化问题:
min x R n f ( x ) s . t .      h i ( x ) = 0 ,   i = 1 , 2 , 3 , , m          g j ( x ) 0 ,   j = 1 , 2 , 3 , , k \min_{x\in R^n}f(x)\\ s.t.\ \ \ \ h_i(x) = 0,\ i=1,2,3,\dots,m\\ \ \ \ \ \ \ \ \ g_j(x)\leq0,\ j=1,2,3,\dots ,k
如果约束条件满足KKT条件时,可以使用拉格朗日函数求解:
L ( x , α , β ) = f ( x ) + i = 1 m α i h i ( x ) + j = 1 k β j g j ( x ) \mathscr{L}(x, \alpha, \beta)=f(x)+\sum_{i=1}^m\alpha_ih_i(x) + \sum_{j=1}^k\beta_jg_j(x)
我们先给出一个重要结论:
f ( x ) = max α , β ; β i 0 L ( x , α , β ) f(x)=\max_{\alpha,\beta;\beta_i\geq0}\mathscr{L}(x, \alpha, \beta)
在上面这条式子中,我们把 x x 看做常量,只改变 α \alpha β \beta 来最大化 L ( x , α , β ) \mathscr{L}(x, \alpha, \beta)


我们可以定义以下两个方法:

  1. x x 不满足约束条件。如果 h i ( x )    h_i(x)\;    0 \;0 时,令 α i + \alpha_i\to+\infty ,此时 α i h i ( x ) + \alpha_ih_i(x) \to+\infty 。如果 g j ( x ) > 0 g_j(x) > 0 ,令 β j + \beta_j\to+\infty ,此时 β j g j ( x ) + \beta_jg_j(x)\to+\infty 。这种情况下,只要不满足任一条件,都会使 L ( x , α , β ) + \mathscr{L}(x, \alpha, \beta) \to+\infty ,造成问题无解。
  2. x x 满足约束条件 x x 满足约束条件需要 x x 同时满足 h i ( x ) = 0 h_i(x) = 0 g j ( x ) 0 g_j(x) \leq 0 。显然,如果 h i ( x ) = 0 h_i(x)=0 ,不管 α i \alpha_i 取值如何,都无法改变 α i h i ( x ) = 0 \alpha_ih_i(x)=0 。接下来有影响的就剩下 β j g j ( x ) \beta_jg_j(x) 这一项了。对于这一项, g j ( x ) 0 g_j(x)\leq0 ,并且使得 β j 0 \beta_j\geq0 ,就会有 β j g ( x ) 0 \beta_jg(x)\leq0 ,而在结论的式子中,我们选择改变 β j \beta_j 来使 L ( x , α , β ) \mathscr{L}(x, \alpha, \beta) 最大,所以这里的 β j \beta_j 会更倾向于取 0 0 ,因此 β j g j ( x ) = 0 \beta_jg_j(x)=0 。在这种情况下, α i h i ( x ) = 0 \alpha_ih_i(x)=0 β j g j ( x ) = 0 \beta_jg_j(x)=0 ,因此只剩下了 f ( x ) f(x) 一项。

综上所述,我们得到了这么一个结论:
θ p ( x ) = { f ( x ) , x    满足约束要求 + , 其他 \theta_p(x)=\begin{cases}\\ f(x),\quad \text{$x\;$满足约束要求}\\ +\infty, \quad \text{其他}\\ \end{cases}
θ p ( x ) = f ( x ) = max α , β ; β i 0 L ( x , α , β ) L ( x , α , β ) \theta_p(x)=f(x)=\max_{\alpha,\beta;\beta_i\geq0}\mathscr{L}(x, \alpha, \beta) \geq \mathscr{L}(x, \alpha, \beta)
因此可得
min x θ p ( x ) = min x max α , β ; β i 0 L ( x , α , β ) \min_x\theta_p(x)=\min_x\max_{\alpha,\beta;\beta_i\geq0}\mathscr{L}(x, \alpha, \beta)

对偶问题

我们将原始命题的最优解定义为 p p^* ,现在为对偶问题定义一个对偶函数:
θ D ( α , β ) = min x L ( x , α , β ) \theta_D(\alpha, \beta)=\min_{x}\mathscr{L}(x, \alpha, \beta)
于是对偶问题如下:
max α , β ; β i 0 θ D ( α , β ) = max α , β ; β i 0 min x L ( x , α , β ) \max_{\alpha,\beta;\beta_i\geq0}\theta_D(\alpha, \beta)=\max_{\alpha,\beta;\beta_i\geq0}\min_x\mathscr{L}(x, \alpha, \beta)
对偶问题和原始问题的区别就在于互换了 m a x max m i n min 的位置。
然后我们定义最优问题的解为 d d^* .
在引言中说到对偶问题可以给出原始问题的一个下界,而当满足一定条件时,原始问题和对偶问题完全等效。

d p d^*\leq p^*

D ( α , β ) = min x L ( x , α , β ) L ( x , α , β ) max α , β ; β i 0 L ( x , α , β ) = f ( x ) D(\alpha, \beta)=\min_{x}\mathscr{L}(x, \alpha, \beta) \leq \mathscr{L}(x, \alpha, \beta) \leq \max_{\alpha,\beta;\beta_i\geq0}\mathscr{L}(x, \alpha, \beta) = f(x)
D ( α , β ) f ( x ) D(\alpha, \beta) \leq f(x) ,显然
d = max α , β ; β i 0 D ( α , β ) min x f ( x ) = p d^*=\max_{\alpha,\beta;\beta_i\geq0}D(\alpha, \beta)\leq \min_xf(x)=p^*

因此我们可以用对偶的性质,为原始问题引入一个下界 d d^* ,即使原始问题非凸,这种性质叫做弱对偶性。无论原始问题是什么形式,对偶问题总是一个凸优化问题,因此对于难以解决的原始问题,我们都可以将它转化为对偶问题,通过优化对偶问题来得到原始问题的一个下界。
当完全满足 d = p d^*=p^* 时,称为强对偶性。在强对偶成立时,可以通过求解对偶问题来得到原始问题的解。若满足 Slater 条件KKT 条件

Slater 条件:

假设函数 f ( x ) f(x) g j ( x ) g_j(x) 是凸函数, h i ( x ) h_i(x) 是仿射函数;并且假设不等式约束 g j ( x ) g_j(x) 是严格可行的,即存在 x x 对所有 j j g j ( x ) < 0 g_j(x) < 0 ,则存在 x x^* α \alpha^* β \beta^* ,使 x x^* 是原始问题的解 α \alpha^* β \beta^* 是对偶问题的解,并且
p = d = L ( x , α , β ) p^*=d^*=\mathscr{L}(x^*, \alpha^*, \beta^*)

KKT条件:

假设函数 f ( x ) f(x) g j ( x ) g_j(x) 是凸函数, h i ( x ) h_i(x) 是仿射函数;并且假设不等式约束 g j ( x ) g_j(x) 是严格可行的,即存在 x x 对所有 j j g j ( x ) < 0 g_j(x) < 0 ,则 x x^* α \alpha^* β \beta^* 分别是原始问题和对偶问题的解的充分必要条件是 x x^* α \alpha^* β \beta^* 满足以下 KKT 条件
x L ( x , α , β ) = 0 β j g j ( x ) = 0 ,    i = 1 , 2 , 3 ,   , k g j ( x ) 0 ,    i = 1 , 2 , 3 ,   , k β j 0 ,    i = 1 , 2 , 3 ,   , m h i ( x ) = 0 ,    i = 1 , 2 , 3 ,   , m \nabla_x\mathscr{L}(x^*, \alpha^*, \beta^*) = 0\\ \beta_j^*g_j(x^*)=0,\; i= 1,2,3,\cdots,k\\ g_j(x^*) \leq0,\; i= 1,2,3,\cdots,k \\ \beta_j^*\geq0,\; i= 1,2,3,\cdots,m\\ h_i(x^*)=0,\; i= 1,2,3,\cdots,m

扫描二维码关注公众号,回复: 9824137 查看本文章

在 SVM 中,原始问题就是一个凸优化问题,Slater条件在 SVM 中表示线性可分,当数据不可分时,强对偶是不成立的,但是只需要加一个 kernel 就可以了。

发布了79 篇原创文章 · 获赞 56 · 访问量 50万+

猜你喜欢

转载自blog.csdn.net/qq_40861916/article/details/97162355