ARTICLE

局部最小值

局部最小值 (Local Minimum) 局部最小值 (Local Minimum) 是优化理论和微积分中的一个基本概念。在一个函数的定义域内,如果某一点的函数值小于或等于其所有"邻近"点的函数值,那么该点就被称为一个局部最小值点,其对应的函数值就是一个局部最小值。 直观地讲,如果我们将一个函数的图像想象成连绵起伏的山脉地形,那么任何一个山谷的谷底都对应着

浏览 40 更新 2025-10-26

局部最小值 (Local Minimum)

局部最小值 (Local Minimum) 是优化理论微积分中的一个基本概念。在一个函数定义域内,如果某一点的函数值小于或等于其所有"邻近"点的函数值,那么该点就被称为一个局部最小值点,其对应的函数值就是一个局部最小值。

直观地讲,如果我们将一个函数的图像想象成连绵起伏的山脉地形,那么任何一个山谷的谷底都对应着一个局部最小值。这个谷底是其周围区域的最低点,但不一定是整个山脉的最低点。那个整个山脉的最低点被称为全局最小值 (Global Minimum)。

形式化定义

考虑一个定义在集合 S S 上的实值函数 f:SR f: S \to \mathbb{R}

定义:点 x0S x_0 \in S 被称为一个 局部最小值点 (point of local minimum),如果存在一个 δ>0 \delta > 0 ,使得对于所有满足 xx0<δ \|x - x_0\| < \delta xS x \in S 的点 x x ,都有 f(x0)f(x) f(x_0) \le f(x) 成立。此时,f(x0) f(x_0) 称为函数的 局部最小值 (a local minimum value)。

  • 如果对于所有满足条件的 xx0 x \ne x_0 均有严格不等式 f(x0)<f(x) f(x_0) < f(x) 成立,则称 x0 x_0 是一个 严格局部最小值点 (strict local minimum point)。
  • xx0<δ \|x - x_0\| < \delta 定义了以 x0 x_0 为中心,半径为 δ \delta 的一个"邻域"(neighborhood)。这个定义的核心在于,我们只关心 x0 x_0 附近一小块区域的行为。

与之相对的是全局最小值,它要求 f(x0)f(x) f(x_0) \le f(x) 对定义域 S S 内的 所有 x x 都成立。显然,一个全局最小值也一定是一个局部最小值,但反之不成立。

寻找局部最小值:分析方法

在实践中,我们通常需要找到这些最小值点。微积分为我们提供了强大的分析工具来识别它们,主要依赖于函数的导数

单变量函数的情况

对于单变量函数 y=f(x) y = f(x) ,我们有以下条件:

一阶必要条件:如果函数 f(x) f(x) 在点 c c 处可导,并且 c c 是一个局部最小值点,那么一定有 f(c)=0 f'(c) = 0

解读:这个条件的几何意义是,在局部最小值的点,函数的切线是水平的。满足 f(c)=0 f'(c) = 0 的点被称为函数的临界点 (Critical Point) 或驻点 (Stationary Point)。

重要提示:这是一个 必要但不充分 的条件。一个临界点也可能是局部最大值点(山峰)或是一个拐点(既非山峰也非山谷)。例如,f(x)=x3 f(x) = x^3 x=0 x=0 处的导数为0,但该点既不是局部最小值也不是局部最大值。因此,我们需要进一步的检验。

二阶充分条件 (二阶导数检验法):假设 f(c)=0 f'(c) = 0 。如果函数 f(x) f(x) 在点 c c 处二阶可导,那么:

  • 如果 f(c)>0 f''(c) > 0 ,则 f f c c 点取得一个 严格局部最小值。(直观解释:f(c)>0 f''(c) > 0 意味着函数在 c c 附近是凹的,或称凸的 (Convex),形状像一个开口向上的杯子,因此 c c 是谷底。)
  • 如果 f(c)<0 f''(c) < 0 ,则 f f c c 点取得一个 严格局部最大值。(直观解释:f(c)<0 f''(c) < 0 意味着函数在 c c 附近是凸的,或称凹的 (Concave),形状像一个倒扣的杯子,因此 c c 是山峰。)
  • 如果 f(c)=0 f''(c) = 0 ,则此检验法失效,需要使用更高阶的导数或一阶导数检验法(观察 f(x) f'(x) c c 点两侧的符号变化)来判断。

多变量函数的情况

对于多变量函数 f(x) f(\mathbf{x}) ,其中 x=(x1,x2,,xn) \mathbf{x} = (x_1, x_2, \ldots, x_n) ,情况类似,但需要使用梯度Hessian矩阵

一阶必要条件:如果函数 f(x) f(\mathbf{x}) 在点 x0 \mathbf{x}_0 处可微,并且 x0 \mathbf{x}_0 是一个局部最小值点,那么该点的梯度向量必须为零向量:

f(x0)=0\nabla f(\mathbf{x}_0) = \mathbf{0}

其中 f=(fx1,fx2,,fxn) \nabla f = \left( \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \ldots, \frac{\partial f}{\partial x_n} \right) 。满足此条件的点同样被称为临界点

二阶充分条件:假设 x0 \mathbf{x}_0 是一个临界点(即 f(x0)=0 \nabla f(\mathbf{x}_0) = \mathbf{0} )。我们定义函数的Hessian矩阵 Hf H_f 如下,它由所有二阶偏导数构成:

H_f(\mathbf{x}) = \begin{pmatrix} \frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_1 \partial x_n} \\ \frac{\partial^2 f}{\partial x_2 \partial x_1} & \frac{\partial^2 f}{\partial x_2^2} & \cdots & \frac{\partial^2 f}{\partial x_2 \partial x_n} \\

\vdots \& \vdots \& \ddots \& \vdots \\

\frac{\partial^2 f}{\partial x_n \partial x_1} & \frac{\partial^2 f}{\partial x_n \partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_n^2} \end{pmatrix}

在临界点 x0 \mathbf{x}_0 处计算该矩阵 Hf(x0) H_f(\mathbf{x}_0)

  • 如果 Hf(x0) H_f(\mathbf{x}_0) 正定矩阵 (Positive Definite),则 f f x0 \mathbf{x}_0 点取得一个 严格局部最小值。(正定意味着函数在该点附近是严格凸的,像一个多维的碗。)
  • 如果 Hf(x0) H_f(\mathbf{x}_0) 负定矩阵 (Negative Definite),则 f f x0 \mathbf{x}_0 点取得一个 严格局部最大值
  • 如果 Hf(x0) H_f(\mathbf{x}_0) 不定矩阵 (Indefinite),即同时拥有正负特征值,则 x0 \mathbf{x}_0 是一个鞍点 (Saddle Point)。
  • 如果 Hf(x0) H_f(\mathbf{x}_0) 是半定(但非定)矩阵,则检验失效,需要更高阶的分析。

在经济与金融学中的应用

局部最小值的概念在经济、金融和统计学中至关重要,因为许多理论模型都构建在优化问题之上。

经济学:在企业理论中,一个追求利润最大化的厂商实际上是在解一个优化问题。它可能会找到一个产量水平,使得边际收益等于边际成本(一阶条件),但这可能只是一个局部最优解。例如,由于规模经济或范围经济的变化,可能存在另一个产量区间,能带来更高的总利润(即全局最优)。同样,在成本最小化问题中,寻找到的生产要素组合也可能只是一个局部成本最低点。

金融学:在投资组合优化中,投资者试图在给定预期回报的情况下最小化投资组合的风险(通常用方差来衡量)。构建的风险函数可能是非凸的,特别是在包含复杂金融工具或交易成本时。优化算法可能会找到一个"局部最优"的资产配置方案,但可能存在另一个能提供更低风险的"全局最优"方案。

统计学:在最大似然估计 (Maximum Likelihood Estimation, MLE) 中,我们需要最大化一个似然函数 L(θ) L(\theta) ,这等价于最小化负对数似然函数 logL(θ) -\log L(\theta) 。对于复杂的统计模型,这个函数可能有多个局部最小值。标准的数值优化算法,如梯度下降法,从一个随机的初始参数值开始,可能会收敛到其中一个局部最小值,而不是全局最小值。这会导致估计出的模型参数是次优的,从而影响统计推断的准确性。这也是为什么在复杂的建模中,研究者常常会使用不同的初始值多次运行优化程序,或者采用模拟退火遗传算法等更稳健的全局优化算法。

数值计算中的挑战

在现实世界的大多数复杂问题中,我们无法通过解析方法(即求解导数为零的方程)找到最小值。我们必须依赖数值优化算法。

一个基础的算法是梯度下降法。其思想是,从一个初始点开始,沿着函数下降最快的方向(即梯度的反方向)前进一小步,然后重复这个过程,直到达到一个梯度接近于零的点。

这个过程很自然地会停在它遇到的第一个谷底,也就是一个局部最小值点。它无法"看到"整个函数的地形,因此可能会错过更深的谷底(全局最小值)。如何避免陷入不好的局部最小值,是机器学习和计算科学领域一个持续活跃的研究课题。