4. 局部极值的数学刻画
在非线性参数拟合中,优化器最终停下来的位置,未必是我们真正想要的那个“最好”的参数点。要判断一个候选解到底是局部极小、鞍点还是全局极小,仅靠梯度是否接近零远远不够。本节从一阶条件和二阶条件出发,建立一套可操作的判定流程,并用 Hessian 矩阵的正定性把“形状”这一直觉转化为可计算的代数判据。
一、驻点:一阶必要条件
设目标函数为残差平方和 \(S(\boldsymbol{\theta})\),其中 \(\boldsymbol{\theta}\in\mathbb{R}^n\) 为待拟合参数。若 \(S\) 在 \(\boldsymbol{\theta}^*\) 处可微,则局部极值点必须满足梯度为零:
∇S(θ*) = 0 ⇔ ∂S/∂θ_i = 0, i = 1, 2, …, n
满足该条件的点统称驻点。注意这是必要条件而非充分条件:驻点可能是局部极小、局部极大,也可能是鞍点。在非线性最小二乘中,梯度常写成 \(\nabla S = 2J^\top \boldsymbol{r}\),其中 \(J\) 为残差对参数的雅可比矩阵,\(\boldsymbol{r}\) 为残差向量。因此“梯度为零”等价于 \(J^\top\boldsymbol{r}=0\),即残差与雅可比列空间正交——这正是最小二乘正规方程的形式。实践中优化器报告的“梯度范数小于容差”只说明到达了驻点,不能直接宣布收敛成功。
二、二阶条件:Hessian 矩阵登场
要区分驻点的类型,需要看函数在该点附近的弯曲方向。将 \(S\) 在驻点处做二阶泰勒展开:
S(θ* + Δθ) ≈ S(θ*) + ½ Δθᵀ H Δθ, H = ∇²S(θ*)
其中 \(H\) 为 \(n\times n\) 的 Hessian 矩阵,元素 \(H_{ij}=\partial^2 S/\partial\theta_i\partial\theta_j\)。由于一阶项为零,函数在驻点附近的增量完全由二次型 \(\Delta\boldsymbol{\theta}^\top H\,\Delta\boldsymbol{\theta}\) 的符号决定。对最小二乘问题,Hessian 的精确形式为:
H = 2JᵀJ + 2 Σ_k r_k ∇²r_k
第一项 \(2J^\top J\) 恒为半正定,第二项含残差二阶导,在残差较小或近似线性时往往可忽略,这就是 Gauss–Newton 法用 \(2J^\top J\) 近似 Hessian 的依据。但残差较大时,第二项可能破坏正定性,导致近似失效——这也是非线性拟合中“看似收敛实为鞍点”的常见来源。
三、正定性判据与四类驻点
记 \(H\) 的全部特征值为 \(\lambda_1\le\lambda_2\le\cdots\le\lambda_n\)。判定规则如下:
| Hessian 性质 | 特征值条件 | 驻点类型 |
|---|---|---|
| 正定 | 所有 λ_i > 0 | 严格局部极小 |
| 负定 | 所有 λ_i < 0 | 严格局部极大 |
| 不定 | 存在正、负特征值 | 鞍点 |
| 半正定/半负定 | 含零特征值,其余同号 | 退化,需高阶信息 |
实际计算中不必求特征值,可用顺序主子式判据(Sylvester 判据):\(H\) 正定当且仅当其所有顺序主子式均为正。对二维情形,即 \(H_{11}>0\) 且 \(\det H>0\);若 \(\det H<0\),则必为鞍点。半正定情形(如平坦谷底)说明二阶信息不足,需要检查三阶、四阶导数或直接比较邻域函数值。
四、局部极小与全局极小:从判据到策略
全局极小 \(\boldsymbol{\theta}^{**}\) 满足 \(S(\boldsymbol{\theta}^{**})\le S(\boldsymbol{\theta})\) 对所有可行 \(\boldsymbol{\theta}\) 成立。它是全局性质,没有仅靠某点导数就能验证的充要条件。工程上通常组合以下手段提高可信度:
- 多起点重启:从不同初值出发,比较收敛后的 \(S\) 值与 Hessian 特征值,若多个起点落入同一极小且该点 \(S\) 最低,可信度提高。
- 参数扰动检验:在最优点沿各参数方向做小步长扰动,确认 \(S\) 单调上升;若某方向下降,说明未真正收敛或 Hessian 近似有误。
- 置信区间交叉验证:由 \(H^{-1}\) 估计参数协方差,若某参数方差极大(对应 \(H\) 接近奇异),往往提示存在平坦方向或参数不可辨识。
- 物理约束筛查:结合参数的实际意义(如速率常数必须为正)排除数学上成立但物理上无意义的解。
五、一个可复现的二维示例
考虑示例函数 \(S(\theta_1,\theta_2)=\theta_1^2-\theta_2^2+0.1\theta_2^4\)(该函数为教学构造,非实测数据)。求梯度:
∂S/∂θ₁ = 2θ₁
∂S/∂θ₂ = -2θ₂ + 0.4θ₂³ = 2θ₂(0.2θ₂² - 1)
驻点为 \((0,0)\)、\((0,\pm\sqrt{5})\)。计算 Hessian:
H = [[2, 0],
[0, -2 + 1.2θ₂²]]
在 \((0,0)\) 处,\(H=\mathrm{diag}(2,-2)\),特征值一正一负,为鞍点;在 \((0,\pm\sqrt{5})\) 处,\(H=\mathrm{diag}(2,4)\),正定,为局部极小,函数值均为 \(-5\)。由于 \(S\) 沿 \(\theta_1\) 方向无界增长、沿 \(\theta_2\) 方向可趋于 \(-\infty\),该函数不存在全局极小——这提醒我们:局部极小判定通过,并不代表问题本身有全局最优解。
六、实操中的判定清单
把上述理论落到一次拟合任务中,可按以下顺序执行:先用优化器得到候选解并确认梯度范数足够小;再计算或近似 Hessian(小规模问题可直接数值差分,大规模问题可用 \(2J^\top J\) 近似并注明其局限);然后检查特征值符号,若出现负值则判定为鞍点,需更换初值或改用能逃离鞍点的算法(如加入动量或信赖域策略);若正定,进一步用多起点比较函数值,并结合参数协方差判断是否存在不可辨识的平坦方向。只有“驻点 + 正定 + 多起点一致 + 物理合理”同时满足,才可较有把握地认为找到了全局极小。