在最小二乘法中,海森矩阵(Hessian Matrix,又译黑塞矩阵)是目标函数(误差平方和)关于参数的二阶偏导数方阵。它描述了误差曲面的局部曲率,决定了优化算法的收敛速度和方向。在非线性最小二乘中,通常使用由一阶导数(雅可比矩阵 J\mathbf{J}J)构成的 JTJ\mathbf{J}^T\mathbf{J}JTJ 来近似代替海森矩阵。
1. 海森矩阵的定义
对于多元损失函数 f(x)f(\mathbf{x})f(x)(其中 x=x1,x2,...,xnT\mathbf{x} = x_1, x_2, \\dots, x_n^Tx=x1,x2,...,xnT 是待求参数),其海森矩阵 H\mathbf{H}H 的第 iii 行、第 jjj 列元素为:
Hij=∂2f∂xi∂xjH_{ij} = \frac{\partial^2 f}{\partial x_i \partial x_j}Hij=∂xi∂xj∂2f
它是一个 n×nn \times nn×n 的对称方阵(其中 nnn 为参数的维度)。
2. 线性最小二乘中的海森矩阵
在线性最小二乘中,目标函数为残差平方和:
f(x)=12∥Ax−b∥2f(\mathbf{x}) = \frac{1}{2} \Vert{}\mathbf{A}\mathbf{x} - \mathbf{b}\Vert{}^2f(x)=21∥Ax−b∥2
对该函数求一阶导数(梯度)并令其为零,或者直接求二阶导数,其海森矩阵为:
H=ATA\mathbf{H} = \mathbf{A}^T\mathbf{A}H=ATA
此时通过解正规方程 ATAx=ATb\mathbf{A}^T\mathbf{A}\mathbf{x} = \mathbf{A}^T\mathbf{b}ATAx=ATb 可以一步直接求出最优解。
3. 非线性最小二乘与高斯-牛顿法近似
在非线性最小二乘中,残差函数 r(x)\mathbf{r}(\mathbf{x})r(x) 是非线性的,目标函数为 f(x)=12∥r(x)∥2f(\mathbf{x}) = \frac{1}{2} \Vert{}\mathbf{r}(\mathbf{x})\Vert{}^2f(x)=21∥r(x)∥2。
精确的海森矩阵包含残差的二阶导数项,计算非常复杂。因此,常用的高斯-牛顿法(Gauss-Newton Method)利用一阶雅可比矩阵 J(x)\mathbf{J}(\mathbf{x})J(x) 来近似海森矩阵:
H≈JTJ\mathbf{H} \approx \mathbf{J}^T\mathbf{J}H≈JTJ
从而将更新步长方程简化为:
JTJΔx=−JTr\mathbf{J}^T\mathbf{J} \Delta\mathbf{x} = -\mathbf{J}^T\mathbf{r}JTJΔx=−JTr
在非线性最小二乘法中,r\mathbf{r}r 代表残差向量(Residual Vector)。
它是每个样本的预测值与真实值之间的差值。
1. 它的具体组成
假设你有 mmm 个已知的数据点(测量值),要拟合一个包含 nnn 个未知参数的非线性模型 h(x)h(\mathbf{x})h(x)。
对于第 iii 个样本点,它的残差定义为:
ri(x)=hi(x)−yir_i(\mathbf{x}) = h_i(\mathbf{x}) - y_iri(x)=hi(x)−yi
- hi(x)h_i(\mathbf{x})hi(x):模型对第 iii 个点的预测值(包含未知参数 x\mathbf{x}x)
- yiy_iyi:第 iii 个点的真实测量值
把所有 mmm 个样本的残差堆叠起来,就形成了残差向量:
r(x)=r1(x)r2(x)⋮rm(x)\mathbf{r}(\mathbf{x}) = \begin{bmatrix} r_1(\mathbf{x}) \\ r_2(\mathbf{x}) \\ \vdots \\ r_m(\mathbf{x}) \end{bmatrix}r(x)= r1(x)r2(x)⋮rm(x)
2. 它在公式中的物理意义
非线性最小二乘的核心目标,是让所有残差的平方和最小。目标函数写为:
f(x)=12∑i=1mri(x)2=12∥r(x)∥22f(\mathbf{x}) = \frac{1}{2} \sum_{i=1}^{m} r_i(\mathbf{x})^2 = \frac{1}{2} \Vert{}\mathbf{r}(\mathbf{x})\Vert{}^2_2f(x)=21i=1∑mri(x)2=21∥r(x)∥22
当我们对这个目标函数求一阶导数(即梯度 g\mathbf{g}g)时,根据多元复合函数求导法则,会得到:
g=∇f(x)=JTr\mathbf{g} = \nabla f(\mathbf{x}) = \mathbf{J}^T \mathbf{r}g=∇f(x)=JTr
- JTr\mathbf{J}^T \mathbf{r}JTr 本质上就是目标函数的梯度(误差曲面的最陡上升方向)。
- 在迭代优化时(如高斯-牛顿法 JTJΔx=−JTr\mathbf{J}^T\mathbf{J} \Delta\mathbf{x} = -\mathbf{J}^T\mathbf{r}JTJΔx=−JTr),右侧的 −JTr-\mathbf{J}^T\mathbf{r}−JTr 正好代表了我们要沿着梯度的反方向(最陡下降方向)去修正参数。
4. 核心作用与局限性
- 曲率与步长调整:海森矩阵的逆矩阵能够"解开"误差曲面的扭曲和长条形峡谷,使优化算法快速收敛。
- 矩阵奇异性风险:在非线性优化中,若 JTJ\mathbf{J}^T\mathbf{J}JTJ 满秩,则参数可解;若出现降秩或病态,JTJ\mathbf{J}^T\mathbf{J}JTJ 会变成奇异矩阵,导致求逆困难。因此实际中常采用列文伯格-马夸尔特方法(Levenberg-Marquardt)引入阻尼因子(JTJ+λI\mathbf{J}^T\mathbf{J} + \lambda\mathbf{I}JTJ+λI)来改善海森矩阵近似的稳定性。