拉格朗日乘子法明白

打印 上一主题 下一主题

主题 1659|帖子 1659|积分 4977

拉格朗日乘子法详解



1. 根本头脑

拉格朗日乘子法(Lagrange Multipliers)是求解带约束优化问题的焦点工具,通过引入乘子将约束条件融入目标函数,从而将约束问题转化为无约束优化问题。

2. 等式约束优化问题

问题形式

                                                                min                                  ⁡                                          x                                      f                            (                            x                            )                                     s.t.                                     g                            (                            x                            )                            =                            0                                  \min_{x} f(x) \quad \text{s.t.} \quad g(x) = 0                     xmin​f(x)s.t.g(x)=0
拉格朗日函数

                                         L                            (                            x                            ,                            λ                            )                            =                            f                            (                            x                            )                            +                            λ                            g                            (                            x                            )                                  \mathcal{L}(x, \lambda) = f(x) + \lambda g(x)                     L(x,λ)=f(x)+λg(x)
直观明白



  • 多少意义:在可行域                                        g                            (                            x                            )                            =                            0                                  g(x)=0                     g(x)=0上,目标函数                                        f                            (                            x                            )                                  f(x)                     f(x)的极值点处,其梯度                                        ∇                            f                                  \nabla f                     ∇f与约束梯度                                        ∇                            g                                  \nabla g                     ∇g共线
  • 物理意义:拉格朗日乘子                                        λ                                  \lambda                     λ可视为约束力的强度,平衡目标函数与约束条件。
求解条件

                                         {                                                                                                             ∇                                              x                                                          L                                           =                                           ∇                                           f                                           +                                           λ                                           ∇                                           g                                           =                                           0                                                                                                                                       g                                           (                                           x                                           )                                           =                                           0                                                                                              \begin{cases} \nabla_x \mathcal{L} = \nabla f + \lambda \nabla g = 0 \\ g(x) = 0 \end{cases}                     {∇x​L=∇f+λ∇g=0g(x)=0​

3. 不等式约束优化问题

问题形式

                                                                min                                  ⁡                                          x                                      f                            (                            x                            )                                     s.t.                                     h                            (                            x                            )                            ≤                            0                                  \min_{x} f(x) \quad \text{s.t.} \quad h(x) \leq 0                     xmin​f(x)s.t.h(x)≤0
拉格朗日函数与KKT条件

引入乘子                                   μ                         ≥                         0                              \mu \geq 0                  μ≥0,定义:
                                         L                            (                            x                            ,                            μ                            )                            =                            f                            (                            x                            )                            +                            μ                            h                            (                            x                            )                                  \mathcal{L}(x, \mu) = f(x) + \mu h(x)                     L(x,μ)=f(x)+μh(x)
KKT条件(最优解的必要条件):

  • 原始可行性:                                        h                            (                            x                            )                            ≤                            0                                  h(x) \leq 0                     h(x)≤0,硬性约束:全部候选解必须满意,

    • 若最优解在                                                   h                                  (                                  x                                  )                                  <                                  0                                          h(x) < 0                           h(x)<0(约束不活跃),则问题退化为无约束优化。
    • 若最优解在                                                   h                                  (                                  x                                  )                                  =                                  0                                          h(x) = 0                           h(x)=0(约束活跃),则需通过梯度条件处理约束。

  • 对偶可行性:                                        μ                            ≥                            0                                  \mu \geq 0                     μ≥0,假如                                        μ                            >                            0                                  \mu>0                     μ>0,最优解落在边界,假如                                        μ                            =                            0                                  \mu=0                     μ=0,最优解落在                                        h                            (                            x                            )                            <                            0                                  h(x)<0                     h(x)<0的区域

    •                                                   μ                                  ≥                                  0                                          \mu \geq 0                           μ≥0 的符号约束确保了拉格朗日函数在约束违反时施加惩罚(而非夸奖)。
    • 当                                                   μ                                  >                                  0                                          \mu > 0                           μ>0,约束活跃(                                                  h                                  (                                  x                                  )                                  =                                  0                                          h(x) = 0                           h(x)=0);
    • 当                                                   μ                                  =                                  0                                          \mu = 0                           μ=0,约束不活跃(                                                  h                                  (                                  x                                  )                                  <                                  0                                          h(x) < 0                           h(x)<0)。

  • 互补松懈:                                        μ                            h                            (                            x                            )                            =                            0                                  \mu h(x) = 0                     μh(x)=0,要么                                        μ                            =                            0                                  \mu=0                     μ=0,无约束,要么                                        μ                            >                            0                                  \mu>0                     μ>0,最优解在边界

    •                                                   μ                                  >                                  0                                          \mu > 0                           μ>0 时,约束必须严酷满意边界(                                                  h                                  (                                  x                                  )                                  =                                  0                                          h(x) = 0                           h(x)=0),否则惩罚项不消散。
    •                                                   μ                                  =                                  0                                          \mu = 0                           μ=0 时,约束不起作用,解在可行域内部。

  • 梯度条件:                                        ∇                            f                            +                            μ                            ∇                            h                            =                            0                                  \nabla f + \mu \nabla h = 0                     ∇f+μ∇h=0,                                        μ                            =                            0                                  \mu=0                     μ=0无约束,最优解满意                                        ∇                            f                            =                            0                                  \nabla f=0                     ∇f=0,                                        μ                            >                            0                                  \mu>0                     μ>0有约束,最优解在边界,                                        ∇                            f                                  \nabla f                     ∇f和                                        ∇                            h                                  \nabla h                     ∇h共线且梯度方向相反,互相拉扯,在边界达到平衡稳定下来。

    • 在约束边界处,目标函数的优化方向(                                                  ∇                                  f                                          \nabla f                           ∇f)被约束的梯度(                                                  ∇                                  h                                          \nabla h                           ∇h)限定。
    • 拉格朗日乘子                                                   μ                                          \mu                           μ 表现目标函数与约束之间的“权衡权重”。

直观明白



  • 若约束不起作用(                                        h                            (                            x                            )                            <                            0                                  h(x) < 0                     h(x)<0),则                                        μ                            =                            0                                  \mu = 0                     μ=0,问题退化为无约束优化。
  • 若约束起作用(                                        h                            (                            x                            )                            =                            0                                  h(x) = 0                     h(x)=0),则按等式约束处理,且                                        μ                            >                            0                                  \mu > 0                     μ>0。

4. Min-Max问题与对偶性

4.1. 问题配景

考虑以下不等式约束优化问题:
                                                                min                                  ⁡                                          x                                      f                            (                            x                            )                                     s.t.                                     h                            (                            x                            )                            ≤                            0                                  \min_x f(x) \quad \text{s.t.} \quad h(x) \leq 0                     xmin​f(x)s.t.h(x)≤0
我们引入拉格朗日乘子                                    μ                         ≥                         0                              \mu \geq 0                  μ≥0,构造拉格朗日函数:
                                         L                            (                            x                            ,                            μ                            )                            =                            f                            (                            x                            )                            +                            μ                            h                            (                            x                            )                                  \mathcal{L}(x, \mu) = f(x) + \mu h(x)                     L(x,μ)=f(x)+μh(x)
原始问题转化为 Min-Max 优化
                                                                min                                  ⁡                                          x                                                             max                                  ⁡                                                      μ                                  ≥                                  0                                                 L                            (                            x                            ,                            μ                            )                                  \min_x \max_{\mu \geq 0} \mathcal{L}(x, \mu)                     xmin​μ≥0max​L(x,μ)

4.2. 直观明白内层                                                                max                                  ⁡                                                      μ                                  ≥                                  0                                                       \max_{\mu \geq 0}                     maxμ≥0​ 的作用

目标函数分析



  • 当约束被违反(                                                  h                                  (                                  x                                  )                                  >                                  0                                          h(x) > 0                           h(x)>0)

    • 内层                                                                              max                                        ⁡                                                                μ                                        ≥                                        0                                                           L                                  (                                  x                                  ,                                  μ                                  )                                          \max_{\mu \geq 0} \mathcal{L}(x, \mu)                           maxμ≥0​L(x,μ) 会选择尽大概大的                                                   μ                                          \mu                           μ(由于                                                   μ                                  h                                  (                                  x                                  )                                          \mu h(x)                           μh(x) 是正项),导致                                                   L                                          \mathcal{L}                           L 的值显著增大。
    • 惩罚机制:此时                                                   L                                          \mathcal{L}                           L 的值宏大于                                                   f                                  (                                  x                                  )                                          f(x)                           f(x),迫使外层的                                                                              min                                        ⁡                                                  x                                                      \min_x                           minx​ 选择满意约束的                                                   x                                          x                           x(可以从梯度明白)。
    • 类似深度模子中的正则项,

      • 区别:

        • 深度模子正则项的惩罚系数是超参数,是固定的
        • 拉格朗日乘子法惩罚系数                                                                      μ                                                          \mu                                       μ是不固定的
        • 深度模子正则项提供的惩罚是有限的,超参数一样平常较小时即使违反也不会有很大影响
        • 拉格朗日乘子法一但违反约束,内层                                                                      m                                              a                                                               x                                                 μ                                                                          max_\mu                                       maxμ​会将正则项推到无穷大,迫使                                                                      x                                                          x                                       x不能违反约束

      • 相同点

        • 深度模子和拉格朗日约束都可以明白为正则项,只是正则项的惩罚系数差异
        • 拉格朗日乘子法可以等同于深度模子正则项系数=                                                                      ∞                                                          \infty                                       ∞



  • 当约束满意(                                                  h                                  (                                  x                                  )                                  ≤                                  0                                          h(x) \leq 0                           h(x)≤0)

    •                                                   μ                                  h                                  (                                  x                                  )                                  ≤                                  0                                          \mu h(x) \leq 0                           μh(x)≤0,内层                                                                              max                                        ⁡                                                                μ                                        ≥                                        0                                                                   \max_{\mu \geq 0}                           maxμ≥0​ 会选择                                                   μ                                  =                                  0                                          \mu = 0                           μ=0,此时                                                   L                                  (                                  x                                  ,                                  0                                  )                                  =                                  f                                  (                                  x                                  )                                          \mathcal{L}(x, 0) = f(x)                           L(x,0)=f(x)。
    • 无惩罚:优化退化为原始目标函数                                                   f                                  (                                  x                                  )                                          f(x)                           f(x)。


4.3. 通过示例明白惩罚机制

示例问题

                                                                min                                  ⁡                                          x                                                 x                               2                                               s.t.                                     x                            ≥                            1                                     (                            ⇔                            h                            (                            x                            )                            =                            1                            −                            x                            ≤                            0                            )                                  \min_x x^2 \quad \text{s.t.} \quad x \geq 1 \quad (\Leftrightarrow h(x) = 1 - x \leq 0)                     xmin​x2s.t.x≥1(⇔h(x)=1−x≤0)
拉格朗日函数为:
                                         L                            (                            x                            ,                            μ                            )                            =                                       x                               2                                      +                            μ                            (                            1                            −                            x                            )                                  \mathcal{L}(x, \mu) = x^2 + \mu (1 - x)                     L(x,μ)=x2+μ(1−x)
分情况讨论

(1) 当                                         x                            <                            1                                  x < 1                     x<1(约束被违反)



  •                                         h                            (                            x                            )                            =                            1                            −                            x                            >                            0                                  h(x) = 1 - x > 0                     h(x)=1−x>0,此时内层                                                                max                                  ⁡                                                      μ                                  ≥                                  0                                                 L                                  \max_{\mu \geq 0} \mathcal{L}                     maxμ≥0​L 会最大化                                         μ                            (                            1                            −                            x                            )                                  \mu (1 - x)                     μ(1−x)。
  • 由于                                         μ                            ≥                            0                                  \mu \geq 0                     μ≥0 且                                         (                            1                            −                            x                            )                            >                            0                                  (1 - x) > 0                     (1−x)>0,                                        μ                                  \mu                     μ 趋于无穷大时                                         L                                  \mathcal{L}                     L 也趋于无穷大。
  • 实际意义:外层                                                                min                                  ⁡                                          x                                            \min_x                     minx​ 必须避免选择                                         x                            <                            1                                  x < 1                     x<1,否则目标函数会被惩罚到无穷大。
(2) 当                                         x                            ≥                            1                                  x \geq 1                     x≥1(约束满意)



  •                                         h                            (                            x                            )                            =                            1                            −                            x                            ≤                            0                                  h(x) = 1 - x \leq 0                     h(x)=1−x≤0,此时                                         μ                            (                            1                            −                            x                            )                            ≤                            0                                  \mu (1 - x) \leq 0                     μ(1−x)≤0。
  • 内层                                                                max                                  ⁡                                                      μ                                  ≥                                  0                                                       \max_{\mu \geq 0}                     maxμ≥0​ 在                                         μ                            =                            0                                  \mu = 0                     μ=0 时取得最大值                                         L                            (                            x                            ,                            0                            )                            =                                       x                               2                                            \mathcal{L}(x, 0) = x^2                     L(x,0)=x2。
  • 实际意义:优化退化为无约束问题                                                                min                                  ⁡                                          x                                                 x                               2                                            \min_x x^2                     minx​x2,但                                         x                            ≥                            1                                  x \geq 1                     x≥1 的解为                                         x                            =                            1                                  x=1                     x=1。
(3) 边界情况                                         x                            =                            1                                  x = 1                     x=1



  •                                         L                            (                            1                            ,                            μ                            )                            =                            1                            +                            μ                            (                            1                            −                            1                            )                            =                            1                                  \mathcal{L}(1, \mu) = 1 + \mu (1 - 1) = 1                     L(1,μ)=1+μ(1−1)=1,与                                         μ                                  \mu                     μ 无关。
  • 此时                                         μ                                  \mu                     μ 的取值不影响效果,但需满意互补松懈条件                                         μ                            h                            (                            x                            )                            =                            0                                  \mu h(x) = 0                     μh(x)=0。

4.4. Min-Max 的多少解释

原始问题 vs. Min-Max 形式



  • 原始问题:在可行域                                         h                            (                            x                            )                            ≤                            0                                  h(x) \leq 0                     h(x)≤0 内最小化                                         f                            (                            x                            )                                  f(x)                     f(x)。
  • Min-Max 形式:通过内层                                         max                            ⁡                                  \max                     max 引入一个“自适应惩罚项”,将约束违反的情况的代价推向无穷大,迫使外层                                         min                            ⁡                                  \min                     min 落在可行域内。
拉格朗日函数的等高线



  • 当                                         h                            (                            x                            )                            >                            0                                  h(x) > 0                     h(x)>0,惩罚项                                         μ                            h                            (                            x                            )                                  \mu h(x)                     μh(x) 随                                         μ                                  \mu                     μ 增大而升高,形成陡峭的“壁垒”。惩罚项的梯度为                                        μ                                       ∇                               x                                      h                            (                            x                            )                                  \mu\nabla_xh(x)                     μ∇x​h(x),原问题的梯度为                                                   ∇                               x                                      f                            (                            x                            )                                  \nabla_xf(x)                     ∇x​f(x),假如                                        x                                  x                     x变大的方向会违反约束,那么                                        x                                  x                     x变大的方向梯度会远远盖过                                        f                            (                            x                            )                                  f(x)                     f(x)的梯度(由于                                        μ                            →                            ∞                                  \mu\to\infty                     μ→∞),迫使                                        x                                  x                     x不在继承变大,在边界处两方梯度之和为0稳定下来。
  • 当                                         h                            (                            x                            )                            ≤                            0                                  h(x) \leq 0                     h(x)≤0,惩罚项消散,优化沿                                         f                            (                            x                            )                                  f(x)                     f(x) 的梯度方向进行。

4.5. 对偶问题的意义

将 Min-Max 次序交换,得到对偶问题:
                                                                max                                  ⁡                                                      μ                                  ≥                                  0                                                                        min                                  ⁡                                          x                                      L                            (                            x                            ,                            μ                            )                                  \max_{\mu \geq 0} \min_x \mathcal{L}(x, \mu)                     μ≥0max​xmin​L(x,μ)


  • 对偶函数:                                        g                            (                            μ                            )                            =                                                   min                                  ⁡                                          x                                      L                            (                            x                            ,                            μ                            )                                  g(\mu) = \min_x \mathcal{L}(x, \mu)                     g(μ)=minx​L(x,μ)。
  • 强对偶性:在凸优化问题中,原始问题与对偶问题的最优值相等。
示例中的对偶问题

                                         g                            (                            μ                            )                            =                                                   min                                  ⁡                                          x                                                 [                                           x                                  2                                          +                               μ                               (                               1                               −                               x                               )                               ]                                            g(\mu) = \min_x \left[ x^2 + \mu (1 - x) \right]                     g(μ)=xmin​[x2+μ(1−x)]
对                                    x                              x                  x 求导得:
                                         2                            x                            −                            μ                            =                            0                                     ⇒                                                x                               ∗                                      =                                       μ                               2                                            2x - \mu = 0 \quad \Rightarrow \quad x^* = \frac{\mu}{2}                     2x−μ=0⇒x∗=2μ​
代入                                    g                         (                         μ                         )                              g(\mu)                  g(μ):
                                         g                            (                            μ                            )                            =                                                   (                                               μ                                     2                                              )                                          2                                      +                            μ                                       (                               1                               −                                           μ                                  2                                          )                                      =                            μ                            −                                                   μ                                  2                                          4                                            g(\mu) = \left( \frac{\mu}{2} \right)^2 + \mu \left( 1 - \frac{\mu}{2} \right) = \mu - \frac{\mu^2}{4}                     g(μ)=(2μ​)2+μ(1−2μ​)=μ−4μ2​
最大化                                    g                         (                         μ                         )                              g(\mu)                  g(μ) 得                                              μ                            ∗                                  =                         2                              \mu^* = 2                  μ∗=2,对应                                              x                            ∗                                  =                         1                              x^* = 1                  x∗=1,与原始问题一致。
4.6. 对偶问题的意义



  • 内层                                                                       max                                     ⁡                                                           μ                                     ≥                                     0                                                             \max_{\mu \geq 0}                        maxμ≥0​ 的惩罚机制:通过放大违反约束的代价,迫使优化落在可行域内。
  • Min-Max 形式的等价性:在凸问题中,Min-Max 与原始问题等价,且对偶问题提供了另一种求解视角。

5. 差异约束范例的处理总结

约束范例拉格朗日函数关键条件等式约束                                                  f                                  (                                  x                                  )                                  +                                  λ                                  g                                  (                                  x                                  )                                          f(x) + \lambda g(x)                           f(x)+λg(x)                                                  ∇                                  f                                  =                                  −                                  λ                                  ∇                                  g                                          \nabla f = -\lambda \nabla g                           ∇f=−λ∇g不等式约束                                                  f                                  (                                  x                                  )                                  +                                  μ                                  h                                  (                                  x                                  )                                          f(x) + \mu h(x)                           f(x)+μh(x)KKT条件(互补松懈、对偶可行性)
6. 实例分析

等式约束示例

优化问题:
                                                                min                                  ⁡                                                      x                                  ,                                  y                                                            x                               2                                      +                                       y                               2                                               s.t.                                     x                            +                            y                            =                            1                                  \min_{x,y} x^2 + y^2 \quad \text{s.t.} \quad x + y = 1                     x,ymin​x2+y2s.t.x+y=1
拉格朗日函数:
                                         L                            =                                       x                               2                                      +                                       y                               2                                      +                            λ                            (                            x                            +                            y                            −                            1                            )                                  \mathcal{L} = x^2 + y^2 + \lambda (x + y - 1)                     L=x2+y2+λ(x+y−1)
求解方程:
                                         {                                                                                             2                                           x                                           +                                           λ                                           =                                           0                                                                                                                                       2                                           y                                           +                                           λ                                           =                                           0                                                                                                                                       x                                           +                                           y                                           =                                           1                                                                                              \begin{cases} 2x + \lambda = 0 \\ 2y + \lambda = 0 \\ x + y = 1 \end{cases}                     ⎩               ⎨               ⎧​2x+λ=02y+λ=0x+y=1​
解得                                   x                         =                         y                         =                         0.5                         ,                         λ                         =                         −                         1                              x = y = 0.5, \lambda = -1                  x=y=0.5,λ=−1。
不等式约束示例

优化问题:
                                                                min                                  ⁡                                          x                                                 x                               2                                               s.t.                                     x                            ≥                            1                                  \min_{x} x^2 \quad \text{s.t.} \quad x \geq 1                     xmin​x2s.t.x≥1
拉格朗日函数:
                                         L                            =                                       x                               2                                      +                            μ                            (                            1                            −                            x                            )                                  \mathcal{L} = x^2 + \mu (1 - x)                     L=x2+μ(1−x)
KKT条件:
                                         {                                                                                             2                                           x                                           −                                           μ                                           =                                           0                                                                                                                                       μ                                           ≥                                           0                                                                                                                                       μ                                           (                                           1                                           −                                           x                                           )                                           =                                           0                                                                                                                                       x                                           ≥                                           1                                                                                              \begin{cases} 2x - \mu = 0 \\ \mu \geq 0 \\ \mu (1 - x) = 0 \\ x \geq 1 \end{cases}                     ⎩               ⎨               ⎧​2x−μ=0μ≥0μ(1−x)=0x≥1​
解得                                   x                         =                         1                         ,                         μ                         =                         2                              x = 1, \mu = 2                  x=1,μ=2。

7. 应用场景



  • 机器学习:支持向量机(SVM)的对偶问题。
  • 经济学:资源分配中的预算约束优化。
  • 控制理论:动态系统的最优控制。

8. 总结



  • 拉格朗日乘子法通过引入乘子将约束融入目标函数,适用于等式和不等式约束。
  • Min-Max形式体现了原始问题与对偶问题的关系,强对偶性在凸优化中成立。
  • KKT条件是处理不等式约束的焦点,结合了梯度、可行性与互补松懈条件。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

写过一篇

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表