拉格朗日乘子法详解
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 xminf(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} {∇xL=∇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 xminf(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 xminf(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μ≥0maxL(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μ≥0L(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) xminx2s.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μ≥0L 会最大化 μ ( 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 minxx2,但 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) μ∇xh(x),原问题的梯度为 ∇ x f ( x ) \nabla_xf(x) ∇xf(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) μ≥0maxxminL(x,μ)
- 对偶函数: g ( μ ) = min x L ( x , μ ) g(\mu) = \min_x \mathcal{L}(x, \mu) g(μ)=minxL(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,yminx2+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 xminx2s.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企服之家,中国第一个企服评测及商务社交产业平台。 |