拉格朗日乘子法
Contents
梯度、约束优化与拉格朗日乘子
关键点:最优点要同时满足约束以及目标函数,那么它在它们的交点上;如果这个二者在这个交点不相切的话,那么,我们总可以沿着约束曲线,使得函数值升高或者降低(把目标函数的值看成一系列等高线),所以不是相切点的交点不是最优点。
0. 我们要解决的是什么问题?
在很多问题中(数学 / 物理 / 工程 / 优化):
我们希望 最小化(或最大化)某个量, 但 变量不能随便取值,而是必须满足某些约束。
形式上,这类问题统一写成:
[
\begin{aligned}
\min\ & f(\mathbf{x})
\text{s.t. } & g(\mathbf{x}) = 0
\end{aligned}
]
其中:
- (f):目标函数(你真正关心的量)
- (g=0):约束(你允许解存在的集合)
拉格朗日乘子法就是解决这类问题的核心工具。
1. 为什么“梯度”会出现在优化里?
在进入约束之前,先回答一个更基础的问题:
什么叫“函数在某个方向上变化最快”?
1.1 梯度的定义
对一个标量函数 [ f(x,y) ] 它的梯度定义为:
[ \nabla f = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right) ]
1.2 梯度的关键几何含义(唯一需要记住的)
在某一点处,梯度指向函数值上升最快的方向
等价地:
- 沿梯度方向走:(f) 增加最快
- 沿负梯度方向走:(f) 减少最快
这不是比喻,而是可以严格证明的结论(来自方向导数)。
2. 无约束最优化的本质(为后面做铺垫)
如果变量 完全自由,那最优点必须满足:
[ \nabla f = 0 ]
原因很简单:
- 如果梯度不为零
- 就存在一个方向可以让 (f) 继续减小
- 那当前点就不可能是最优
这一点你早就熟悉,只是平时没意识到它的几何含义。
3. 引入约束:问题发生了什么变化?
现在加入约束:
[ g(x,y)=0 ]
这意味着:
- 变量不能在整个平面上移动
- 只能沿着一条曲线(或曲面)移动
于是一个关键问题出现了:
“还能不能沿着梯度方向走?”
答案是:通常不行,因为梯度方向往往会“冲出约束”。
4. 约束的几何角色:切向与法向
这是理解拉格朗日乘子的核心。
4.1 约束函数的梯度
对约束函数 (g(x,y)):
[ \nabla g = \left( \frac{\partial g}{\partial x}, \frac{\partial g}{\partial y} \right) ]
一个基本事实是:
(\nabla g) 垂直于约束曲线 (g=0)
也就是说:
- 沿着约束曲线移动 → 切向方向
- (\nabla g) → 法向方向(“不能走”的方向)
5. 约束最优点的核心逻辑(一句话版)
在最优点:
在所有“允许的方向”里,目标函数都无法再下降
翻译成几何语言就是:
- 目标函数的“最陡下降方向”
- 被约束的“法向方向”完全挡住了
6. 拉格朗日乘子条件(正式登场)
上述几何事实,用数学写出来只有一种可能:
[ \nabla f = \lambda \nabla g ]
这就是拉格朗日乘子条件。
它表达的不是数值关系,而是:
目标函数梯度 与 约束梯度 在最优点处共线
(\lambda) 只是比例因子。
7. 现在才上例子:为什么 (y=x^2) 不该让你困惑
7.1 问题本身
在约束 [ y = x^2 ] 下,最小化 [ y ]
7.2 正确拆分问题
目标函数: [ f(x,y)=y ]
约束函数: [ g(x,y)=y-x^2=0 ]
注意这一点非常关键:
(y=x^2) 不是“被优化的函数”, 它是约束集合; 被优化的仍然是高度 (y)。
8. 梯度从哪里来(你卡住的那一步)
8.1 目标函数的梯度
[ \nabla f = \nabla y = (0,1) ]
这只是说:
在二维空间中,(y) 增加最快的方向是竖直向上
8.2 约束函数的梯度
[ \nabla g = \nabla(y-x^2) = (-2x,1) ]
9. 拉格朗日条件具体写出来
[ (0,1) = \lambda(-2x,1) ]
这是直接套用定义,不是技巧,也不是“猜”。
解得:
[ x=0,\quad y=0 ]
10. 一句话总结(给你以后用)
-
梯度描述的是在整个空间中的变化趋势
-
约束限制的是你允许走的方向
-
拉格朗日乘子刻画的是:
在最优点,目标函数的最陡方向,正好被约束的法向挡住
Author MyBlogTestAuthor
LastMod 2025-12-23