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

(线性代数最小二乘问题)Normal Equation(正规方程)

Normal Equation(正规方程) 是线性代数中的一个重要概念,主要用于解决最小二乘问题(Least Squares Problem)。它通过直接求解一个线性方程组,找到线性回归模型的最优参数(如权重或系数)。以下是详细介绍:


1. 定义与数学表达式

给定一个超定方程组(方程数量多于未知数):
A x = b A\mathbf{x} = \mathbf{b} Ax=b
其中:

  • $ A \in \mathbb{R}^{m \times n} ( ( m > n $)是一个设计矩阵(Design Matrix),
  • $ \mathbf{x} \in \mathbb{R}^n $ 是未知参数向量,
  • $ \mathbf{b} \in \mathbb{R}^m $ 是目标向量(通常不在 $ A $ 的列空间中)。

由于 $ A\mathbf{x} = \mathbf{b} $ 通常无解,Normal Equation 的目标是找到一个近似解 $ \mathbf{x} $,使得残差向量 $ \mathbf{e} = \mathbf{b} - A\mathbf{x} $ 的 L2 范数最小(即最小化误差平方和)。

Normal Equation 的公式为
A T A x = A T b A^T A \mathbf{x} = A^T \mathbf{b} ATAx=ATb
如果 $ A^T A $ 可逆,则最优解为:
x = ( A T A ) − 1 A T b \mathbf{x} = (A^T A)^{-1} A^T \mathbf{b} x=(ATA)1ATb


2. 推导方法
方法一:矩阵求导
  1. 定义损失函数(误差平方和):
    J ( x ) = ∥ b − A x ∥ 2 2 = ( b − A x ) T ( b − A x ) J(\mathbf{x}) = \|\mathbf{b} - A\mathbf{x}\|_2^2 = (\mathbf{b} - A\mathbf{x})^T (\mathbf{b} - A\mathbf{x}) J(x)=bAx22=(bAx)T(bAx)
  2. 对 $ \mathbf{x} $ 求导并令导数为零:
    ∂ J ∂ x = − 2 A T b + 2 A T A x = 0 \frac{\partial J}{\partial \mathbf{x}} = -2A^T \mathbf{b} + 2A^T A \mathbf{x} = 0 xJ=2ATb+2ATAx=0
  3. 得到 Normal Equation:
    A T A x = A T b A^T A \mathbf{x} = A^T \mathbf{b} ATAx=ATb
方法二:几何投影
  1. 几何视角
    • $ A\mathbf{x} $ 是 $ \mathbf{b} $ 在 $ A $ 的列空间(Column Space, $ C(A) $)上的投影 $ \mathbf{p} $。
    • 残差向量 $ \mathbf{e} = \mathbf{b} - \mathbf{p} $ 必须正交于列空间,即:
      A T e = 0 ⇒ A T ( b − A x ) = 0 A^T \mathbf{e} = 0 \quad \Rightarrow \quad A^T (\mathbf{b} - A\mathbf{x}) = 0 ATe=0AT(bAx)=0
    • 由此得到 Normal Equation:
      A T A x = A T b A^T A \mathbf{x} = A^T \mathbf{b} ATAx=ATb

3. 几何解释
  • 列空间与投影
    $ A $ 的列空间 $ C(A) $ 是所有可能的 $ A\mathbf{x} $ 组成的子空间。由于 $ \mathbf{b} $ 不在 $ C(A) $ 中,我们寻找 $ \mathbf{x} $ 使得 $ A\mathbf{x} $ 是 $ \mathbf{b} $ 在 $ C(A) $ 上的投影 $ \mathbf{p} $。

  • 正交性条件
    残差 $ \mathbf{e} = \mathbf{b} - \mathbf{p} $ 必须与列空间正交(即 $ \mathbf{e} \in N(A^T) $),从而导出 Normal Equation。


4. 应用场景

Normal Equation 是线性回归的核心工具,尤其适用于以下情况:

  1. 小规模数据集:当特征数 $ n $ 较小时(如 $ n < 10,000 $),计算 $ (A^T A)^{-1} $ 的开销较小。
  2. 无需迭代:与梯度下降等迭代方法不同,Normal Equation 直接通过矩阵运算得到解析解。
  3. 理论分析:在数学推导中,Normal Equation 提供了最小二乘解的唯一性、存在性等性质。

5. 注意事项
  1. 矩阵可逆性

    • $ A^T A $ 必须是可逆的(即 $ A $ 列满秩,$ \text{rank}(A) = n $)。
    • 如果 $ A^T A $ 不可逆(如特征间线性相关),则有无穷多解,此时需选择最小范数解(通过伪逆 $ A^\dagger $)。
  2. 计算复杂度

    • 计算 $ (A^T A)^{-1} $ 的时间复杂度为 $ O(n^3) $,当 $ n $ 较大时效率较低。
    • 此时通常改用梯度下降或正则化方法(如岭回归)。
  3. 数值稳定性

    • 若 $ A $ 接近病态矩阵(条件数很大),可能导致 $ A^T A $ 不可逆或结果不稳定。

6. 示例

假设我们有以下数据:
A = [ 1 2 1 3 1 4 ] , b = [ 2 3 4 ] A = \begin{bmatrix} 1 & 2 \\ 1 & 3 \\ 1 & 4 \end{bmatrix}, \quad \mathbf{b} = \begin{bmatrix} 2 \\ 3 \\ 4 \end{bmatrix} A= 111234 ,b= 234

  1. 计算 $ A^T A $ 和 $ A^T \mathbf{b} $:
    A T A = [ 3 9 9 29 ] , A T b = [ 9 29 ] A^T A = \begin{bmatrix} 3 & 9 \\ 9 & 29 \end{bmatrix}, \quad A^T \mathbf{b} = \begin{bmatrix} 9 \\ 29 \end{bmatrix} ATA=[39929],ATb=[929]
  2. 解 Normal Equation:
    [ 3 9 9 29 ] [ x 1 x 2 ] = [ 9 29 ] \begin{bmatrix} 3 & 9 \\ 9 & 29 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} 9 \\ 29 \end{bmatrix} [39929][x1x2]=[929]
    解得 $ \mathbf{x} = [0, 1]^T $,即最佳拟合直线为 $ y = 0 + 1x $。

7. 总结
项目说明
目标找到使残差 $ |\mathbf{b} - A\mathbf{x}|_2 $ 最小的 $ \mathbf{x} $。
公式$ \mathbf{x} = (A^T A)^{-1} A^T \mathbf{b} $。
适用场景小规模数据、理论分析、无迭代需求。
局限性计算复杂度高、要求 $ A^T A $ 可逆。
http://www.lryc.cn/news/573945.html

相关文章:

  • 【边缘计算】ECA、ECN、ECI
  • 逆向某物 App 登录接口:还原 newSign 算法全流程
  • springboot 提供的可扩展接口
  • Element表格表头合并技巧
  • 30天pytorch从入门到熟练(day1)
  • VS2019调试进入FFmpeg源码
  • Vulkan 学习笔记15—Mipmap 与多重采样
  • 【webSocket】WebSocket全双工通信实战指南
  • 从零开始手写redis(15)实现自己的 HashMap
  • java专题漏洞总结 + 靶场练习
  • 【学习笔记】深入理解Java虚拟机学习笔记——第10章 前端编译与优化
  • RA4M2开发IOT(10)----集成LPS22DF气压计
  • 扫雷中的数学原理
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月22日第116弹
  • 64-Oracle Redo Log
  • 肖臻《区块链技术与应用》第六讲:比特币网络
  • 点点(小红书AI搜索):生活场景的智能搜索助手
  • 数据库(1)-SQL
  • C++ - 标准库之 <string> npos(npos 概述、npos 的作用)
  • 2140、解决智力问题
  • 用 Python 绘制动态方块热力图:从数据到可视化的完美蜕变
  • Java基础复习之接口
  • PyTorch 入门学习笔记
  • LLM存储优化:大量长对话解决方案
  • 解决OSS存储桶未创建导致的XML错误
  • SQL Server基础语句4:数据定义
  • C#设计模式-Builder-生成器-对象创建型模式
  • JMeter API 并发性能测试计划JMX文件解析
  • 【力扣 中等 C】983. 最低票价
  • 通义大模型在文档自动化处理中的高效部署指南(OCR集成与批量处理优化)