线性代数之超定方程使用最小二乘求解
2026/5/13 22:24:19 网站建设 项目流程

在超定方程中, 线性方程组一般不能被完全精确满足,因此需要使用最小二乘法求解参数XXX

假设线性方程组可以写成:

AX≈B AX \approx BAXB

其中,AAA为系数矩阵,XXX为待求参数向量,BBB为观测值向量。

定义残差向量为:

r=AX−B r = AX - Br=AXB

最小二乘法的目标是使残差平方和最小,即:

X=arg⁡min⁡X∥AX−B∥2 X = \arg\min_X \|AX - B\|^2X=argXminAXB2

为了便于推导,定义目标函数:

J(X)=∥AX−B∥2 J(X) = \|AX - B\|^2J(X)=AXB2

向量二范数的平方可以写成内积形式:

J(X)=(AX−B)T(AX−B) J(X) = (AX - B)^T(AX - B)J(X)=(AXB)T(AXB)

展开可得:

J(X)=XTATAX−XTATB−BTAX+BTB J(X) = X^T A^T A X - X^T A^T B - B^T A X + B^T BJ(X)=XTATAXXTATBBTAX+BTB

由于XTATBX^T A^T BXTATBBTAXB^T A XBTAX都是标量,并且二者相等: (计算两者矩阵维度)

XTATB=BTAX X^T A^T B = B^T A XXTATB=BTAX

所以目标函数可以化简为:

J(X)=XTATAX−2XTATB+BTB J(X) = X^T A^T A X - 2X^T A^T B + B^T BJ(X)=XTATAX2XTATB+BTB

下面对J(X)J(X)J(X)关于XXX求导。

首先有:

∂∂X(XTATAX)=2ATAX \frac{\partial}{\partial X} (X^T A^T A X) = 2A^TAXX(XTATAX)=2ATAX

这是因为ATAA^TAATA是对称矩阵,即:

(ATA)T=ATA (A^TA)^T = A^TA(ATA)T=ATA

其次有:

∂∂X(−2XTATB)=−2ATB \frac{\partial}{\partial X} (-2X^TA^TB) = -2A^TBX(2XTATB)=2ATB

最后,BTBB^TBBTB中不含有待求参数XXX,因此:

∂∂X(BTB)=0 \frac{\partial}{\partial X} (B^TB) = 0X(BTB)=0

所以目标函数的导数为:

∂J(X)∂X=2ATAX−2ATB \frac{\partial J(X)}{\partial X} = 2A^TAX - 2A^TBXJ(X)=2ATAX2ATB

最小二乘问题要求目标函数取得最小值,因此令导数为零:

2ATAX−2ATB=0 2A^TAX - 2A^TB = 02ATAX2ATB=0

化简可得:

ATAX=ATB A^TAX = A^TBATAX=ATB

这就是最小二乘法对应的正规方程。

ATAA^TAATA可逆时,可以在等式两边左乘(ATA)−1(A^TA)^{-1}(ATA)1,得到:

X=(ATA)−1ATB X = (A^TA)^{-1}A^TBX=(ATA)1ATB

因此,正规方程的本质就是:对最小二乘目标函数J(X)=∥AX−B∥2J(X)=\|AX-B\|^2J(X)=AXB2关于待求参数XXX求导,并令导数为零后得到的方程。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询