最优化理论:在限制中找最好的
是什么(大白话):在约束下找一组变量让目标函数最大或最小。生活比喻:在预算和时间限制下,怎么安排才能赚最多。AI 训练本质也是它。
因怎么想到的:约束下的取舍
动机:现实里资源永远有限,怎么分配最划算?数学家把它写成统一形式:
路考点心法:看到「最优化理论:在限制中找最好的」先想什么
• 直觉优先:研究生数学从具体到抽象——先用生活直觉类比理解,再看严格定义
• 反例思维:对任意定理,先想一个反例看看它到底在保证什么条件
• 历史脉络:每门抽象数学都有几十年的酝酿——知道为什么需要它才能真正懂
线性规划:f 和约束都线性。最优解一定出现在可行域(多边形)顶点上。
凸优化:目标凸、可行域凸——只有一个谷底,局部最优即全局最优,靠谱。机器学习大多落在凸优化或可凸化问题。
拉格朗日乘子法 / KKT:把约束揉进目标函数,用梯度为零找极值点,是带约束优化的总开关。
完整解法:工厂利润最大化
(0,0) → 0;(8,0) → 24;(0,4) → 16。 答案顶点 (8,0) 最大 → 全生产 A,x=8, y=0,利润 24 元。
用途与案例
训练神经网络
几百万参数里找一组让误差最小的组合。整个深度学习,本质就是大规模最优化。
物流与投资
外卖员怎么跑最省时间、基金怎么配股收益风险最佳,都是约束优化。
最优化连着机器学习(损失最小化)、运筹学(运输、排班)、金融(马科维茨投资组合)、控制论(模型预测控制)。凸优化是 ML 理论的硬通货。
坑:局部最优 = 全局最优。非凸问题(神经网络就是)沿下坡走容易卡在小盆地。为什么错?损失函数像连绵群山,小山谷不是最低点。所以要随机初始化、用动量、调学习率——都是为了别困在小坑里。
练习与答案
1. 为什么凸优化比非凸靠谱?
思路与解答
凸函数像一个碗,全局只有一个最低点,任何局部最低都是全局最低,收敛解不用怀疑;非凸像群山,容易卡在局部小山谷。2. 拉格朗日乘子法解决什么问题?
思路与解答
把等式/不等式约束"揉进"目标函数里,变成一个无约束问题来求极值,由 KKT 条件给出最优解必须满足的方程,是带约束优化的总开关。① 最优化 = min f(x) s.t. g≤0, h=0。
② 凸优化只有一个谷底;AI 训练 = 大规模最优化。
证最优化理论:在限制中找最好的的关键定理与公式
推导思路:① 无约束时,在 $x^*$ 沿任意方向 $d$ 有 $\frac{d}{dt}f(x^*+td)|_{t=0}=\nabla f(x^*)\cdot d=0$ 对所有 $d$,故 $\nabla f=0$;② 有约束时把可行方向限制为切空间,拉格朗日函数 $L=f+\sum_i\lambda_i g_i+\sum_j\mu_j h_j$ 对 $x$ 的梯度为零即驻值条件;③ 互补松弛 $\lambda_i g_i=0$ 表示"不起作用的约束乘子为零",凸情形下驻点即全局最小。
直觉把握:KKT 就是"在边界上爬坡,梯度被约束掰回来"——乘子 $\lambda_i$ 是"约束有多紧"的价格(影子价格);这正是 SVM、带约束神经网络训练的数学内核。
凸优化进阶:次梯度 / Proximal / ADMM
严为什么 L1 正则需要次梯度
次梯度定义:对凸函数 $f$,若对任意 $y$ 都有 $f(y)\ge f(x)+g^T(y-x)$,则 $g$ 称为 $f$ 在 $x$ 处的次梯度,全体记作 $\partial f(x)$。当 $f$ 可微时 $\partial f(x)=\{\nabla f(x)\}$ 退化成普通梯度。
关键麻烦:L1 正则项 $f(x)=|x|$ 在 $x=0$ 处不可导——左右导数分别是 $-1$ 和 $+1$,所以 $\partial|x|_{x=0}=[-1,1]$ 是一个区间而非单点。梯度下降在 0 处"卡住",必须用次梯度(或下面讲的软阈值)才能处理 Lasso。
证Lasso 的 Proximal 梯度解法(软阈值)
推导思路:把目标拆成光滑部分 $h(x)=\frac12\|Ax-b\|^2$ 与正则部分 $r(x)=\lambda\|x\|_1$。一步更新 $x^{k+1}=\operatorname{prox}_{\eta r}(x^k-\eta\nabla h(x^k))$。对 $r$ 的近端算子可逐坐标求解:$\min_z \frac12(z-u)^2+\lambda|z|$,令导数为零(在 $z\neq0$ 处)得 $z=u-\lambda\operatorname{sign}(u)$,再投影回使目标最小的区间,合起来就是 $\operatorname{sign}(u)(|u|-\lambda)_+$。
直觉把握:软阈值就是把小系数"压成 0"、大系数"削掉 $\lambda$"——这正是 Lasso 做特征选择的机制:不重要特征的权重被直接归零,模型自动变稀疏。AI 落点:Lasso / 稀疏注意力 / 模型压缩都靠它。
AI 落点 1:Adam 与稀疏正则
Adam 用梯度的一阶/二阶矩估计做自适应步长;当它遇上 L1/Lasso 这类不可微正则,工程上常配合 Proximal 步骤(Proximal-Adam),否则稀疏性出不来。
AI 落点 2:ADMM 与分布式训练
ADMM 把大问题拆成可并行的小问题。标准形式三步:$x^{k+1}=\arg\min_x L_\rho(x,z^k,y^k)$,$z^{k+1}=\arg\min_z L_\rho(x^{k+1},z,y^k)$,$y^{k+1}=y^k+\rho(x^{k+1}-z^{k+1})$;其中增广拉格朗日 $L_\rho=f(x)+g(z)+\frac{\rho}{2}\|x-z+y/\rho\|^2$。每个子问题可分开在各机器/设备上解,是分布式优化的主力。
证收敛率三档:凸 / 光滑 / 强凸
推导思路:凸情形下次梯度法误差平方 $\mathbb E\|x^k-x^*\|^2\le \frac{G^2}{k}$ 推出 $O(1/\sqrt{k})$;光滑凸用梯度下降的下降引理 $\|x^{k+1}-x^*\|^2\le\|x^k-x^*\|^2-2\eta(1-\eta L)\|\nabla f(x^k)\|^2$ 累积得 $O(1/k)$;强凸($\|\nabla f(x)-\nabla f(y)\|\ge\mu\|x-y\|$)使误差每步乘 $(1-\mu/L)$,呈线性(指数)衰减。
直觉把握:"越凸得狠、越光滑,收敛越快"——强凸像一个深碗,走一步就逼近底;非强凸的平坦区只能慢慢蹭。这条曲线决定了你训练神经网络时要不要上动量、要不要调学习率衰减。
① 跨尺度:把凸优化的 KKT 条件放到非凸的深度神经网络上,为什么"梯度为零"只是驻点而非最优?此时二阶信息(海森矩阵 $\nabla^2 f$)能告诉你这个驻点是谷底、山尖还是马鞍面的哪一类?
② 改条件:若目标函数不可微(如带 ReLU 的网络、带 L1 正则的 Lasso),次梯度法收敛率为什么是 $O(1/\sqrt{k})$ 而非光滑凸的 $O(1/k)$?"Adam 一定比 SGD 快"这个说法在什么意义下其实是错的?
③ 反向应用:ADMM 把大问题拆成可并行的小问题(各自更新 $x,z$ 再更新对偶 $y$),这和分布式训练 / 联邦学习(各设备本地更新、中心聚合)在数学结构上是否同构?哪些约束会破坏这种可并行性?