当方程个数多于未知数(超定方程组)时通常没有精确解,最小二乘法求使 ∥Ax−b∥ 最小的近似解,正规方程给出这一问题的解。
最小二乘问题
最小二乘法是寻找数据最佳拟合线(或超平面)的数学优化技术:A 是已知矩阵,x 是待求变量,b 是已知向量,问题化为寻找使误差向量 Ax−b 的欧氏范数最小的 x。
推导
最小化 ∥Ax−b∥ 可转化为二次形式:
∥Ax−b∥2=(Ax−b)T(Ax−b)
展开得到:
xTATAx−2bTAx+bTb
对 x 求导并置零:
∂x∂(xTATAx−2bTAx+bTb)=2ATAx−2ATb=0
从而得到正规方程(Normal Equation):
ATAx=ATb
求解
求解正规方程 ATAx=ATb 可得最小二乘解,注意:
- 条件数:ATA 的条件数影响数值解的稳定性;若 A 的列线性相关,ATA 可能病态,直接求解有数值问题。
- 计算方法:实际中通常不直接解正规方程,而用数值稳定的方法,如 QR 分解、奇异值分解(SVD)。
- 多解情况:若 A 的列线性相关,ATA 奇异,最小二乘解不唯一,可用 SVD 求最小范数的最小二乘解。
与直接求逆法的关系
- 直接求逆法 x=A−1b:要求 A 是可逆方阵(det(A)=0),得到使 Ax=b 精确成立的解。
- 最小二乘法 ATAx=ATb:不要求 A 是方阵或可逆,适用于超定(m>n)或欠定(m<n)方程组。
若 A 是方阵且可逆,两种方法结果相同:由 ATAx=ATb 两边左乘 (AT)−1 得 Ax=b,再左乘 A−1 得 x=A−1b。
若 A 非方阵或奇异,直接求逆法不适用(A 无逆),最小二乘法仍然有效——它找的是 A 的列空间中使 Ax 最接近 b 的 x。