极值


 

19.1 引言

19.1.1 探索学习作为一个优化过程

学习是一个以增加知识、技能和创造力为目标的优化过程。这既适用于教育,也适用于机器学习。为了跟踪学习过程,我们需要一个函数来衡量进展。一个老派的指标是教育系统中的平均绩点 GPA,另一个是智商测试得分。在研究环境中,另一个指标例子是社交网络分数,如引用次数或 h 指数。对于自动驾驶汽车,它可以是 f ( x ) = 100 / ( 1 + N ( x ) ) ,其中 N ( x ) 是在固定时间段内使用参数配置 x 产生的事故数量。

图 1. 大卫·帕金斯的克朗代克图说明了在由高度函数 f 定义的高维景观中寻找解的过程。微积分建议沿着梯度 f 走,因为这会导向局部最大值。要找到全局最大值(可能是突破性想法),我们需要更努力地搜索,并列出所有最大值。这个过程以加拿大的克朗代克地区命名,该地区在淘金热期间声名狼藉。

19.1.2 人工智能会征服所有领域吗?

一旦框架和函数 f 固定下来,问题就是如何最有效地增加 f 。这种简单的图景无论对于人类智能还是人工智能都相当有效。对于许多已经考虑过的函数(在国际象棋比赛中获胜、计算能力、数据保持、特征检测、驾驶汽车或驾驶飞机),机器进展迅速。几乎没有人会严重怀疑,人类最终会在任何可考虑的函数 f 的较量中失败。仍然有一些领域机器还没有接管。例子包括艺术或撰写科学论文。1

19.1.3 机器学习在基于梯度的优化中的优势

一旦机器知道了函数 f ,它就可以舒适地从位置 x 确定向哪个方向变化能最快地增加 f 最快增长的方向就是 f 的梯度 f 的方向。在微积分中,我们考虑的情况是位置只包含几个变量。单变量微积分处理的是一个变量的情况。这里我们处理 n 个变量的情况,但大多会使用 2 个变量,因为这已经能给出主要思想。原理是,当任何变化都不能再增加函数 f 时,我们就达到了最优点。数学上这意味着 f 的导数 d f 为零。我们称这样的点为“临界点”。

19.1.4 使用梯度寻找改进的方向

让我们先看看函数沿方向 v 的变化率。取一条曲线 r ( t ) = x + t v ,其中 v 是单位向量。根据链式法则,在 x 处的变化率由下式给出: 我们知道对于点积,这等于 | f ( x ) | | v | cos ( α ) = | f ( x ) | cos ( α ) . 这在 cos ( α ) = 1 时最大,这意味着 v 指向与 f 相同的方向。所以,梯度指向最大增长的方向。这一点很重要,要牢记。如果你处于一个由高度 f ( x ) 给出的地形中,你需要沿着 f ( x ) / | f ( x ) | 的方向走,才能增加最多。当然,如果 f ( x ) = 0 ,这就没有意义了,但这是你处于最大值的情况,此时你无法再增加 f 了。

19.2 讲座

19.2.1 用梯度寻找最优点

这里假设所有函数都在 C 2 中,意味着它们二阶连续可微。一切始于可追溯到皮埃尔·德·费马的一个观察:

定理 1. 如果 x 0 f : m 的最大值点,那么 f ( x 0 ) = 0

证明。 我们用反证法证明。假设 f ( x 0 ) 0 ,定义向量 v = f ( x 0 ) ,并考虑 g ( t ) = f ( x 0 + t v ) ,这是一个单变量函数。根据链式法则,它满足 这意味着对于小的 t > 0 ,有 f ( x 0 + t v ) > 0 。点 x 0 就不可能是最大值点。这是一个矛盾。 ◻

19.2.2 揭示临界点

满足 f ( x ) = 0 的点 x 称为 f 临界点。根据泰勒公式,在临界点 x 0 处,我们有二次近似: Q ( x ) = f ( x 0 ) + ( x x 0 ) T H ( x 0 ) ( x x 0 ) / 2 , 其中 H ( x 0 ) 海森矩阵 H ( x 0 ) = [ f x 1 x 1 f x 1 x 2 f x 1 x m f x 2 x 1 f x 2 x 2 f x 2 x m f x m x 1 f x m x 2 f x m x m ] .

19.2.3 二阶导数检验登场

与一维情况一样,拥有一个临界点并不能保证该点是局部最大值或最小值。单变量微积分中的二阶导数检验保证了:如果 ,我们得到局部极小值;如果 ,我们得到局部极大值。如果 ,在不查看更高阶导数的情况下,我们无法做出任何判断。

19.2.4 正定与负定矩阵

一个矩阵 A 称为正定的,如果对于所有非零向量 v 0 ,有 v A v > 0 。它称为负定的,如果对于所有非零向量 v 0 ,有 v A v < 0 。对角线上元素为正的对角矩阵是正定的。在以下陈述中,我们假设 x 0 是一个临界点。

19.2.5 揭示正定海森矩阵的作用

我们说 x 0 f 局部极大值点,如果存在 r > 0 ,使得对于所有满足 | x x 0 | < r x ,有 f ( x ) f ( x 0 ) 。我们说它是 f 局部极小值点,如果存在 r > 0 ,使得对于所有满足 | x x 0 | < r x ,有 f ( x ) f ( x 0 ) 。我们如何检查一个点是局部极大值还是局部极小值呢?

定理 2. 假设 f ( x 0 ) = 0 。如果 H ( x 0 ) 是正定的,那么 x 0 是一个局部极小值点。如果 H ( x 0 ) 是负定的,那么 x 0 是一个局部极大值点。

证明。 因为 f ( x 0 ) = 0 ,在 x 0 处的二次近似是 Q ( x ) = f ( x 0 ) + H ( x 0 ) v v / 2 > f ( x 0 ) 对于小的非零 v = x x 0 和海森矩阵 H 成立。极小值的类似结论可以通过用 f 替换 f 得到。 ◻

19.2.6 二维情况下的极值分类

让我们看看 f ( x , y ) 是一个二元函数,且满足 f x ( x 0 , y 0 ) = 0 g x ( x 0 , y 0 ) = 0 的情况。海森矩阵为

H ( x 0 , y 0 ) = [ f x x f x y f y x f y y ]

在这个二维情况下,如果 H 的行列式 D = det ( H ) = f x x f y y f x y 2 不为零,我们可以对临界点进行分类。数 D 在临界点处也称为判别式

图 2. f = x 2 + y 2 给出极小值, f = x 2 y 2 给出极大值, f = x 2 y 2 给出鞍点。情况 f = x 2 y y x 2 不是莫尔斯型。

19.2.7 莫尔斯函数与二阶导数检验

我们说 ( x 0 , y 0 ) 是一个莫尔斯点,如果 ( x 0 , y 0 ) 是一个临界点且行列式非零。一个 C 2 函数是一个莫尔斯函数,如果它的每一个临界点都是莫尔斯点。莫尔斯函数的例子有 f ( x , y ) = x 2 + y 2 f ( x , y ) = x 2 y 2 f ( x , y ) = x 2 y 2 。最后一种情况称为双曲鞍点。一般来说,一个临界点是双曲鞍点,如果 D 0 且既不是极大值也不是极小值。这是二维情况下的二阶导数检验

定理 3. 假设 f C 2 有一个临界点 ( x 0 , y 0 ) D 0

  • 如果 D > 0 f x x > 0 ,那么 ( x 0 , y 0 ) 是一个局部极小值点。
  • 如果 D > 0 f x x < 0 ,那么 ( x 0 , y 0 ) 是一个局部极大值点。
  • 如果 D < 0 ,那么 ( x 0 , y 0 ) 是一个双曲鞍点。

证明。 经过平移 ( x , y ) ( x x 0 , y y 0 ) 并将 f 替换为 f f ( x 0 , y 0 ) ,我们有 ( x 0 , y 0 ) = ( 0 , 0 ) f ( 0 , 0 ) = 0 。在临界点处,二次近似现在是 Q ( x , y ) = a x 2 + 2 b x y + c y 2 . 这可以重写为 a ( x + b a y ) 2 + ( c b 2 a ) y 2 = a ( A 2 + D B 2 ) 其中 A = ( x + b a y ) , B = b 2 / a 2 以及判别式 D 。如果 a = f x x > 0 D > 0 ,那么 c b 2 / a > 0 ,函数对于所有 ( x , y ) ( 0 , 0 ) 取正值。此时点 ( 0 , 0 ) 是一个极小值点。如果 a = f x x < 0 D > 0 ,那么 c b 2 / a < 0 ,函数对于所有 ( x , y ) ( 0 , 0 ) 取负值,点 ( x , y ) 是一个局部极大值点。如果 D < 0 ,那么 f ( 0 , 0 ) 附近既取负值也取正值。 ◻

19.2.8 从海森矩阵到高斯曲率

有人可能会问,为什么选择 f x x 而不是 f y y 。这并不重要,因为如果 D > 0 ,那么 f x x f y y 都必须非零且符号相同。我们也可以选择更自然的 tr ( H ) 而不是 f x x 。它在坐标变换下与行列式 D 一样是不变的。判别式 D 恰好也是曲面在该点的高斯曲率

19.2.9 莫尔斯引理

在高维情况下,情况由莫尔斯引理描述。它表明在临界点附近存在一个坐标变换 ϕ ,使得 g ( x ) = f ( ϕ ( x ) ) 是一个二次函数 f ( x ) = B ( x x 0 ) ( x x 0 ) ,其中 B 是对角矩阵,其元素为 + 1 1 。然后可以给临界点赋予一个莫尔斯指数,即 B 1 的个数。莫尔斯引理实际上是一个定理(定理比引理即辅助定理更重要)。

定理 4. 对于 C 2 函数 f 的莫尔斯临界点 x 0 附近,存在一个坐标变换 ϕ : m m ,使得 g ( x ) = f ( ϕ ( x ) ) f ( x 0 ) g ( x ) = x 1 2 x k 2 + x k + 1 2 + + x m 2 .

证明. 我们对 m 使用归纳法。

  1. 归纳基础:对于 m = 1 ,结果表明对于莫尔斯临界点,函数看起来像 y = x 2 y = x 2 。首先证明如果 ,那么对于某个正的 C 2 函数 h ,有 f ( x ) = x 2 h ( x ) f ( x ) = x 2 h ( x ) 。证明:通过线性坐标变换,我们假设 x 0 = 0 f ( 0 ) = 0 。那么存在 g ( x ) 使得 f ( x ) = x g ( x ) :对于 x 0 g ( x ) = f ( x ) / x ,并且在极限 x 0 下,其值为 lim x 0 ( f ( x ) 。由乘积法则, g ( 0 ) = 0 。因为 ,可以定义 f ( x ) / x 2 对于 x 0 并取极限 x 0 ,因为应用两次洛必达法则,极限为 。坐标变换现在由满足 g ( x , y ) = y h ( y ) = x 的函数 y = ϕ ( x ) 给出。隐函数微分给出 g y ( 0 , 0 ) = h ( y ) 0 ,因此由隐函数定理, y ( x ) 存在。
  2. 归纳步骤 𝒎 𝒎 + 1 :我们首先注意到,对于 C 2 函数,带余项的泰勒公式意味着 f ( x 1 , , x n ) = i , j x i x j h i j ( x 1 , , x n ) ,其中 h i j 是某些连续函数。此外,函数值 h i j ( 0 ) = f x i x j ( 0 ) = H i j ( 0 ) 是海森矩阵的坐标。首先应用一个旋转使得 h 11 0 。现在考虑 x 1 并保持其他坐标不变。如同 (i) 中,找到一个坐标变换 ϕ 使得 f ( ϕ ( x ) ) = ± x 1 2 + g ( x 2 , , x m ) ,其中 g 继承了性质但维数少一。根据归纳假设,存在第二个坐标变换使得 g ( ψ ( x ) ) = x 2 2 x l 2 + x l + 1 2 + + x m 2 . 结合 ϕ ψ 就得到了莫尔斯标准型。

 ◻

19.3 例子

例 1. 问:分类 f ( x , y ) = x 3 3 x y 3 3 y 的临界点。
答:由于 f ( x , y ) = [ 3 x 2 3 , 3 y 2 + 3 ] T , 临界点为 ( 1 , 1 ) ( 1 , 1 ) ( 1 , 1 ) ( 1 , 1 ) 。我们计算 H ( x , y ) = [ 2 x 0 0 2 y ] . 对于 ( 1 , 1 ) ( 1 , 1 ) ,有 D = 4 ,因此是鞍点。对于 ( 1 , 1 ) ,有 D = 4 f x x = 2 ,是局部极大值。对于 ( 1 , 1 ) ,有 D = 4 f x x = 2 ,是局部极小值。

练习

练习 1.

  1. 分类函数 f ( x , y ) = x 2 + y 3 x y . 的临界点(极大值、极小值或鞍点)。
  2. 现在对 f ( x , y , z ) = x 2 + y 3 x y + z 2 做同样的分类,并找出每个临界点的莫尔斯指数。

练习 2. 找出 3 维区域 51 函数 f ( x , y , z ) = x 51 51 x + y 51 51 y + z 51 51 z . 的所有临界点。计算每个临界点处的海森矩阵 H = d 2 f ,并确定极大值(所有特征值为负)和极小值(所有特征值为正)。
附注:区域 51 是老生常谈了。但 3 维区域 51 仍然是高度机密,传闻位于月球背面附近。

练习 3. 在参数化曲面 r ( u , v ) = [ u 2 , v 3 , u v ] 上,温度 T ( x , y , z ) = 12 x + y 12 z 在何处最小。分类函数 f ( u , v ) = T ( r ( u , v ) ) 的所有临界点。[如果你已经找到了函数 f ( u , v ) ,如果你喜欢用函数 f ( x , y ) 来工作,你可以再次将 u v 替换为 x y 。]

练习 4. 找出函数 f ( x , y , z ) = ( x 1 ) 2 y 2 + x z 2 . 的所有临界点。在每种情况下,求出海森矩阵。同样计算特征值。这些是满足对于某个非零向量有 H v = λ v 的数 λ 。可以通过寻找特征多项式 χ H ( λ ) = det ( L λ ) 的根来找到它们。你可以在计算机上计算它们。在每种情况下找出特征值。

练习 5.

  1. 找出一个具有 3 个极大值、 3 个鞍点和 1 个极小值的函数 f ( x , y )
  2. 你下面看到的是一个二元函数的等高线图。有多少个临界点?该函数是莫尔斯函数吗?
图 3.

  1. 可能会有阻力:人类可能决定不引用机器做出的科学突破。另一方面,谁不想了解“万有理论”,即使它是由机器发现的呢?↩︎