矩阵定性:正定、负定、不定、半正定、半负定
Hessian 系列:定义与性质 → 本篇(矩阵定性)→ 特征值与特征向量的含义 → 图像处理中的 Hessian 矩阵
1. 定义:只看一个量
对对称矩阵 A,判断标准只有一个:对任意非零向量 x,二次型 xᵀAx 的符号是什么?
| 类型 | 条件 | 图形直觉 | 极值含义 |
|---|---|---|---|
| 正定 | xᵀAx > 0,对所有 x≠0 | 碗口向上 | 局部极小 |
| 负定 | xᵀAx < 0,对所有 x≠0 | 倒碗(向下开口) | 局部极大 |
| 半正定 | xᵀAx ≥ 0,有 x≠0 使等号成立 | 碗底是平的 | 可能极小 |
| 半负定 | xᵀAx ≤ 0,有 x≠0 使等号成立 | 倒碗底是平的 | 可能极大 |
| 不定 | 有 x 使 xᵀAx>0,也有 x 使 xᵀAx<0 | 马鞍形 | 鞍点 |
图形直觉(侧视图):
正定(碗): 负定(倒碗): 半正定(平底碗):
\ / /\ \______/
\ / / \
\__/ / \
不定(马鞍):同一个点,沿不同方向切一刀,凹凸相反
沿 A 方向切: \ · / 谷(函数值往上弯)
沿 B 方向切: /‾‾‾·‾‾‾\ 脊(函数值往下弯)
2. 判定方法
2.1 特征值(最本质)
| 类型 | 条件 |
|---|---|
| 正定 | 所有 λᵢ > 0 |
| 负定 | 所有 λᵢ < 0 |
| 半正定 | 所有 λᵢ ≥ 0,至少一个 = 0 |
| 半负定 | 所有 λᵢ ≤ 0,至少一个 = 0 |
| 不定 | λᵢ 有正有负 |
2.2 顺序主子式(Sylvester 准则)
设 Δ₁, Δ₂, ..., Δₙ 是从左上角依次变大的子矩阵的行列式:
2×2 矩阵为例:
Δ₁ = |a|
Δ₂ = |a b|
|b d|
| 类型 | 条件 |
|---|---|
| 正定 | Δ₁ > 0, Δ₂ > 0, ..., Δₙ > 0(全正) |
| 负定 | Δ₁ < 0, Δ₂ > 0, Δ₃ < 0, ...(符号交替,(-1)ᵏ) |
| 半正定 | 所有主子式 ≥ 0(不仅是顺序主子式) |
| 半负定 | 所有主子式 ≤ 0 |
| 不定 | 正定/负定的符号模式都不匹配(det < 0 可直接断定不定) |
容易忽略的点:半正定/半负定不能只查顺序主子式,必须把所有主子式都查一遍------这是用 Sylvester 准则最常见的踩坑处。实战中拿特征值判定更省心。
2.3 2×2 矩阵快速判定
H = \[a, b, b, d]:
det = ad - b²
tr = a + d
det > 0, a > 0 → 正定
det > 0, a < 0 → 负定
det < 0 → 不定
det = 0 → 半正定(a≥0) 或 半负定(a≤0)
3. 与一维二阶导数的对应关系
正定就是一维时 f'' > 0 的高维推广。
1D: f'' > 0 → 正定 → 极小值
nD: 所有 λᵢ > 0 → 正定 → 极小值
本质上是一回事:从"一个方向的 f''>0"推广到"所有方向的 f'' 都>0"。
- 单个特征值的正负只说明某个方向的凹凸
- 正定/负定/不定描述的是所有方向合在一起的整体形状
4. 具体数值例子
例1: H = [[4, 1], λ₁≈3.4, λ₂≈5.6 全正 → 正定
[1, 5]]
例2: H = [[-3, 0], λ₁=-3, λ₂=-5 全负 → 负定
[0, -5]]
例3: H = [[2, 3], λ₁=-1, λ₂=5 有正有负 → 不定
[3, 2]]
例4: H = [[4, 2], λ₁=0, λ₂=5 非负+有零 → 半正定
[2, 1]] (det = 0,第2行是第1行的0.5倍,秩=1)
例5: H = [[0, 0], λ₁=0, λ₂=0 全零 → 半正定(也是半负定)
[0, 0]]
5. 为什么正定意味着极小值
假设 f'(x₀) = 0(驻点),在 x₀ 附近做泰勒展开:
f(x₀ + h) - f(x₀) ≈ ½ f''(x₀) · h² (1D)
f(x₀ + Δx) - f(x₀) ≈ ½ ΔxᵀHΔx (nD)
关键:h² 恒为正(不管 h 正负),ΔxᵀHΔx 在 H 正定时也恒为正。
所以:
-
H 正定 → 不管往哪个方向走,函数值都增大 → 碗底 → 极小值
-
H 负定 → 不管往哪个方向走,函数值都减小 → 山顶 → 极大值
-
H 不定 → 有的方向增大有的减小 → 鞍点
f'' > 0 的情况(1D):
f' < 0 f' = 0 f' > 0 下坡 \ 平 \ / 上坡 \ | / \ | / \________|________/ x₀→ 斜率从负变正(递增),x₀ 是谷底
f'' > 0 意味着"坡度在增加"------你脚下是平的(f'=0),但两边的坡都在把你往上推,所以你站在最低点。