怎么理解二阶偏导与凸函数的Hessian矩阵是半正定的?

本文通过类比一元函数的二阶导数解释了多元函数Hessian矩阵的意义。介绍了Hessian矩阵半正定与半负定的概念,并讨论了它们在判断函数极值中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载出处:https://www.zhihu.com/question/40181086?sort=created


教科书上有严格的证明,这个答案试图通过类比来提供一些直观上的理解。大概的结论是,多元函数的Hessian矩阵就类似一元函数的二阶导。多元函数Hessian矩阵半正定就相当于一元函数二阶导非负,半负定就相当于一元函数二阶导非正。如果这个类比成立的话,凸函数的Hessian恒半正定就非常容易理解了——这是一元凸函数二阶导必非负的多元拓展。

至于为什么这个类是有道理的,你要这么看。对一元函数f(x)来说,就极值而言,一阶导为0是极值点的必要但不充分条件,一阶导为0切二阶导非负是极小值的充要条件。为什么呢,因为有泰勒展开f(x)=f(x_0)+f'(x_0)\cdot\text{d}x+\frac{1}{2}f''(x_0)\text{d}x^2。如果一阶导为0,二阶导非负,dx不论是多少,f(x)一定不比f(x0)小。

你把多元函数也个泰勒展开,主要区别在于:
1) 二阶导变成了Hessian。
2) 以前只要考虑x怎么变,现在还要考虑y怎么变,x和y怎么一起变,头疼了很多。
以二元为例,
f(\begin{bmatrix}x & y\end{bmatrix}) = f(\begin{bmatrix}x_0 & y_0\end{bmatrix}) + \begin{bmatrix}\text{d}x & \text{d}y\end{bmatrix} \cdot \begin{bmatrix}f_x' \\ f_y' \end{bmatrix}+ \frac{1}{2} \begin{bmatrix}\text{d}x & \text{d}y\end{bmatrix} \cdot \begin{bmatrix}f_{xx}' & f_{xy}' \\ f_{yx}' & f_{yy}' \end{bmatrix} \cdot \begin{bmatrix}\text{d}x \\ \text{d}y\end{bmatrix}
从一元的情况类比过来,如果一阶导为0,是不是极小值完全取决于不同的dx, dy下,能不能做到最后一项一直非负。只有对于任意\Delta {\bf x},\Delta {\bf x} {\bf H} \Delta {\bf x}^T一直非负的情况,我们才能说这是极小值。如果\Delta {\bf x} {\bf H} \Delta {\bf x}^T一直非正,这就是极大值。如果它一会正一会负,就是鞍点。

然后“对于任意\Delta {\bf x},\Delta {\bf x} {\bf H} \Delta {\bf x}^T一直非负”这是啥?半正定的定义嘛!它就是这么引出来的,也是我们为什么需要半正定这个概念的原因(之一)。


### Hessian 矩阵的定义 Hessian 矩阵是一个由多元函数二阶偏导数组成的方阵。对于一个具有连续二阶偏导数的实值函数 \( f(x_1, x_2, ..., x_n) \),其 Hessian 矩阵 \( H(f) \) 可以表示为: \[ H(f)_{ij} = \frac{\partial^2 f}{\partial x_i \partial x_j} \] 这意味着第 \( i,j \) 位置上的元素是关于变量 \( x_i \) 和 \( x_j \) 的二阶混合偏导数[^2]。 当这些混合偏导数是连续的时候,根据克莱罗定理 (Clairaut's theorem),求导次序不影响结果,因此矩阵是对称的[^3]。 ```python import sympy as sp # 定义符号变量 x, y = sp.symbols('x y') # 假设我们有一个函数 f(x,y) f = x**2 * y + sp.exp(y) # 计算 Hessian 矩阵 hessian_matrix = [[sp.diff(sp.diff(f, var1), var2) for var2 in (x, y)] for var1 in (x, y)] print(hessian_matrix) ``` 上述代码展示了如何通过 Python 符号计算库 `sympy` 来构建给定函数的 Hessian 矩阵。 ### Hessian 矩阵的特性及其在最优化中的应用 #### 对称性 如果所有的二阶偏导数都存在并连续,则 Hessian 矩阵是对称的。这是因为混合偏导数相等的前提条件成立时,\( \frac{\partial^2 f}{\partial x_i \partial x_j} = \frac{\partial^2 f}{\partial x_j \partial x_i} \)[^3]。 #### 凸性和凹性的判定 Hessian 矩阵用于判断目标函数是否为凸或凹。具体来说,在多维空间中: - 如果 Hessian正定矩阵 (\( z^\top Hz > 0 \) 对于任意非零向量 \( z \)),则该点处的目标函数局部最小化。 - 若 Hessian 负定 (\( z^\top Hz < 0 \)) 则对应的是局部最大化。 - 当它是正定或者负定时,可能遇到鞍点或其他复杂情况。 #### 应用场景——二阶最优化方法 利用 Hessian 矩阵的信息能够加速收敛速度以及提高数值稳定性。例如经典的 **Newton 方法** 就是一种基于 Hessian 的迭代更新策略来寻找极值点的方法之一。它依赖于当前估计的位置附近泰勒展开近似二次型模型,并据此调整下一步的方向和步长[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值