用正规方程求解最小二乘问题

最小二乘问题

在许多实际应用中,形如 \( A x = B \) 的方程组可能是不相容的。这通常是因为现实世界的数据包含测量误差(噪声),而且系统通常是超定的(即收集的数据点多于未知变量数,以提高可靠性)。由于收集的数据点不能完全对齐,无法找到精确的数学解 \( x \)。然而,通常可以找到一个最优的近似解 \( \hat{x} \)。

最小二乘问题寻求找到一个近似解 \( \hat{x} \),使得向量 \( A \hat{x} \) 和 \( B \) 之间的距离(由范数 \( ||A \hat{x} - B|| \) 给出)尽可能小。

《线性代数及其应用》中证明了近似解 \( \hat{x} \) 由正规方程给出:

$$ A^T A \hat{x} = A^T B $$

其中 \( A^T \) 是矩阵 \( A \) 的转置。

示例与解答

例 1

给定方程组 \( Ax = B \):

$$ A = \begin{bmatrix} 2 & 0 \\ 0 & 1 \\ 1 & 2 \end{bmatrix} \quad \text{和} \quad B = \begin{bmatrix} 1 \\ 0 \\ 3 \end{bmatrix} $$

a) 证明该方程组不相容(无解)。

b) 求该不相容方程组的最小二乘解。

c) 确定由 \( || A \hat{x} - B || \) 给出的最小二乘误差。

查看例 1 的解答

a) 证明方程组不相容

我们将方程组写为增广矩阵并进行行化简:

$$ \begin{bmatrix} 2 & 0 & | & 1 \\ 0 & 1 & | & 0 \\ 1 & 2 & | & 3 \end{bmatrix} $$

应用高斯-约当消元法后:

$$ \begin{bmatrix} 1 & 0 & | & 0 \\ 0 & 1 & | & 0 \\ 0 & 0 & | & 1 \end{bmatrix} $$

最后一行对应的方程为 \( 0x_1 + 0x_2 = 1 \),这是不可能的。因此,方程组不相容。


b) 求最小二乘解

首先,求 \( A \) 的转置:

$$ A^T = \begin{bmatrix} 2 & 0 & 1 \\ 0 & 1 & 2 \end{bmatrix} $$

计算 \( A^T A \):

$$ A^T A = \begin{bmatrix} 2 & 0 & 1 \\ 0 & 1 & 2 \end{bmatrix} \begin{bmatrix} 2 & 0 \\ 0 & 1 \\ 1 & 2 \end{bmatrix} = \begin{bmatrix} 5 & 2 \\ 2 & 5 \end{bmatrix} $$

计算 \( A^T B \):

$$ A^T B = \begin{bmatrix} 2 & 0 & 1 \\ 0 & 1 & 2 \end{bmatrix} \begin{bmatrix} 1 \\ 0 \\ 3 \end{bmatrix} = \begin{bmatrix} 5 \\ 6 \end{bmatrix} $$

建立正规方程 \( A^T A \hat{x} = A^T B \):

$$ \begin{bmatrix} 5 & 2 \\ 2 & 5 \end{bmatrix} \hat{x} = \begin{bmatrix} 5 \\ 6 \end{bmatrix} $$

解此方程组得到近似解:

$$ \hat{x} = \begin{bmatrix} \frac{13}{21} \\ \frac{20}{21} \end{bmatrix} $$

c) 确定最小二乘误差

首先,计算向量 \( A \hat{x} - B \):

$$ A \hat{x} - B = \begin{bmatrix} 2 & 0 \\ 0 & 1 \\ 1 & 2 \end{bmatrix} \begin{bmatrix} \frac{13}{21} \\ \frac{20}{21} \end{bmatrix} - \begin{bmatrix} 1 \\ 0 \\ 3 \end{bmatrix} = \begin{bmatrix} \frac{5}{21} \\ \frac{20}{21} \\ -\frac{10}{21} \end{bmatrix} $$

接下来,求该向量的范数(长度):

$$ ||A \hat{x} - B|| = \sqrt{\left(\frac{5}{21}\right)^2 + \left(\frac{20}{21}\right)^2 + \left(-\frac{10}{21}\right)^2} = \frac{5\sqrt{21}}{21} \approx 1.1 $$

例 2

给定方程组 \( Ax = B \):

$$ A = \begin{bmatrix} 1 & 0 & 1 \\ 2 & 0 & 2 \\ 0 & -1 & 1 \\ 0 & -2 & 2 \end{bmatrix} \quad \text{和} \quad B = \begin{bmatrix} 2 \\ 3 \\ 4 \\ 7 \end{bmatrix} $$

a) 证明该方程组不相容。

b) 求该不相容方程组的最小二乘解。

c) 确定由 \( || Ax - B || \) 给出的最小二乘误差。

查看例 2 的解答

a) 证明方程组不相容

将方程组写为增广矩阵形式:

$$ \begin{bmatrix} 1 & 0 & 1 & | & 2 \\ 2 & 0 & 2 & | & 3 \\ 0 & -1 & 1 & | & 4 \\ 0 & -2 & 2 & | & 7 \end{bmatrix} $$

写为行简化形式(高斯-约当)得到:

$$ \begin{bmatrix} 1 & 0 & 1 & | & 0 \\ 0 & 1 & -1 & | & 0 \\ 0 & 0 & 0 & | & 1 \\ 0 & 0 & 0 & | & 0 \end{bmatrix} $$

第三行对应的方程为 \( 0x_1 + 0x_2 + 0x_3 = 1 \),无解。因此方程组不相容。


b) 求最小二乘解

首先,求 \( A^T \):

$$ A^T = \begin{bmatrix} 1 & 2 & 0 & 0 \\ 0 & 0 & -1 & -2 \\ 1 & 2 & 1 & 2 \end{bmatrix} $$

计算 \( A^T A \):

$$ A^T A = \begin{bmatrix} 1 & 2 & 0 & 0 \\ 0 & 0 & -1 & -2 \\ 1 & 2 & 1 & 2 \end{bmatrix} \begin{bmatrix} 1 & 0 & 1 \\ 2 & 0 & 2 \\ 0 & -1 & 1 \\ 0 & -2 & 2 \end{bmatrix} = \begin{bmatrix} 5 & 0 & 5 \\ 0 & 5 & -5 \\ 5 & -5 & 10 \end{bmatrix} $$

计算 \( A^T B \):

$$ A^T B = \begin{bmatrix} 1 & 2 & 0 & 0 \\ 0 & 0 & -1 & -2 \\ 1 & 2 & 1 & 2 \end{bmatrix} \begin{bmatrix} 2 \\ 3 \\ 4 \\ 7 \end{bmatrix} = \begin{bmatrix} 8 \\ -18 \\ 26 \end{bmatrix} $$

建立正规方程 \( A^T A \hat{x} = A^T B \):

$$ \begin{bmatrix} 5 & 0 & 5 \\ 0 & 5 & -5 \\ 5 & -5 & 10 \end{bmatrix} \hat{x} = \begin{bmatrix} 8 \\ -18 \\ 26 \end{bmatrix} $$

将其写为增广矩阵并进行行化简:

$$ \begin{bmatrix} 5 & 0 & 5 & | & 8 \\ 0 & 5 & -5 & | & -18 \\ 5 & -5 & 10 & | & 26 \end{bmatrix} \rightarrow \begin{bmatrix} 1 & 0 & 1 & | & \frac{8}{5} \\ 0 & 1 & -1 & | & -\frac{18}{5} \\ 0 & 0 & 0 & | & 0 \end{bmatrix} $$

这里,\( x_3 \) 是自由变量。

由第二行:\( x_2 - x_3 = -\frac{18}{5} \implies x_2 = x_3 - \frac{18}{5} \)

由第一行:\( x_1 + x_3 = \frac{8}{5} \implies x_1 = -x_3 + \frac{8}{5} \)

通解为:

$$ \hat{x} = \begin{bmatrix} -x_3 + \frac{8}{5} \\ x_3 - \frac{18}{5} \\ x_3 \end{bmatrix} \quad \text{对任意 } x_3 \in \mathbb{R} $$

注意: 这个特定的最小二乘问题有无穷多个解。


c) 确定最小二乘误差

首先,计算向量 \( A \hat{x} - B \):

$$ A \hat{x} - B = \begin{bmatrix} 1 & 0 & 1 \\ 2 & 0 & 2 \\ 0 & -1 & 1 \\ 0 & -2 & 2 \end{bmatrix} \begin{bmatrix} -x_3 + \frac{8}{5} \\ x_3 - \frac{18}{5} \\ x_3 \end{bmatrix} - \begin{bmatrix} 2 \\ 3 \\ 4 \\ 7 \end{bmatrix} = \begin{bmatrix} -\frac{2}{5} \\ \frac{1}{5} \\ -\frac{2}{5} \\ \frac{1}{5} \end{bmatrix} $$

接下来,求该向量的范数:

$$ ||A \hat{x} - B|| = \sqrt{\left(-\frac{2}{5}\right)^2 + \left(\frac{1}{5}\right)^2 + \left(-\frac{2}{5}\right)^2 + \left(\frac{1}{5}\right)^2} = \frac{\sqrt{2}}{5} \approx 0.63 $$

注意: 最小二乘误差是常数,不依赖于自由变量 \( x_3 \)。

更多参考与链接

  1. 向量空间 - 问题与解答
  2. 用 QR 分解求解最小二乘问题
  3. Linear Algebra and its Applications - 5th Edition - David C. Lay, Steven R. Lay, Judi J. McDonald
  4. Elementary Linear Algebra - 7th Edition - Howard Anton and Chris Rorres