4. 超定与欠定问题的统一处理
在实际反演中,数据个数与模型参数个数很少恰好相等。当观测数据多于未知参数时,方程组超定;当观测数据少于未知参数时,方程组欠定。最小二乘框架的真正价值,在于它能把这两类看似对立的问题纳入同一套“带约束的优化”语言中处理:超定问题追求残差最小,欠定问题追求范数最小,而两者都可以写成同一个带权目标函数的不同特例。
两类问题的本质差异
设线性化后的观测方程为 Gm = d,其中 G 为 N×M 敏感度矩阵,m 为 M 维模型参数,d 为 N 维观测数据。超定情形 N > M,方程通常无精确解,因为噪声和模型误差使数据不可能被完全拟合;此时我们接受“没有完美解”的事实,转而寻找使残差 ‖Gm − d‖₂ 最小的模型,即经典最小二乘解 m = (GᵀG)⁻¹Gᵀd。欠定情形 N < M,方程有无穷多个精确解,因为未知量多于约束;此时残差可以为零,问题变成“在满足 Gm = d 的所有模型中挑哪一个”,自然的选择是范数最小的那个,即最小范数解 m = Gᵀ(GGᵀ)⁻¹d。
关键认识是:超定解在数据空间做投影,欠定解在模型空间做投影。前者把观测向量投影到 G 的列空间,后者把模型向量投影到 G 的行空间。二者互为对偶,这正是统一处理的数学基础。
统一形式:阻尼最小二乘
把两种诉求写进同一个目标函数,就得到阻尼最小二乘(也称 Tikhonov 正则化):
min ‖Gm − d‖₂² + λ²‖m‖₂²
解:m(λ) = (GᵀG + λ²I)⁻¹Gᵀd
= Gᵀ(GGᵀ + λ²I)⁻¹d
当 λ → 0 且 N > M 时,解退化为普通最小二乘解;当 λ → 0 且 N < M 时,解退化为最小范数解。也就是说,λ 不是两种方法的补丁,而是连接两者的连续桥梁:它同时压制残差和模型范数,在数据不足时提供唯一性,在数据充足时抑制噪声放大。实际实现中通常对 G 做奇异值分解 G = UΣVᵀ,则 m(λ) = Σᵢ (σᵢ/(σᵢ²+λ²)) vᵢuᵢᵀd,滤波因子 σᵢ²/(σᵢ²+λ²) 直观显示了大奇异值成分被保留、小奇异值成分被压制的机制。
案例对比:一维直流电阻率测深
考虑一个教学示例:地下三层水平层状介质,待反演参数为各层电阻率与厚度,共 6 个参数。假设采用温纳装置,电极距从 2 m 到 32 m。
超定场景:若布置 12 个电极距,得到 12 个视电阻率观测值,N=12 > M=6。此时雅可比矩阵 G 为 12×6,GᵀG 可逆。用高斯-牛顿迭代求解,初始模型取均匀半空间 100 Ω·m,迭代 5 次后残差 RMS 从初始的 38% 降到约 4%。由于数据充足,模型对初值不敏感,但需注意:若某两层厚度-电阻率组合的灵敏度列近似共线,GᵀG 条件数会很大,解对噪声敏感,此时应引入小 λ(如 0.01 倍最大奇异值)稳定求解。
欠定场景:若只布置 4 个电极距,N=4 < M=6。方程有无穷多解,直接求 (GᵀG)⁻¹ 会因奇异而失败。改用最小范数解,得到的是在满足 4 个观测值前提下模型参数偏离参考模型(如均匀半空间)最小的那个解。实际计算中,先对 G 做 SVD,保留 4 个非零奇异值对应的成分,再按 m = Gᵀ(GGᵀ)⁻¹d 求解。结果通常表现为“平滑但分辨率低”的模型:浅部信息由短极距数据约束,深部则被范数约束拉向参考模型,无法分辨薄层。
两种情形的对比可归纳为下表(示例参数,非实测):
| 对比项 | 超定(N=12, M=6) | 欠定(N=4, M=6) |
|---|---|---|
| 解的存在性 | 通常无精确解 | 无穷多精确解 |
| 优化目标 | 残差最小 | 范数最小 |
| 核心矩阵 | GᵀG(M×M) | GGᵀ(N×N) |
| 对噪声 | 可能放大,需正则化 | 范数约束天然抑制 |
| 分辨率 | 较高,受数据约束 | 较低,深部被拉向参考模型 |
| 典型风险 | 过拟合、条件数大 | 欠拟合、非唯一性 |
实践中的统一操作流程
无论 N 与 M 谁大,工程上推荐统一走“SVD + 阻尼”的路径,而不是先判断类型再分支:
- 对敏感度矩阵做 SVD,得到奇异值谱
σ₁ ≥ σ₂ ≥ … ≥ σᵣ,r为有效秩。 - 观察奇异值衰减:若
σᵣ/σ₁低于约10⁻⁶,说明存在近零空间,问题实际欠定或病态。 - 选取
λ使滤波因子在噪声水平附近截断,常用 L 曲线法:以‖Gm−d‖为横轴、‖m‖为纵轴,取曲率最大点。 - 用
m(λ) = Σᵢ (σᵢ/(σᵢ²+λ²)) vᵢuᵢᵀd计算解,并检查残差是否落在观测噪声量级内。 - 若残差远大于噪声,说明
λ过大或模型不足;若残差远小于噪声,说明过拟合,应增大λ。
统一处理的意义不在于抹平两类问题的差异,而在于让同一套代码、同一套诊断指标(残差、模型范数、奇异值谱、L 曲线)覆盖从数据充足到数据稀缺的全过程。超定与欠定不是两种方法,而是同一个正则化目标在 λ 两端的不同表现。