二阶导数判别法

微积分与高等数学

èr jiē dǎo shù pàn bié fǎ

二阶导数判别法利用二阶导数的符号来判断临界点的类型:为正表示局部最小值,为负表示局部最大值。

Formula

f'(c)=0: \text{ if } f''(c)>0 \text{ then min; if } f''(c)<0 \text{ then max}
Visualization

Definition

在临界点处,二阶导数判别法检查曲线在那里是向上弯还是向下弯:向上弯(二阶导数为正)意味着谷底(局部最小值),向下弯(为负)意味着山顶(局部最大值)。若 $f'(c) = 0$ 且 $f''(c) > 0$,则 $c$ 是局部最小值;若 $f''(c) < 0$,则是局部最大值;若 $f''(c) = 0$,判别法失效,必须回头使用一阶导数判别法或更高阶导数。它其实是 $c$ 处泰勒展开的一个特例:$f''(c)$ 的符号决定了二次项造就的是局部最小值还是最大值,在多元微积分中,判别法使用海森矩阵的特征值。

Example

对于 $f(x) = x^2$:$f'(x) = 2x = 0$ 在 $x = 0$ 处成立,且 $f''(x) = 2 > 0$ 处处成立,证实是局部最小值。对于 $f(x) = x^3 - 12x$:$f' = 3x^2 - 12 = 0$ 在 $x = \pm 2$ 处成立,$f'' = 6x$ 给出 $f''(2) = 12 > 0$(局部最小值)和 $f''(-2) = -12 < 0$(局部最大值)。在二元情形下,在临界点处计算海森矩阵 $H = \begin{bmatrix} f_{xx} & f_{xy} \\ f_{yx} & f_{yy} \end{bmatrix}$:$\det(H) > 0$ 且 $f_{xx} > 0$ 得到局部最小值,$\det(H) > 0$ 且 $f_{xx} < 0$ 得到局部最大值,$\det(H) < 0$ 得到鞍点。

Key Insight

想想凹凸性:如果杯子在临界点处朝上开口,你就在底部(最小值);如果朝下开口,你就在顶端(最大值)。这个判别法在有效时既快又干净,但在 $f''(c) = 0$ 时会失效,此时一阶导数判别法就是备用方案。基于海森矩阵的版本直接推广到机器学习中的最优化:牛顿法和拟牛顿法这类二阶方法利用曲率信息,比梯度下降收敛得更快。