← 目录Ch18 矩阵分解
Ch18 拉格朗日乘子法

Lagrange Multipliers · 有约束时如何优化?

🎮 带约束的优化问题

在圆上找 x + y 最大的点

xy最大化 f(x,y) = x + y约束 x² + y² = 2.25
🎯 问题设定

目标:最大化 f(x,y) = x + y

约束:x² + y² = r²(点必须在圆上)

约束圆半径 r1.5
💡 直观理解

斜线是 x + y = c 的等高线。
往右上移动,c 增大。
最优点 = 等高线刚好与圆相切的地方!
再往右上就会离开圆(违反约束)。

🎯
目标函数
max f(x) s.t. g(x)=0
🔗
拉格朗日条件
∇f = λ·∇g
📐
几何意义
等高线与约束相切
开篇
约束优化是机器学习的核心问题
🎯
目标函数
max/min f(x)
🔗
约束条件
g(x) = 0 或 h(x) ≤ 0
📐
最优条件
∇f = λ·∇g
18.1 约束类型
🎯 目标:区分等式约束 g(x)=0 和不等式约束 h(x)≤0

🎮 约束类型对比

等式、不等式及混合约束的可行域

约束类型
约束形式
g(x) = 0
示例
x² + y² = 1
可行域
曲线
求解方法
拉格朗日乘子法
优化问题形式
min f(x)
s.t. g(x) = 0
等式约束将搜索空间限制在曲线/曲面上
g(x)=0
可行域是圆周(一维曲线)
关键区别:等式约束降低维度,不等式约束划分区域。最优点可能在约束边界上,也可能在内部。
18.2 拉格朗日乘子法
🎯 目标:理解 ∇f = λ·∇g 的几何意义——等高线与约束曲线相切

🎮 拉格朗日乘子法

min f(x,y) = x + y s.t. x² + y² = 1

乘子 λ = 1.00
0.1最优 ≈ 0.712.0
拉格朗日函数
L(x,y,λ) = (x + y) + λ(x² + y² - 1)
驻点位置
(-0.50, -0.50)
约束满足
x²+y² = 0.50
调节 λ 使驻点落在约束上
最优值 f* = -1.414(在 λ ≈ 0.71 时)
最优性条件
∇f = -λ∇g
[1, 1] = -λ[2x, 2y]
x = y = -1/(2λ)
约束等值线
最优点:等值线与约束圆相切
几何理解:最优点处,目标函数等值线与约束曲线相切,即 ∇f 与 ∇g 平行。
18.3 KKT 条件
🎯 目标:理解不等式约束下的互补松弛条件 λh(x)=0

🎮 KKT 条件演示

min (x-2)² + (y-2)² s.t. x + y ≤ 2

约束状态
KKT 条件检验
✓驻点条件∇f + μ∇h = 0
✓原始可行h(x) ≤ 0
✓对偶可行μ ≥ 0
✓互补松弛μ·h(x) = 0
最优点
(1, 1)
乘子 μ
2
约束起作用
h(x*) = 0, μ > 0:最优点在边界上
互补松弛
μ · h(x) = 2 × 0.00 = 0.00 = 0
无约束最优可行域xy
红圈=等值线,蓝区=可行域,绿点=最优
KKT 条件:对于凸问题,KKT 条件是最优的充要条件。互补松弛保证要么约束松弛(μ=0),要么约束紧致(h=0)。
18.4 对偶问题
🎯 目标:理解拉格朗日对偶和强对偶条件

🎮 对偶性演示

min x² s.t. x ≥ 2,原始问题与对偶问题

对偶变量 μ = 1.0
0最优 μ* = 48
原始最优值 p*
4
x* = 2
对偶值 g(μ)
1.75
当前 μ = 1.0
对偶间隙
p* - g(μ)
2.25
对偶函数
L(x,μ) = x² - μ(x - 2)
g(μ) = min_x L = -μ²/4 + 2μ
max g(μ) s.t. μ ≥ 0
弱对偶定理
对任意可行的 μ ≥ 0,总有 g(μ) ≤ p*
p*=4μ值p*g(μ)
对偶函数 g(μ) 总在原始最优值 p* 以下
强对偶:对于凸问题,原始最优 = 对偶最优(间隙为零),这是 KKT 条件的理论基础。
18.5 Rayleigh 商
🎯 目标:理解 R(x) = xᵀAx/xᵀx 的极值就是特征值

🎮 Rayleigh 商与特征值

R(x) = xᵀAx / xᵀx,最大值是最大特征值

方向角 θ = 45°
Rayleigh 商 R(x)
3.500
范围: [1.38, 3.62]
λ_max
3.618
λ_min
1.382
优化问题
max xᵀAx s.t. ‖x‖ = 1
拉格朗日:L = xᵀAx - λ(xᵀx - 1)
∇L = 2Ax - 2λx = 0
⟹ Ax = λx (特征方程!)
调节方向,观察 Rayleigh 商变化
xAxv₁
当 x 是特征向量时,Ax 与 x 共线
特征值的优化视角:最大特征值 = max R(x),最小特征值 = min R(x)。 这就是为什么特征值问题可以用拉格朗日乘子法推导。
本章小结
拉格朗日乘子法是约束优化的基石
核心公式
L(x,λ) = f(x) - λg(x)
∇ₓL = 0, ∇λL = 0
KKT: λ ≥ 0, λh(x) = 0
应用场景
• SVM:间隔最大化
• PCA:约束特征值问题
• 正则化:范数约束

📚 下一章:Ch19 超平面