跳至主要內容

PKM-er大约 3 分钟

对于求 Axb\|Ax-b\| 的最小值或使之最小的 xx 的问题,常见的方法是通过最小二乘法来解决。这里主要涉及到线性代数和数值分析中的一些基本概念和计算方法。

1. 最小二乘法基本概念

最小二乘法是一种数学优化技术,用于找到一组数据中最佳拟合线(或超平面)的过程。在线性模型中,这通常涉及到最小化误差的平方和。当我们有 Axb\|Ax-b\| 的形式时,AA 是一个已知的矩阵,xx 是我们需要求解的变量,bb 是已知的向量。这个问题可以表述为寻找一个向量 xx 使得误差向量 AxbAx - b 的欧氏范数最小。

2. 数学公式和推导

要最小化 Axb\|Ax-b\|,可以将其转化为一个二次形式:

Axb2=(Axb)T(Axb) \|Ax-b\|^2 = (Ax - b)^T (Ax - b)

展开后得到:

xTATAx2bTAx+bTb x^T A^T A x - 2 b^T A x + b^T b

为了找到这个表达式的最小值,需要对 xx 求导并置零:

x(xTATAx2bTAx+bTb)=2ATAx2ATb=0 \frac{\partial}{\partial x} (x^T A^T A x - 2 b^T A x + b^T b) = 2A^T A x - 2A^T b = 0

从而得到正规方程(Normal Equation):

ATAx=ATb A^T A x = A^T b

3. 解正规方程

求解正规方程 ATAx=ATbA^T A x = A^T b 可以得到最小二乘解。这里有几点需要注意:

  • 矩阵的条件数ATAA^T A 的条件数影响数值解的稳定性和精确性。如果 AA 的列线性相关或接近线性相关,ATAA^T A 可能是病态的,直接求解会有数值问题。
  • 计算方法:实际计算中通常不直接求解 ATAx=ATbA^T A x = A^T b,而是使用数值稳定的方法,如 QR 分解、奇异值分解(SVD)等。
  • 存在多解的情况:如果 AA 的列不是线性独立的(即矩阵 AA 是奇异的),那么最小二乘解不是唯一的。此时,可以使用 SVD 来找到最小范数的最小二乘解。

解这个疑问需要考虑矩阵 AA 的性质和这两种方法的应用条件。

直接求逆法 x=A1bx = A^{-1}b

直接使用 x=A1bx = A^{-1}b 求解,其前提是 AA 必须是一个可逆矩阵,也就是说 AA 必须是方阵且其行列式不为零(即 det(A)0\det(A) \neq 0)。这种方法直接找到一个解,使得 Ax=bAx = b 精确成立。

最小二乘法 ATAx=ATbA^T A x = A^T b

如果矩阵 AA 是非方阵, 可以使用最小二乘法解 ATAx=ATbA^T A x = A^T b ,即矩阵可能是过定的(行数多于列数,即 m>nm > n)或者欠定的(行数少于列数,即 m<nm < n)。最小二乘法的目的是找到 xx 使得 Axb\|Ax - b\| 最小,这里的范数通常是欧几里得范数。这种方法不要求 AA 是方阵,也不要求 AA 可逆。

结果差异

如果 AA 是方阵且可逆,那么最小二乘法给出的解 ATAx=ATbA^T A x = A^T b 将与直接求逆法 x=A1bx = A^{-1}b 的结果相同,因为此时 ATA=AA^T A = AATb=bA^T b = b。然而,如果 AA 不是方阵或者是奇异的(不可逆),两种方法将会给出不同的结果:

  • 直接求逆法 不适用于非方阵或奇异方阵,因为这种情况下 AA 没有逆。
  • 最小二乘法 仍然有效,因为它找的是在 AA 的列空间中使得 AxAx 最接近 bbxx 值。

因此,这两种方法适用的条件和目标不同,其结果可能也会有所不同,取决于 AA 的具体性质。如果 AA 可逆且为方阵,两种方法结果相同;如果不是,只有最小二乘法适用。