Hessian 矩阵与函数的凸性

Hessian 矩阵的定义

Hessian 矩阵是一个方形矩阵,用来描述多元函数的二阶偏导数信息。对于一个 n n n 维函数 f ( x 1 , x 2 , … , x n ) f(x_1, x_2, \dots, x_n) f(x1,x2,,xn),Hessian 矩阵的定义是:

H = [ ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ∂ x 1 ∂ x n ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ∂ x 2 2 ⋯ ∂ 2 f ∂ x 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ 2 f ∂ x n ∂ x 1 ∂ 2 f ∂ x n ∂ x 2 ⋯ ∂ 2 f ∂ x n 2 ] . \mathbf{H} = \begin{bmatrix} \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{bmatrix}. H= x122fx2x12fxnx12fx1x22fx222fxnx22fx1xn2fx2xn2fxn22f .

Hessian 矩阵是一个对称矩阵(因为二阶偏导数 ∂ 2 f ∂ x i ∂ x j = ∂ 2 f ∂ x j ∂ x i \frac{\partial^2 f}{\partial x_i \partial x_j} = \frac{\partial^2 f}{\partial x_j \partial x_i} xixj2f=xjxi2f)。


Hessian 矩阵的求法

  1. 给定函数:
    假设 f ( x 1 , x 2 , … , x n ) f(x_1, x_2, \dots, x_n) f(x1,x2,,xn) 是一个二次连续可导的函数。

  2. 求一阶偏导:
    对每个变量 x i x_i xi 求偏导,得到一阶偏导数向量(梯度):
    ∇ f = [ ∂ f ∂ x 1 ∂ f ∂ x 2 ⋮ ∂ f ∂ x n ] . \nabla f = \begin{bmatrix} \frac{\partial f}{\partial x_1} \\ \frac{\partial f}{\partial x_2} \\ \vdots \\ \frac{\partial f}{\partial x_n} \end{bmatrix}. f= x1fx2fxnf .

  3. 求二阶偏导:
    对每个一阶偏导数 ∂ f ∂ x i \frac{\partial f}{\partial x_i} xif 再分别对每个变量 x j x_j xj 求偏导,构造二阶偏导数矩阵(即 Hessian 矩阵)。


例子:

例1:一元函数

对于 f ( x ) = x 3 − 2 x 2 + x f(x) = x^3 - 2x^2 + x f(x)=x32x2+x

  1. 求一阶导数:
    d f d x = 3 x 2 − 4 x + 1. \frac{df}{dx} = 3x^2 - 4x + 1. dxdf=3x24x+1.

  2. 求二阶导数:
    d 2 f d x 2 = 6 x − 4. \frac{d^2f}{dx^2} = 6x - 4. dx2d2f=6x4.

Hessian 矩阵在一维情况下就是 H = [ 6 x − 4 ] \mathbf{H} = [6x - 4] H=[6x4](标量)。


例2:多元函数

对于 f ( x 1 , x 2 ) = x 1 2 + 3 x 1 x 2 + x 2 2 f(x_1, x_2) = x_1^2 + 3x_1x_2 + x_2^2 f(x1,x2)=x12+3x1x2+x22

  1. 求一阶偏导:
    ∂ f ∂ x 1 = 2 x 1 + 3 x 2 , ∂ f ∂ x 2 = 3 x 1 + 2 x 2 . \frac{\partial f}{\partial x_1} = 2x_1 + 3x_2, \quad \frac{\partial f}{\partial x_2} = 3x_1 + 2x_2. x1f=2x1+3x2,x2f=3x1+2x2.

  2. 求二阶偏导,构造 Hessian 矩阵:
    H = [ ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 ∂ x 2 ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ∂ x 2 2 ] = [ 2 3 3 2 ] . \mathbf{H} = \begin{bmatrix} \frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} \\ \frac{\partial^2 f}{\partial x_2 \partial x_1} & \frac{\partial^2 f}{\partial x_2^2} \end{bmatrix} = \begin{bmatrix} 2 & 3 \\ 3 & 2 \end{bmatrix}. H=[x122fx2x12fx1x22fx222f]=[2332].


Hessian 矩阵与凸性:

  • 如果 Hessian 矩阵的所有特征值均非负,则函数是凸函数;
  • 如果存在负特征值,则函数不是凸函数(某些方向上是凹的)。
### 计算 Hessian 矩阵特征值的方法 Hessian 矩阵是一个对称矩阵,在许多优化问题中起着重要作用,尤其是在二阶方法中。为了计算其特征值,可以采用以下几种常见技术: #### 使用标准特征值分解 MATLAB 提供了 `eig` 函数来直接计算矩阵的特征值和特征向量。如果给定一个 Hessian 矩阵 \( \mathbf{H} \),可以通过调用该函数获得所有的特征值及其对应的特征向量: ```matlab [V, D] = eig(H); ``` 这里,\( V \) 是特征向量组成的矩阵,而 \( D \) 则是对角矩阵,其中包含了 \( \mathbf{H} \) 的特征值[^2]。 #### 奇异值分解 (SVD) 尽管 SVD 主要用于处理非方阵的情况,但它也可以用来间接估计 Hessian 矩阵的谱特。通过执行奇异值分解 \( \mathbf{H} = U\Sigma V^\top \),可以获得关于矩阵结构的重要信息。需要注意的是,对于对称矩阵而言,奇异值实际上等于绝对值形式下的特征值。 #### QR 分解迭代法 QR 分解是一种有效的数值方法,特别适合于大型稀疏矩阵或者当精确求解不可行时作为替代方案。它通过对目标矩阵反复应用 QR 分解并重组形成新的矩阵序列直至收敛到三角形状态从而提取出全部特征根。 #### 数学背景意义 在机器学习领域内,尤其是涉及复杂损失表面分析的时候,理解 Hessian 矩阵变得尤为重要。例如,在深度学习框架下调整权重过程中利用这些二阶导数可以帮助我们更好地掌握当前位置附近地形变化趋势以便做出更明智决策[^4]。此外,由于 Hessian 反映了局部曲率信息,因此对其深入研究有助于改进现有的一阶优化算法能以及开发新型高效求解器[^5]。 ```python import numpy as np from scipy.linalg import eigh # 定义一个正定对称矩阵模拟 Hessain Matrix A = np.array([[4, 1], [1, 3]]) # 使用 NumPy 或 SciPy 库中的功能获取实数范围内的最小最大特征值 evals_minmax = eigh(A, eigvals_only=True, subset_by_index=[0,1]) print("The smallest eigenvalue is:", evals_minmax[0]) print("The largest eigenvalue is:", evals_minmax[1]) ``` 上述 Python 示例展示了如何借助科学计算库快速定位特定区间上的极端特征值而不必显式构建整个光谱集合,这对于大规模问题尤其有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值