ARTICLE

正规方程组

正规方程组 (Normal Equations) 正规方程组 (Normal Equations) 是线性代数和统计学中的一个核心概念,尤其在解决最小二乘法 (Least Squares) 问题时扮演着关键角色。它提供了一种解析解(Closed-form Solution)的方法,用于求解线性回归模型中的最佳参数,其目标是最小化残差平方和 (Sum of S

浏览 63 更新 2025-10-26

正规方程组 (Normal Equations)

正规方程组 (Normal Equations) 是线性代数统计学中的一个核心概念,尤其在解决最小二乘法 (Least Squares) 问题时扮演着关键角色。它提供了一种解析解(Closed-form Solution)的方法,用于求解线性回归模型中的最佳参数,其目标是最小化残差平方和 (Sum of Squared Residuals, SSR)。

从本质上讲,正规方程组是一个将复杂的最优化问题转化为一个相对简单的线性方程组的工具。

理论背景:线性回归与最小二乘法

为了理解正规方程组的由来,我们首先需要建立其应用的背景——线性回归模型。一个多元线性回归模型可以表示为:

y=Xβ+ϵy = X\beta + \epsilon

这里的各个组成部分代表:

  • y y : 一个包含 n n 个观测值的 n×1 n \times 1 向量,代表因变量 (Dependent Variable)。
  • X X : 一个 n×(p+1) n \times (p+1) 的矩阵,称为设计矩阵 (Design Matrix) 或特征矩阵。其中 n n 是观测样本的数量,p p 是特征(自变量)的数量。第一列通常是全为 1 的向量,用于表示模型的截距项 (Intercept)。
  • β \beta : 一个 (p+1)×1 (p+1) \times 1 的向量,代表我们需要估计的模型参数(或称为系数)。这是我们求解的目标。
  • ϵ \epsilon : 一个 n×1 n \times 1 的向量,代表误差项残差 (Residuals),即模型无法解释的部分。

最小二乘法的目标是找到一个参数估计值 β^ \hat{\beta} ,使得模型预测值 y^=Xβ^ \hat{y} = X\hat{\beta} 与真实观测值 y y 之间的差距最小。这个“差距”通常用残差平方和(SSR)来衡量。

目标函数 SSR(β) SSR(\beta) 定义为:

SSR(β)=i=1n(yixiTβ)2SSR(\beta) = \sum_{i=1}^{n} (y_i - x_i^T \beta)^2

使用向量和矩阵表示,这个式子可以写得更简洁:

SSR(β)=(yXβ)T(yXβ)SSR(\beta) = (y - X\beta)^T (y - X\beta)

我们的任务就是找到能使这个 SSR(β) SSR(\beta) 最小化的 β^ \hat{\beta}

正规方程组的推导

求解上述最小化问题有两种主要途径:基于微积分的代数推导和基于线性代数的几何推导。两种方法都将引导我们得到相同的结果——正规方程组。

1. 基于微积分的推导

为了找到函数的最小值,我们通常需要计算其梯度 (Gradient) 并将其设为零向量。梯度是导数在多维向量函数上的推广。

首先,我们将 SSR(β) SSR(\beta) 展开:

\begin{align*} SSR(\beta) &= (y^T - (X\beta)^T)(y - X\beta) \\ &= (y^T - \beta^T X^T)(y - X\beta) \\ &= y^T y - y^T X\beta - \beta^T X^T y + \beta^T X^T X\beta

\end{align*}

注意到 yTXβ y^T X\beta 是一个标量,因此它的转置 βTXTy \beta^T X^T y 与其自身相等。所以上式可以合并为:

SSR(β)=yTy2βTXTy+βTXTXβSSR(\beta) = y^T y - 2\beta^T X^T y + \beta^T X^T X\beta

现在,我们对 SSR(β) SSR(\beta) 关于向量 β \beta 求偏导数(即计算梯度 βSSR \nabla_{\beta} SSR )。根据矩阵微积分的法则:

  • (aTx)x=a \frac{\partial (a^T x)}{\partial x} = a
  • (xTAx)x=(A+AT)x \frac{\partial (x^T A x)}{\partial x} = (A+A^T)x ;如果 A A 是对称矩阵,则简化为 2Ax 2Ax

在我们的表达式中,XTX X^T X 是一个对称矩阵。因此,求导结果为:

SSR(β)β=02XTy+2(XTX)β\frac{\partial SSR(\beta)}{\partial \beta} = 0 - 2X^T y + 2(X^T X)\beta

为了找到最小值,我们将此梯度设为零向量:

2XTy+2(XTX)β=0-2X^T y + 2(X^T X)\beta = 0

整理后即可得到 正规方程组

(XTX)β=XTy(X^T X) \beta = X^T y

这个方程组的形式是经典的 Ax=b A\mathbf{x} = \mathbf{b} ,其中 A=XTX A = X^T X ,未知向量 x=β \mathbf{x} = \beta ,而 b=XTy \mathbf{b} = X^T y

2. 基于几何的推导

几何解释提供了一种更直观的视角。

  • 观测向量 y y 存在于一个 n n 维空间 Rn \mathbb{R}^n 中。
  • 设计矩阵 X X 的所有列向量张成一个 Rn \mathbb{R}^n 的子空间,称为 X X 列空间 (Column Space),记为 C(X) C(X) 。这个子空间的维度是 X X 的秩。
  • 模型的预测值 y^=Xβ^ \hat{y} = X\hat{\beta} X X 的列向量的线性组合,因此 y^ \hat{y} 必须位于列空间 C(X) C(X) 内。
  • 最小二乘法的目标是,在子空间 C(X) C(X) 中找到一个向量 y^ \hat{y} ,使其与原始向量 y y 的距离最短。
  • 根据欧几里得几何,这个距离最短的向量 y^ \hat{y} 就是 y y 在子空间 C(X) C(X) 上的正交投影 (Orthogonal Projection)。
  • y^ \hat{y} y y 的正交投影时,残差向量 e=yy^ e = y - \hat{y} 必须与子空间 C(X) C(X) 内的任何向量都正交 (Orthogonal)。
  • 这意味着残差向量 e e 必须与构成子空间 C(X) C(X) 的所有基向量——即 X X 的每一列——都正交。
  • 这个正交条件可以用矩阵形式表达为:
XTe=0X^T e = 0

e=yy^=yXβ^ e = y - \hat{y} = y - X\hat{\beta} 代入,我们得到:

XT(yXβ^)=0X^T (y - X\hat{\beta}) = 0

展开此式:

XTyXTXβ^=0X^T y - X^T X \hat{\beta} = 0

整理后同样得到 正规方程组

(XTX)β^=XTy(X^T X) \hat{\beta} = X^T y

求解正规方程组

一旦我们得到了方程组 (XTX)β^=XTy (X^T X) \hat{\beta} = X^T y ,就可以求解 β^ \hat{\beta}

如果矩阵 (XTX) (X^T X) 可逆的 (Invertible),我们可以通过左乘其逆矩阵 (XTX)1 (X^T X)^{-1} 来得到 β^ \hat{\beta} 的唯一解:

β^=(XTX)1XTy\hat{\beta} = (X^T X)^{-1} X^T y

这就是著名的普通最小二乘法 (Ordinary Least Squares, OLS) 估计量的封闭解。

(XTX) (X^T X) 可逆的条件是 X X 的列向量是线性无关的 (Linearly Independent)。如果 X X 的列向量线性相关,即存在多重共线性 (Multicollinearity),那么 (XTX) (X^T X) 将是奇异矩阵 (Singular Matrix),不存在唯一的逆。在这种情况下,虽然最小二乘的最小值仍然存在,但有无穷多组解 β^ \hat{\beta} 可以达到这个最小值。

计算考量与替代方法

虽然正规方程组提供了一个优雅的解析解,但在实际应用中,特别是处理大规模数据集时,它存在一些局限性。

  • 计算复杂度:求解正规方程组的核心是计算 (XTX) (X^T X) 的逆。对于一个 n×p n \times p 的矩阵 X X ,计算 XTX X^T X 的复杂度为 O(np2) O(np^2) ,计算其逆的复杂度约为 O(p3) O(p^3) 。当特征数量 p p 非常大(例如成千上万)时,这个计算成本会变得极其高昂。
  • 数值不稳定性:如果矩阵 X X 的列存在高度相关性(但不是完全共线性),则 XTX X^T X 会变得病态 (Ill-conditioned)。病态矩阵的条件数很大,对其求逆时,微小的计算误差会被放大,导致最终得到的 β^ \hat{\beta} 解非常不稳定且不可靠。

由于这些原因,在许多现代机器学习应用中,会采用其他数值方法来求解最小二乘问题:

  • 梯度下降 (Gradient Descent):一种迭代算法,它从一个初始的 β \beta 值开始,沿着梯度下降的方向逐步更新 β \beta ,直到收敛到最小值。它避免了矩阵求逆,对于特征数量 p p 极大的情况特别有效。
  • QR分解 (QR Decomposition):一种矩阵分解技术,将矩阵 X X 分解为一个正交矩阵 Q Q 和一个上三角矩阵 R R 。这种方法在数值上比直接求逆稳定得多,是许多统计软件包中求解线性回归的默认方法。
  • 奇异值分解 (Singular Value Decomposition, SVD):这是最稳健的矩阵分解方法,即使在存在多重共线性的情况下也能给出有意义的解(例如,给出范数最小的解)。它的计算成本最高,但在数值稳定性和处理秩亏矩阵方面表现最佳。

尽管存在这些替代方法,正规方程组仍然是理解线性模型和最小二乘理论的基石。它清晰地揭示了最优解的代数结构,并且在特征数量 p p 不太大的情况下,它依然是一种直接有效的求解方法。