0


拉格朗日乘子法

  1. 周志华《机器学习》
  2. 如何理解拉格朗日乘子法?

1. 介绍

  1. 拉格朗日乘子法 (Lagrange multipliers)

是一种寻找多元函数在一组约束下的极值的方法。通过引入拉格朗日乘子,可将有

  1. d
  2. d
  3. d 个变量与
  4. k
  5. k
  6. k 个约束条件的最优化问题转化为具有
  7. d
  8. +
  9. k
  10. d + k
  11. d+k 个变量的无约束优化问题求解。

2. 相关知识

2.1 与原点的最短距离

假如有方程

  1. x
  2. 2
  3. y
  4. =
  5. 3
  6. x^2y=3
  7. x2y=3,它的图像如下(左一)所示。现在我们想求其上点与原点的最短距离(中图)。这里介绍一种解题思路。首先,与原点距离为
  8. a
  9. a
  10. a 的点全部在半径为
  11. a
  12. a
  13. a 的圆上(右一):


那么,我们逐渐扩大圆的半径(左一)。显然,第一次与

  1. x
  2. 2
  3. y
  4. =
  5. 3
  6. x^2y=3
  7. x2y=3 相交的点就是距离原点最近的点(中图),此时,圆和曲线相切,也就是在该点切线相同(右一):


至此,我们分析出了:在极值点,圆与曲线相切。

2.2 等高线/等值线

这里引入等高线的概念。这些同心圆(左一),可以看作函数

  1. f
  2. (
  3. x
  4. ,
  5. y
  6. )
  7. =
  8. x
  9. 2
  10. +
  11. y
  12. 2
  13. f(x,y)=x^2+y^2
  14. f(x,y)=x2+y2 (如广泛使用的二范数,普遍会被作为约束条件)的等高线(中图),根据梯度的性质,梯度向量:
  15. f
  16. =
  17. (
  18. f
  19. x
  20. f
  21. y
  22. )
  23. =
  24. (
  25. 2
  26. x
  27. 2
  28. y
  29. )
  30. \nabla f=\left(\begin{array}{l} \frac{\partial f}{\partial x} \\ \frac{\partial f}{\partial y} \end{array}\right)=\left(\begin{array}{l} 2 x \\ 2 y \end{array}\right)
  31. f=(∂xf​∂yf​​)=(2x2y​)

是等高线的法线(右一):

另外一个函数

  1. g
  2. (
  3. x
  4. ,
  5. y
  6. )
  7. =
  8. x
  9. 2
  10. y
  11. g(x,y)=x^2y
  12. g(x,y)=x2y 的等高线为左一,之前的曲线
  13. x
  14. 2
  15. y
  16. =
  17. 3
  18. x^2y=3
  19. x2y=3 就是其中值为
  20. 3
  21. 3
  22. 3 的等高线(中图),因此梯度向量:
  23. g
  24. =
  25. (
  26. g
  27. x
  28. g
  29. y
  30. )
  31. =
  32. (
  33. 2
  34. x
  35. y
  36. x
  37. 2
  38. )
  39. \nabla g=\left(\begin{array}{c} \frac{\partial g}{\partial x} \\ \frac{\partial g}{\partial y} \end{array}\right)=\left(\begin{array}{c} 2 x y \\ x^{2} \end{array}\right)
  40. g=(∂xg​∂yg​​)=(2xyx2​)

也垂直于等高线

  1. x
  2. 2
  3. y
  4. =
  5. 3
  6. x^2y=3
  7. x2y=3(右一):


梯度向量是等高线的法线,更准确地表述是:梯度与等高线的切线垂直。

2.3 小结

综上,得到两个结论:

  1. 在极值点,圆与曲线相切
  2. 梯度与等高线的切线垂直

综合可知,在相切点,圆的梯度向量和曲线的梯度向量平行。也就是梯度向量平行,用数学符号表示为

  1. f
  2. =
  3. λ
  4. g
  5. \nabla f=\lambda \nabla g
  6. f=λ∇g

在这里插入图片描述

3. 约束

在这里插入图片描述

3.1 等式约束

先考虑一个等式约束的优化问题:假定

  1. x
  2. \boldsymbol{x}
  3. x
  4. d
  5. d
  6. d 维向量,欲寻找
  7. x
  8. \boldsymbol{x}
  9. x 的某个取值
  10. x
  11. \boldsymbol{x}^*
  12. x∗,**使目标函数
  13. f
  14. (
  15. x
  16. )
  17. f(x)
  18. f(x) 最小且同时满足
  19. g
  20. (
  21. x
  22. )
  23. =
  24. 0
  25. g(x) = 0
  26. g(x)=0 的约束**。从几何角度看,该问题的目标是在由方程
  27. g
  28. (
  29. x
  30. )
  31. =
  32. 0
  33. g(x) = 0
  34. g(x)=0 确定的
  35. d
  36. 1
  37. d-1
  38. d1 维曲面上寻找能使目标函数
  39. f
  40. (
  41. x
  42. )
  43. f(x)
  44. f(x) 最小化的点此时不难得到如下结论:
  • 对于约束曲面上的任意点 x \boldsymbol{x} x , 该点的梯度 ∇ g ( x ) \nabla g(\boldsymbol{x}) ∇g(x) 正交于约束曲面(梯度与等高线切线垂直);
  • 在最优点 x ∗ \boldsymbol{x}^* x∗,目标函数在该点的梯度 ∇ f ( x ∗ ) \nabla f(\boldsymbol{x}^*) ∇f(x∗) 正交于约束曲面(若梯度 ∇ f ( x ∗ ) \nabla f(\boldsymbol{x}^*) ∇f(x∗) 与约束曲面不正交,则仍可在约束曲面上移动该点使函数值进一步下降)。

由此可知,在最优点

  1. x
  2. \boldsymbol{x}^*
  3. x∗,如附图B.1 所示,梯度
  4. g
  5. (
  6. x
  7. )
  8. \nabla g(\boldsymbol{x})
  9. g(x)
  10. f
  11. (
  12. x
  13. )
  14. \nabla f(\boldsymbol{x}^*)
  15. f(x∗) 的方向必相同或相反,即存在
  16. λ
  17. 0
  18. \lambda \neq 0
  19. λ=0 使得:
  20. f
  21. (
  22. x
  23. )
  24. +
  25. λ
  26. g
  27. (
  28. x
  29. )
  30. =
  31. 0
  32. \nabla f\left(\boldsymbol{x}^{*}\right)+\lambda \nabla g\left(\boldsymbol{x}^{*}\right)=0
  33. f(x∗)+λ∇g(x∗)=0
  34. λ
  35. \lambda
  36. λ 称为
  1. 拉格朗日乘子

(对等式约束,

  1. λ
  2. \lambda
  3. λ 可能为正也可能为负)。定义
  1. 拉格朗日函数

  1. L
  2. (
  3. x
  4. ,
  5. λ
  6. )
  7. =
  8. f
  9. (
  10. x
  11. )
  12. +
  13. λ
  14. g
  15. (
  16. x
  17. )
  18. L(\boldsymbol{x}, \lambda)=f(\boldsymbol{x})+\lambda g(\boldsymbol{x})
  19. L(x,λ)=f(x)+λg(x)

不难发现,将其对

  1. x
  2. \boldsymbol{x}
  3. x 的偏导数
  4. x
  5. L
  6. (
  7. x
  8. ,
  9. λ
  10. )
  11. \nabla_{\boldsymbol{x}} L(\boldsymbol{x}, \lambda)
  12. xL(x,λ) 置零(=0)即得式
  13. f
  14. (
  15. x
  16. )
  17. +
  18. λ
  19. g
  20. (
  21. x
  22. )
  23. =
  24. 0
  25. \nabla f\left(\boldsymbol{x}^{*}\right)+\lambda \nabla g\left(\boldsymbol{x}^{*}\right)=0
  26. f(x∗)+λ∇g(x∗)=0,同时,将其对 λ 的偏导数
  27. x
  28. L
  29. (
  30. x
  31. ,
  32. λ
  33. )
  34. \nabla_{\boldsymbol{x}} L(\boldsymbol{x}, \lambda)
  35. xL(x,λ) 置零即得约束条件
  36. g
  37. (
  38. x
  39. )
  40. =
  41. 0
  42. g(\boldsymbol{x}) = 0
  43. g(x)=0。于是,原约束优化问题可转化为对拉格朗日函数
  44. L
  45. (
  46. x
  47. ,
  48. λ
  49. )
  50. L(\boldsymbol{x}, \lambda)
  51. L(x,λ) 的无约束优化问题。

3.1.1 示例

这里继续使用第二节中的示例,这里引入

  1. x
  2. 2
  3. y
  4. =
  5. 3
  6. x^2y=3
  7. x2y=3 这个约束条件,否则那么多等高线,不知道是哪一根,即
  8. g
  9. (
  10. x
  11. )
  12. =
  13. x
  14. 2
  15. y
  16. 3
  17. g(x)=x^2y-3
  18. g(x)=x2y3,而
  19. f
  20. (
  21. x
  22. )
  23. =
  24. x
  25. 2
  26. +
  27. y
  28. 2
  29. f(x)=x^2+y^2
  30. f(x)=x2+y2,联立方程:
  31. {
  32. f
  33. =
  34. λ
  35. g
  36. x
  37. 2
  38. y
  39. =
  40. 3
  41. \left\{\begin{array}{l} \nabla f=\lambda \nabla g \\ x^{2} y=3 \end{array}\right.
  42. {∇f=λ∇gx2y=3

解得:

  1. {
  2. (
  3. 2
  4. x
  5. 2
  6. y
  7. )
  8. =
  9. λ
  10. (
  11. 2
  12. x
  13. y
  14. x
  15. 2
  16. )
  17. x
  18. 2
  19. y
  20. =
  21. 3
  22. {
  23. x
  24. ±
  25. 1.61
  26. y
  27. 1.1
  28. λ
  29. 0.87
  30. \left\{\begin{array} { l } { ( \begin{array} { l } { 2 x } \\ { 2 y } \end{array} ) = \lambda ( \begin{array} { c } { 2 x y } \\ { x ^ { 2 } } \end{array} ) } \\ { x ^ { 2 } y = 3 } \end{array} \Longrightarrow \left\{\begin{array}{l} x \approx \pm 1.61 \\ y \approx 1.1 \\ \lambda \approx 0.87 \end{array}\right.\right.
  31. ⎩⎨⎧​(2x2y​)=λ(2xyx2​)x2y=3​⟹⎩⎨⎧​x≈±1.61y1.1λ≈0.87

3.1.2 多个等式约束

将上面的示例添加一个约束条件,如

  1. x
  2. y
  3. 3
  4. =
  5. 0
  6. x-y-3=0
  7. xy3=0,则变为了求解:
  8. min
  9. x
  10. 2
  11. +
  12. y
  13. 2
  14. s.t.
  15. {
  16. x
  17. 2
  18. y
  19. 3
  20. =
  21. 0
  22. x
  23. y
  24. 3
  25. =
  26. 0
  27. \begin{array}{c} \min x^{2}+y^{2} \\ \text { s.t. }\left\{\begin{array}{l} x^{2} y-3=0 \\ x-y-3=0 \end{array}\right. \end{array}
  28. minx2+y2 s.t. {x2y3=0xy3=0​​

从图上看约束条件是(左一)这样的,而很显然所求的距离如(中间)图片所示。那这三者的法线又有什么关系呢?

  1. x
  2. 2
  3. +
  4. y
  5. 2
  6. x^2+y^2
  7. x2+y2 的法线是
  8. x
  9. 2
  10. y
  11. 3
  12. x^2y-3
  13. x2y3
  14. x
  15. y
  16. 3
  17. x-y-3
  18. xy3 的法线的线性组合(右一蓝色法线画的有点问题?):


假设:

  1. {
  2. f
  3. (
  4. x
  5. ,
  6. y
  7. )
  8. =
  9. x
  10. 2
  11. +
  12. y
  13. 2
  14. g
  15. 1
  16. (
  17. x
  18. ,
  19. y
  20. )
  21. =
  22. x
  23. 2
  24. y
  25. 3
  26. g
  27. 2
  28. (
  29. x
  30. ,
  31. y
  32. )
  33. =
  34. x
  35. y
  36. 3
  37. \left\{\begin{array}{l} f(x, y)=x^{2}+y^{2} \\ g_1(x, y)=x^{2} y-3 \\ g_2(x, y)=x-y-3 \end{array}\right.
  38. ⎩⎨⎧​f(x,y)=x2+y2g1​(x,y)=x2y3g2​(x,y)=xy3

那么线性组合就表示为:

  1. f
  2. =
  3. λ
  4. 1
  5. g
  6. 1
  7. +
  8. λ
  9. 2
  10. g
  11. 2
  12. \nabla f=\lambda_1 \nabla g_1+\lambda_2 \nabla g_2
  13. f1​∇g1​+λ2​∇g2

联立方程:

  1. {
  2. f
  3. =
  4. λ
  5. 1
  6. g
  7. 1
  8. +
  9. λ
  10. 2
  11. g
  12. 2
  13. g
  14. 1
  15. (
  16. x
  17. ,
  18. y
  19. )
  20. =
  21. 0
  22. g
  23. 2
  24. (
  25. x
  26. ,
  27. y
  28. )
  29. =
  30. 0
  31. \left\{\begin{array}{l} \nabla f=\lambda_1 \nabla g_1+\lambda_2 \nabla g_2 \\ g_1(x, y)=0 \\ g_2(x, y)=0 \end{array}\right.
  32. ⎩⎨⎧​∇f1​∇g1​+λ2​∇g2g1​(x,y)=0g2​(x,y)=0

即可求解。

3.2 不等式约束

现在考虑不等式约束

  1. g
  2. (
  3. x
  4. )
  5. 0
  6. g(\boldsymbol{x}) \leqslant 0
  7. g(x)⩽0,如附图B.1 所示,**此时最优点
  8. x
  9. \boldsymbol{x}^*
  10. x 或在
  11. g
  12. (
  13. x
  14. )
  15. <
  16. 0
  17. g(\boldsymbol{x}) < 0
  18. g(x)<0 的区域中,或在边界
  19. g
  20. (
  21. x
  22. )
  23. =
  24. 0
  25. g(\boldsymbol{x}) = 0
  26. g(x)=0 上**。
  1. 对于 g ( x ) < 0 g(\boldsymbol{x}) < 0 g(x)<0 的情形, 约束 g ( x ) ⩽ 0 g(\boldsymbol{x}) \leqslant 0 g(x)⩽0 不起作用,可直接通过条件 ∇ f ( x ) = 0 \nabla f(x)=0 ∇f(x)=0 来获得最优点;这等价于将 λ \lambda λ 置零然后对 ∇ x L ( x , λ ) \nabla_{\boldsymbol{x}} L(\boldsymbol{x}, \lambda) ∇x​L(x,λ) 置零得到最优点。
    1. g ( x ) = 0 g(x) = 0 g(x)=0 的情形类似于上面等式约束的分析,但需注意的是,**此时 f ( x ) \nabla f(\boldsymbol{x}^*) f(x∗) 的方向必与 g ( x ) \nabla g(\boldsymbol{x}^*) g(x∗) 相反(下面小节会说明原因),即存在常数 λ > 0 \lambda>0 λ>0 使得 f ( x ) + λ g ( x ) = 0 \nabla f\left(\boldsymbol{x}^{*}\right)+\lambda \nabla g\left(\boldsymbol{x}^{*}\right)=0 f(x∗)+λ∇g(x∗)=0**。

3.2.1 上述两种情况示例

我们要求以下同心圆的最小值:
在这里插入图片描述
那肯定就是原点了,半径为

  1. 0
  2. 0
  3. 0 能得到最小值。

3.2.1.1 情况一

我们给它添加一个不等式约束,也就是求:

  1. minimize
  2. f
  3. (
  4. x
  5. ,
  6. y
  7. )
  8. subject to
  9. h
  10. (
  11. x
  12. ,
  13. y
  14. )
  15. =
  16. x
  17. +
  18. y
  19. 1
  20. \begin{aligned} & \text{minimize} & & f(x,y) \\ & \text{subject to} & & h(x,y)=x+y \le 1 \end{aligned}
  21. minimizesubject to​​f(x,y)h(x,y)=x+y1

可以看到,这个不等式约束实际上包含了原点:
在这里插入图片描述
所以这个约束等于没有,依然求解:

  1. f
  2. =
  3. 0
  4.   
  5.   
  6. (
  7. x
  8. ,
  9. y
  10. )
  11. =
  12. (
  13. 0
  14. ,
  15. 0
  16. )
  17. \nabla f=0\implies (x,y)=(0,0)
  18. f=0⟹(x,y)=(0,0)

3.2.1.2 情况二

换一个不等式约束:

  1. minimize
  2. f
  3. (
  4. x
  5. ,
  6. y
  7. )
  8. subject to
  9. h
  10. (
  11. x
  12. ,
  13. y
  14. )
  15. =
  16. x
  17. +
  18. y
  19. 2
  20. \begin{aligned} & \text{minimize} & & f(x,y) \\ & \text{subject to} & & h(x,y)=x+y \le -2 \end{aligned}
  21. minimizesubject to​​f(x,y)h(x,y)=x+y≤−2

不等式约束看起来如左一这样。因为同心圆是凸函数的等高线,所以等高线的值是(中图)这么排列的,在不等式约束下,最小值是在边缘相切的地方取得。这里和用等式

  1. h
  2. (
  3. x
  4. ,
  5. y
  6. )
  7. =
  8. x
  9. +
  10. y
  11. =
  12. 2
  13. h(x,y)=x+y=-2
  14. h(x,y)=x+y=−2 进行约束效果是一样的:


因此还是可以通过解方程组求出答案:

  1. {
  2. f
  3. +
  4. μ
  5. h
  6. =
  7. 0
  8. h
  9. (
  10. x
  11. ,
  12. y
  13. )
  14. =
  15. x
  16. +
  17. y
  18. =
  19. 2
  20. \begin{cases} \nabla f+\mu\nabla h=0 \\ h(x,y)=x+y=-2 \end{cases}
  21. {∇f+μ∇h=0h(x,y)=x+y=−2

可以发现不等式实际上带来了新的条件:同心圆是凸函数的等高线,等高线的值如下排列,所以在相切处,法线也就是

  1. f
  2. \nabla f
  3. f 的方向如下(法线也就是梯度,指向增长最快的方向,也就是等高线的值变大的方向)。而凸函数
  4. h
  5. (
  6. x
  7. ,
  8. y
  9. )
  10. h(x,y)
  11. h(x,y) 的法线
  12. h
  13. \nabla h
  14. h 也一样指向
  15. h
  16. (
  17. x
  18. ,
  19. y
  20. )
  21. h(x,y)
  22. h(x,y) 增长的方向,这个方向正好和
  23. f
  24. \nabla f
  25. f 相反:

在这里插入图片描述
因此

  1. f
  2. +
  3. μ
  4. h
  5. =
  6. 0
  7. ,
  8. μ
  9. 0
  10. \nabla f+\mu\nabla h=0,\mu \ge 0
  11. f+μ∇h=0,μ≥0 其中,
  12. μ
  13. 0
  14. \mu \ge 0
  15. μ≥0 就表明
  16. f
  17. \nabla f
  18. f
  19. h
  20. \nabla h
  21. h 方向相反。

因此刚才的方程组可以再增加一个条件:

  1. {
  2. f
  3. +
  4. μ
  5. h
  6. =
  7. 0
  8. h
  9. (
  10. x
  11. ,
  12. y
  13. )
  14. =
  15. x
  16. +
  17. y
  18. =
  19. 2
  20. μ
  21. 0
  22. \begin{cases} \nabla f+\mu\nabla h=0 \\ h(x,y)=x+y=-2 \\ \mu \ge 0 \end{cases}
  23. ⎩⎨⎧​∇f+μ∇h=0h(x,y)=x+y=−2μ≥0

整合上面两种情形,必满足

  1. λ
  2. g
  3. (
  4. x
  5. )
  6. =
  7. 0
  8. \lambda g(\boldsymbol{x})=0
  9. λg(x)=0。因此,在约束
  10. g
  11. (
  12. x
  13. )
  14. 0
  15. g(\boldsymbol{x}) \leqslant 0
  16. g(x)⩽0 下最小化
  17. f
  18. (
  19. x
  20. )
  21. f(\boldsymbol{x})
  22. f(x) ,**可转化为在如下约束下**最小化式
  23. L
  24. (
  25. x
  26. ,
  27. λ
  28. )
  29. =
  30. f
  31. (
  32. x
  33. )
  34. +
  35. λ
  36. g
  37. (
  38. x
  39. )
  40. L(\boldsymbol{x}, \lambda)=f(\boldsymbol{x})+\lambda g(\boldsymbol{x})
  41. L(x,λ)=f(x)+λg(x) 的拉格朗日函数:
  42. {
  43. g
  44. (
  45. x
  46. )
  47. 0
  48. ;
  49. λ
  50. 0
  51. ;
  52. λ
  53. j
  54. g
  55. j
  56. (
  57. x
  58. )
  59. =
  60. 0.
  61. \left\{\begin{array}{l} g(\boldsymbol{x}) \leqslant 0 ; \\ \lambda \geqslant 0 ; \\ \lambda_{j} g_{j}(\boldsymbol{x})=0 . \end{array}\right.
  62. ⎩⎨⎧​g(x)⩽0;λ⩾0jgj​(x)=0.

该式被称为

  1. Karush-Kuhn-Tucker(KKT)条件

3.2.2 多个约束

上述做法可推广到多个约束。考虑具有

  1. m
  2. m
  3. m 个**等式约束**和
  4. n
  5. n
  6. n 个**不等式约束**,且可行域
  7. D
  8. R
  9. d
  10. \mathbb{D} \subset \mathbb{R}^{d}
  11. DRd 非空的优化问题:

Eq.1:

  1. min
  2. x
  3. f
  4. (
  5. x
  6. )
  7. s.t.
  8. h
  9. i
  10. (
  11. x
  12. )
  13. =
  14. 0
  15. (
  16. i
  17. =
  18. 1
  19. ,
  20. ,
  21. m
  22. )
  23. ,
  24. g
  25. j
  26. (
  27. x
  28. )
  29. 0
  30. (
  31. j
  32. =
  33. 1
  34. ,
  35. ,
  36. n
  37. )
  38. .
  39. \begin{array}{ll} \min _{\boldsymbol{x}} & f(\boldsymbol{x}) \\ \text { s.t. } & h_{i}(\boldsymbol{x})=0 \quad(i=1, \ldots, m), \\ & g_{j}(\boldsymbol{x}) \leqslant 0 \quad(j=1, \ldots, n) . \end{array}
  40. minx s.t. f(x)hi​(x)=0(i=1,…,m),gj​(x)⩽0(j=1,…,n).​

引入拉格朗日乘子

  1. λ
  2. =
  3. (
  4. λ
  5. 1
  6. ,
  7. λ
  8. 2
  9. ,
  10. ,
  11. λ
  12. m
  13. )
  14. T
  15. \boldsymbol{\lambda}=\left(\lambda_{1}, \lambda_{2}, \ldots, \lambda_{m}\right)^{\mathrm{T}}
  16. λ=(λ1​,λ2​,…,λm​)T
  17. μ
  18. =
  19. (
  20. μ
  21. 1
  22. ,
  23. μ
  24. 2
  25. ,
  26. ,
  27. μ
  28. n
  29. )
  30. T
  31. \boldsymbol{\mu}=\left(\mu_{1}, \mu_{2}, \ldots, \mu_{n}\right)^{\mathrm{T}}
  32. μ=(μ1​,μ2​,…,μn​)T,相应的拉格朗日函数为:

Eq.2:

  1. L
  2. (
  3. x
  4. ,
  5. λ
  6. ,
  7. μ
  8. )
  9. =
  10. f
  11. (
  12. x
  13. )
  14. +
  15. i
  16. =
  17. 1
  18. m
  19. λ
  20. i
  21. h
  22. i
  23. (
  24. x
  25. )
  26. +
  27. j
  28. =
  29. 1
  30. n
  31. μ
  32. j
  33. g
  34. j
  35. (
  36. x
  37. )
  38. L(\boldsymbol{x}, \boldsymbol{\lambda}, \boldsymbol{\mu})=f(\boldsymbol{x})+\sum_{i=1}^{m} \lambda_{i} h_{i}(\boldsymbol{x})+\sum_{j=1}^{n} \mu_{j} g_{j}(\boldsymbol{x})
  39. L(x,λ,μ)=f(x)+i=1m​λihi​(x)+j=1n​μjgj​(x)

由不等式约束引入的

  1. KKT 条件

(

  1. j
  2. =
  3. 1
  4. ,
  5. 2
  6. ,
  7. .
  8. .
  9. .
  10. ,
  11. n
  12. j=1,2,...,n
  13. j=1,2,...,n)为:
  14. {
  15. f
  16. +
  17. i
  18. =
  19. 1
  20. m
  21. λ
  22. i
  23. h
  24. i
  25. (
  26. x
  27. )
  28. +
  29. j
  30. =
  31. 1
  32. n
  33. μ
  34. j
  35. g
  36. j
  37. (
  38. x
  39. )
  40. =
  41. 0
  42. h
  43. i
  44. (
  45. x
  46. )
  47. =
  48. 0
  49. ,
  50. i
  51. =
  52. 1
  53. ,
  54. 2
  55. ,
  56. .
  57. .
  58. .
  59. ,
  60. m
  61. g
  62. j
  63. (
  64. x
  65. )
  66. 0
  67. ,
  68. j
  69. =
  70. 1
  71. ,
  72. 2
  73. ,
  74. .
  75. .
  76. .
  77. ,
  78. n
  79. μ
  80. j
  81. 0
  82. μ
  83. j
  84. g
  85. j
  86. (
  87. x
  88. )
  89. =
  90. 0.
  91. \left\{\begin{array}{l} \nabla f+ \sum_{i=1}^{m} \lambda_{i} \nabla h_{i}(\boldsymbol{x})+\sum_{j=1}^{n} \mu_{j} \nabla g_{j}(\boldsymbol{x}) =0\\ h_{i}(\boldsymbol{x}) = 0, i=1,2,...,m \\ g_{j}(\boldsymbol{x}) \leqslant 0, j=1,2,...,n \\ \mu_{j} \geqslant 0 \\ \mu_{j} g_{j}(\boldsymbol{x})=0 . \end{array}\right.
  92. ⎩⎨⎧​∇f+∑i=1m​λi​∇hi​(x)+∑j=1n​μj​∇gj​(x)=0hi​(x)=0,i=1,2,...,mgj​(x)⩽0,j=1,2,...,nμj​⩾0μjgj​(x)=0.

一个优化问题可以从两个角度来考察,即

  1. 主问题(primal problem)

  1. 对偶问题(dual proble)

。对主问题 Eq.1,基于式 Eq.2,其拉格朗日

  1. 对偶函数(dual function)
  1. Γ
  2. :
  3. R
  4. m
  5. ×
  6. R
  7. n
  8. R
  9. \Gamma: \mathbb{R}^{m} \times \mathbb{R}^{n} \mapsto \mathbb{R}
  10. Γ:Rm×RnR 定义为:
  11. Γ
  12. (
  13. λ
  14. ,
  15. μ
  16. )
  17. =
  18. inf
  19. x
  20. D
  21. L
  22. (
  23. x
  24. ,
  25. λ
  26. ,
  27. μ
  28. )
  29. =
  30. inf
  31. x
  32. D
  33. (
  34. f
  35. (
  36. x
  37. )
  38. +
  39. i
  40. =
  41. 1
  42. m
  43. λ
  44. i
  45. h
  46. i
  47. (
  48. x
  49. )
  50. +
  51. j
  52. =
  53. 1
  54. n
  55. μ
  56. j
  57. g
  58. j
  59. (
  60. x
  61. )
  62. )
  63. \begin{aligned} \Gamma(\boldsymbol{\lambda}, \boldsymbol{\mu}) &=\inf _{\boldsymbol{x} \in \mathbb{D}} L(\boldsymbol{x}, \boldsymbol{\lambda}, \boldsymbol{\mu}) \\ &=\inf _{\boldsymbol{x} \in \mathbb{D}}\left(f(\boldsymbol{x})+\sum_{i=1}^{m} \lambda_{i} h_{i}(\boldsymbol{x})+\sum_{j=1}^{n} \mu_{j} g_{j}(\boldsymbol{x})\right) \end{aligned}
  64. Γ(λ,μ)​=xDinfL(x,λ,μ)=xDinf​(f(x)+i=1m​λihi​(x)+j=1n​μjgj​(x))​

在推导对偶问题时,常通过将拉格朗日乘子

  1. L
  2. (
  3. x
  4. ,
  5. λ
  6. ,
  7. μ
  8. )
  9. L(\boldsymbol{x}, \boldsymbol{\lambda}, \boldsymbol{\mu})
  10. L(x,λ,μ)
  11. x
  12. \boldsymbol{x}
  13. x 求导并令导数为
  14. 0
  15. 0
  16. 0,来获得对偶函数的表达形式(是不是可以理解成,主问题是不带
  17. λ
  18. \lambda
  19. λ
  20. μ
  21. \mu
  22. μ 的,将主问题转换成带拉格朗日乘子的对偶问题,以方便求解)。

  1. x
  2. ~
  3. D
  4. \tilde{\boldsymbol{x}} \in \mathbb{D}
  5. x~∈D 为主问题 Eq.1 可行域中的点,则对任意
  6. μ
  7. 0
  8. \boldsymbol{\mu} \succeq 0
  9. μ⪰0 (
  10. μ
  11. 0
  12. \boldsymbol{\mu} \succeq 0
  13. μ⪰0 表示
  14. μ
  15. \boldsymbol{\mu}
  16. μ 的分量均为非负)和
  17. λ
  18. \boldsymbol{\lambda}
  19. λ 都有:
  20. i
  21. =
  22. 1
  23. m
  24. λ
  25. i
  26. h
  27. i
  28. (
  29. x
  30. )
  31. +
  32. j
  33. =
  34. 1
  35. n
  36. μ
  37. j
  38. g
  39. j
  40. (
  41. x
  42. )
  43. 0
  44. \sum_{i=1}^{m} \lambda_{i} h_{i}(\boldsymbol{x})+\sum_{j=1}^{n} \mu_{j} g_{j}(\boldsymbol{x}) \leqslant 0
  45. i=1m​λihi​(x)+j=1n​μjgj​(x)⩽0

进而有:

  1. Γ
  2. (
  3. λ
  4. ,
  5. μ
  6. )
  7. =
  8. inf
  9. x
  10. D
  11. L
  12. (
  13. x
  14. ,
  15. λ
  16. ,
  17. μ
  18. )
  19. L
  20. (
  21. x
  22. ~
  23. ,
  24. λ
  25. ,
  26. μ
  27. )
  28. f
  29. (
  30. x
  31. ~
  32. )
  33. .
  34. \Gamma(\boldsymbol{\lambda}, \boldsymbol{\mu})=\inf _{\boldsymbol{x} \in \mathbb{D}} L(\boldsymbol{x}, \boldsymbol{\lambda}, \boldsymbol{\mu}) \leqslant L(\tilde{\boldsymbol{x}}, \boldsymbol{\lambda}, \boldsymbol{\mu}) \leqslant f(\tilde{\boldsymbol{x}}) .
  35. Γ(λ,μ)=xDinfL(x,λ,μ)⩽L(x~,λ,μ)⩽f(x~).

若主问题 Eq.1 的最优值为

  1. p
  2. p^{*}
  3. p∗, 则对任意
  4. μ
  5. 0
  6. \boldsymbol{\mu} \succeq 0
  7. μ⪰0
  8. λ
  9. \boldsymbol{\lambda}
  10. λ 都有
  11. Γ
  12. (
  13. λ
  14. ,
  15. μ
  16. )
  17. p
  18. ,
  19. \Gamma(\boldsymbol{\lambda}, \boldsymbol{\mu}) \leqslant p^{*},
  20. Γ(λ,μ)⩽p∗,

即对偶函数给出了主问题最优值的下界(

  1. inf
  2. \inf
  3. inf).显然,这个下界取决于
  4. μ
  5. \boldsymbol{\mu}
  6. μ
  7. λ
  8. \boldsymbol{\lambda}
  9. λ 的值。于是,一个很自然的问题是:基于对偶函数能获得的最好下界是什么?这就引出了优化问题:

Eq.3:

  1. max
  2. λ
  3. ,
  4. μ
  5. Γ
  6. (
  7. λ
  8. ,
  9. μ
  10. )
  11. s.t.
  12. μ
  13. 0
  14. \max _{\boldsymbol{\lambda}, \boldsymbol{\mu}} \Gamma(\boldsymbol{\lambda}, \boldsymbol{\mu}) \text { s.t. } \boldsymbol{\mu} \succeq 0
  15. λ,μmax​Γ(λ,μ) s.t. μ⪰0

Eq.3 就是主问题 Eq.1 的对偶问题,其中

  1. λ
  2. \boldsymbol{\lambda}
  3. λ
  4. μ
  5. \boldsymbol{\mu}
  6. μ 称为
  1. 对偶变量(dual variable)

。无论主问题 Eq.1 的凸性如何,对偶问题 Eq.3 始终是凸优化问题。

考虑式 Eq.3 的最优值

  1. d
  2. d^{*}
  3. d∗, 显然有
  4. d
  5. p
  6. d^{*} \leqslant p^{*}
  7. d∗⩽p∗, 这称为
  1. 弱对偶性(weak duality)

成立;若

  1. d
  2. =
  3. p
  4. d^{*}=p^{*}
  5. d∗=p∗,则称为
  1. 强对偶性(strong duality)

成立,此时由对偶问题能获得主问题的最优下界。Eq.1。但是,若主问题为凸优化问题,如式 Eq.1 中

  1. f
  2. (
  3. x
  4. )
  5. f(\boldsymbol{x})
  6. f(x)
  7. g
  8. j
  9. (
  10. x
  11. )
  12. g_{j}(\boldsymbol{x})
  13. gj​(x) 均为凸函数,
  14. h
  15. i
  16. (
  17. x
  18. )
  19. h_{i}(\boldsymbol{x})
  20. hi​(x) 为仿射函数,且其可行域中至少有一点使不等式约束严格成立,**则此时强对偶性成立**。值得注意的是,在强对偶性成立时,将拉格朗日函数分别对原变量和对偶变量求导,再并令导数等于零,即可得到原变量与对偶变量的数值关系。于是,对偶问题解决了,主问题也就解决了。

本文转载自: https://blog.csdn.net/qq_28087491/article/details/126134823
版权归原作者 泠山 所有, 如有侵权,请联系我们删除。

“拉格朗日乘子法”的评论:

还没有评论