当前位置: 首页 > news >正文

欠定方程组最小范数解:从几何投影到 Moore-Penrose 伪逆的 2 种推导与联系

欠定方程组最小范数解:从几何投影到 Moore-Penrose 伪逆的 2 种推导与联系

在工程计算与机器学习中,我们常遇到方程数量少于未知数的情况——这类系统被称为欠定方程组。与超定系统追求最小二乘解不同,欠定问题的核心挑战在于如何从无穷多解中筛选出最具物理意义的解。本文将深入剖析最小范数解这一经典方法,揭示其几何本质与代数实现。

1. 欠定系统的几何图景

考虑行满秩矩阵 $A \in \mathbb{R}^{m \times n}$($m < n$)构成的线性系统 $Ax = b$。其解空间可表示为: $$ {x \mid Ax = b} = {x_p + z \mid z \in \mathcal{N}(A)} $$ 其中 $x_p$ 为特解,$\mathcal{N}(A)$ 是 $A$ 的零空间,维度为 $n - m$。

几何视角:在 $n$ 维空间中,解集构成一个超平面。最小范数解即该超平面上距离原点最近的点,其性质可通过投影定理严格表述:

最小范数解 $x_{\text{ln}}$ 满足 $x_{\text{ln}} \perp \mathcal{N}(A)$,即解向量与零空间正交。

这一性质揭示了最小范数解的唯一性。通过构造拉格朗日函数可证明,该解恰为 $b$ 在 $A$ 的行空间上的投影:

import numpy as np def min_norm_solve(A, b): return A.T @ np.linalg.inv(A @ A.T) @ b

2. 代数推导:分裂法与拉格朗日乘子法

2.1 分裂法推导

设 $x = A^T \bar{x}$,其中 $\bar{x} \in \mathbb{R}^m$。代入原方程得: $$ AA^T \bar{x} = b \implies \bar{x} = (AA^T)^{-1}b $$ 从而得到闭式解: $$ x_{\text{ln}} = A^T(AA^T)^{-1}b $$

关键步骤验证

  1. 对任意其他解 $x'$,有 $A(x'-x_{\text{ln}})=0$
  2. 计算内积 $(x'-x_{\text{ln}})^T x_{\text{ln}} = 0$,证得正交性
  3. 由勾股定理 $|x'|^2 = |x_{\text{ln}}|^2 + |x'-x_{\text{ln}}|^2 \geq |x_{\text{ln}}|^2$

2.2 拉格朗日乘子法

构建优化问题: $$ \min_x |x|^2 \quad \text{s.t.} \quad Ax = b $$ 拉格朗日函数为: $$ \mathcal{L}(x, \lambda) = x^Tx + \lambda^T(Ax - b) $$ 求导得 KKT 条件: $$ \begin{cases} 2x + A^T\lambda = 0 \ Ax = b \end{cases} $$ 解得: $$ x_{\text{ln}} = A^T(AA^T)^{-1}b $$

两种方法殊途同归,印证了 Moore-Penrose 伪逆 $A^\dagger = A^T(AA^T)^{-1}$ 的理论正确性。

3. 伪逆的统一框架

Moore-Penrose 伪逆完美统一了超定与欠定系统的求解:

系统类型矩阵形状伪逆形式解的性质
超定系统$m > n$$(A^TA)^{-1}A^T$最小二乘解
欠定系统$m < n$$A^T(AA^T)^{-1}$最小范数解

计算实践:实际应用中推荐使用 QR 分解避免直接求逆:

[Q,R] = qr(A'); x_ln = Q * (R' \ b);

4. 正则化与数值稳定性

当 $AA^T$ 接近奇异时,Tikhonov 正则化提供稳定解: $$ x_\mu = (A^TA + \mu I)^{-1}A^Tb $$ 随着 $\mu \to 0$,正则化解收敛于最小范数解。现代数值库如 MATLAB 的lsqminnorm实现了自适应正则化:

x = lsqminnorm(A, b, 'RegularizationFactor', 1e-6);

经验提示:在处理病态问题时,适当调整正则化因子可平衡解的范数与残差。

http://www.jsqmd.com/news/1171005/

相关文章:

  • Picsum 与 Unsplash 等3款图片API对比:免费额度、响应速度与适用场景实测
  • 免费额度用完后多花372%?DeepSeek API隐性计费陷阱,工程师必须立刻自查
  • 数学符号 ≈、≃、≅ 辨析:3个场景下的精确含义与常见误用
  • C++移动赋值运算符:从原理到实战的高性能编程指南
  • 如何高效获取国家中小学智慧教育平台电子课本PDF?智能下载工具全攻略
  • DynVLA:面向自动驾驶的动态视觉语言推理框架
  • Generative Pre‑trained Transformer(GPT)
  • PL/0 语言扩充对比:3 种循环结构(while/do-until/for)的语法设计与实现差异
  • 基于SpringBoot的高校自习室预约系统
  • go: Floyd-Warshall Algorithms
  • (干货整理)亲测好用的AI论文网站,毕业生收藏备用
  • VMware Workstation 17 Pro 配置 Windows 10 虚拟机:3个关键参数优化与性能实测
  • 角色生成器character-builder
  • 如何高效使用WebToEpub:网页转电子书的完整秘籍
  • EM3080-W与TM4C129EKCPDT在工业条码识别中的硬件与固件设计
  • ServiceExtensionAbility 实战:服务扩展生命周期与请求处理
  • FFmpeg 7.0 源码编译安装:Ubuntu 22.04 3步配置与动态库ldconfig详解
  • 【共创季稿事节】跨屏演讲台实战:一个 HarmonyOS6.1 跨设备协同应用的完整开发复盘
  • 参数估计 3 大方法对比:最小二乘 vs 最大似然 vs Bayes 估计
  • 终极指南:如何在浏览器中免费快速获取八大网盘直链下载地址
  • 如何用WeChatMsg永久保存你的微信聊天记忆:个人数据主权实践指南
  • 子网划分实战:从吉大真题LAN1-LAN8案例到CIDR /24网段的8子网规划
  • JAVA+Agentday11
  • gcc新手常用指令
  • 实战|Nginx/Apache服务器SSL证书自动化部署与续期完整教程
  • MapReduce WordCount 原理解析:从单机统计到分布式计算的 3 个关键转变
  • 基于Lingbot深度估计与Unity的AR真实遮挡技术实现
  • C/C++图床云存储:从零构建基础组件(日志、配置、错误处理)
  • Unity URP安卓项目阴影优化实战:告别锯齿闪烁,提升移动端画质与性能
  • 论文 AI 率太高怎么降?3 步降到检测合格