本页讲解正定矩阵(positive definite matrix)与条件数(condition number)——理解「矩阵求逆为何不稳定」及训练/推断中的数值实践。
段末注释:矩阵 $A$ 正定(positive definite,PD)指对任意非零 $\mathbf{x}$ 有 $\mathbf{x}^\top A \mathbf{x} > 0$;半正定(positive semidefinite,PSD)允许 $\ge 0$。
系列入口:00.系列规划 | 前置:04 特征值、06 范数
1. 正定与半正定(D2–D3)

对称矩阵 $A = A^\top$:
| 性质 | 等价条件 |
|---|---|
| 正定(PD) | 所有特征值 $\lambda_i > 0$ |
| 半正定(PSD) | 所有 $\lambda_i \ge 0$ |
| 存在 $B$ 使 $A = B B^\top$ | |
| 所有顺序主子式 $> 0$(Sylvester,PD) |
协方差矩阵 $\Sigma$ 恒为 PSD;相关矩阵 $R$ 为 PSD 且对角为 1。严格 PD 当且仅当不存在完美线性相关的特征。
2. Cholesky 分解(D3)

若 $A$ 为 PD,则存在唯一下三角 $L$(对角正):
$$
A = L L^\top
$$
用途:
- 解 $A\mathbf{x}=\mathbf{b}$ 比直接求逆快且稳
- 多元正态采样:$\mathbf{x} = \boldsymbol{\mu} + L \mathbf{z}$,$\mathbf{z}\sim\mathcal{N}(0,I)$(Math-00/30)
- Gaussian Process、Kalman 滤波
np.linalg.cholesky 要求严格 PD; near-singular 时加 jitter:$\Sigma + \epsilon I$。
3. 条件数(D3–D6)
条件数(相对 2-范数):
$$
\kappa(A) = |A|2 |A^{-1}|2 = \frac{\sigma{\max}}{\sigma{\min}}
$$
| $\kappa(A)$ | 含义 |
|---|---|
| $\approx 1$ | 良态,求逆/求解可靠 |
| $\gg 1$ | 病态,输入小扰动 → 输出大变化 |
| $= \infty$ | 奇异(秩亏) |
Hessian 条件数大 → 损失 landscape 狭长,SGD zigzag;预处理、Adam、归一化 缓解。
4. ML 场景(D7)

| 场景 | 正定/条件数角色 |
|---|---|
| $X^\top X$(正规方程) | 共线性 → 近奇异,用 Ridge |
| 协方差 $\Sigma$ | PSD;$\kappa(\Sigma)$ 大 → PCA 主成分估计不稳 |
| Softmax + CE | log-sum-exp 稳定(非 PD,但防溢出) |
| LayerNorm / BatchNorm | 控制激活尺度,间接改善条件数 |
| Newton 法 | 需 Hessian PD(或修正) |
| 混合精度 FP16 | 更易数值下溢/上溢 |
与 Math-03/06 范数 梯度裁剪配合使用。
5. 局限与对策(D8)

| 问题 | 对策 |
|---|---|
| $\Sigma$ 秩亏($n < d$) | PCA 截断;伪逆 |
| Cholesky 失败 | $\Sigma + \epsilon I$,$\epsilon \sim 10^{-6}$ |
| 估计协方差噪声 | Ledoit–Wolf 收缩 |
| 忽视 $\kappa$ 只调 lr | 先标准化/归一化 |
6. NumPy 示例(D12)
1 | import numpy as np |
7. 小结
PSD/PD 刻画「方差型」矩阵合法形状;条件数 刻画「求解有多难」。应用篇:10 PCA。