虽然正规方程方法(\( A^T A \hat{x} = A^T B \))提供了求解最小二乘问题的直接途径,但计算矩阵乘积 \( A^T A \) 有时会加剧数值不稳定性和舍入误差。为了避免这种情况,线性代数依赖 QR 分解作为一种更稳定的正交替代方法。
通过将矩阵 \( A \) 分解为正交矩阵 \( Q \) 和上三角矩阵 \( R \)(使得 \( A = QR \)),最小二乘问题显著简化。如《线性代数及其应用》所示,近似解 \( \hat{x} \) 可以直接从以下方程求得:
其中 \( Q^T \) 是矩阵 \( Q \) 的转置,\( R \) 是上三角矩阵。由于 \( R \) 是上三角矩阵,该方程组可以使用回代法非常高效地求解,而无需计算 \( A^T A \)。
使用 QR 分解求解与不相容方程组 \( Ax = B \) 相关的最小二乘问题:
$$ A = \begin{bmatrix} 2 & 0 \\ 0 & 1 \\ 1 & 2 \end{bmatrix} \quad \text{和} \quad B = \begin{bmatrix} 1 \\ 0 \\ 3 \end{bmatrix} $$步骤 1:求正交矩阵 Q
使用格拉姆-施密特过程求正交矩阵 \( Q \),并将矩阵 \( A \) 分解为 \( A = QR \)。
$$ Q = \begin{bmatrix} \frac{2\sqrt{5}}{5} & \frac{-4\sqrt{105}}{105} \\ 0 & \frac{\sqrt{105}}{21} \\ \frac{\sqrt{5}}{5} & \frac{8\sqrt{105}}{105} \end{bmatrix} $$步骤 2:计算矩阵 R
将 \( A = QR \) 两边乘以 \( Q^T \)(\( Q \) 的转置)。由于 \( Q \) 是正交矩阵,\( Q^T Q = I \),这将方程简化为 \( R = Q^T A \)。
首先,写出 \( Q \) 的转置:
$$ Q^T = \begin{bmatrix} \frac{2\sqrt{5}}{5} & 0 & \frac{\sqrt{5}}{5} \\ \frac{-4\sqrt{105}}{105} & \frac{\sqrt{105}}{21} & \frac{8\sqrt{105}}{105} \end{bmatrix} $$现在计算 \( R \):
$$ R = Q^T A = \begin{bmatrix} \frac{2\sqrt{5}}{5} & 0 & \frac{\sqrt{5}}{5} \\ \frac{-4\sqrt{105}}{105} & \frac{\sqrt{105}}{21} & \frac{8\sqrt{105}}{105} \end{bmatrix} \begin{bmatrix} 2 & 0 \\ 0 & 1 \\ 1 & 2 \end{bmatrix} = \begin{bmatrix} \sqrt{5} & \frac{2}{\sqrt{5}} \\ 0 & \sqrt{\frac{21}{5}} \end{bmatrix} $$步骤 3:计算 \( Q^T B \)
$$ Q^T B = \begin{bmatrix} \frac{2\sqrt{5}}{5} & 0 & \frac{\sqrt{5}}{5} \\ \frac{-4\sqrt{105}}{105} & \frac{\sqrt{105}}{21} & \frac{8\sqrt{105}}{105} \end{bmatrix} \begin{bmatrix} 1 \\ 0 \\ 3 \end{bmatrix} = \begin{bmatrix} \sqrt{5} \\ \frac{4\sqrt{5}}{\sqrt{21}} \end{bmatrix} $$步骤 4:解 \( R \hat{x} = Q^T B \)
将 \( R \) 和 \( Q^T B \) 代入方程组:
$$ \begin{bmatrix} \sqrt{5} & \frac{2}{\sqrt{5}} \\ 0 & \sqrt{\frac{21}{5}} \end{bmatrix} \hat{x} = \begin{bmatrix} \sqrt{5} \\ \frac{4\sqrt{5}}{\sqrt{21}} \end{bmatrix} $$由于 \( R \) 是上三角矩阵,我们可以使用回代法快速求解,得到最终的近似解:
$$ \hat{x} = \begin{bmatrix} \frac{13}{21} \\ \frac{20}{21} \end{bmatrix} $$使用 QR 分解求解与不相容方程组 \( Ax = B \) 相关的最小二乘问题:
$$ A = \begin{bmatrix} 1 & 0 & 1 \\ 2 & 0 & 0 \\ 0 & -1 & 1 \\ 0 & -2 & 0 \end{bmatrix} \quad \text{和} \quad B = \begin{bmatrix} 2 \\ 3 \\ 4 \\ 7 \end{bmatrix} $$步骤 1:求正交矩阵 Q
对矩阵 \( A \) 使用格拉姆-施密特过程求正交矩阵 \( Q \)。
$$ Q = \begin{bmatrix} \frac{\sqrt{5}}{5} & 0 & \frac{\sqrt{10}}{5} \\ \frac{2\sqrt{5}}{5} & 0 & -\frac{\sqrt{10}}{10} \\ 0 & -\frac{\sqrt{5}}{5} & \frac{\sqrt{10}}{5} \\ 0 & -\frac{2\sqrt{5}}{5} & -\frac{\sqrt{10}}{10} \end{bmatrix} $$步骤 2:计算矩阵 R
利用性质 \( R = Q^T A \),我们首先确定转置 \( Q^T \):
$$ Q^T = \begin{bmatrix} \frac{\sqrt{5}}{5} & \frac{2\sqrt{5}}{5} & 0 & 0 \\ 0 & 0 & -\frac{\sqrt{5}}{5} & -\frac{2\sqrt{5}}{5} \\ \frac{\sqrt{10}}{5} & -\frac{\sqrt{10}}{10} & \frac{\sqrt{10}}{5} & -\frac{\sqrt{10}}{10} \end{bmatrix} $$现在计算 \( R \):
$$ R = Q^T A = \begin{bmatrix} \frac{\sqrt{5}}{5} & \frac{2\sqrt{5}}{5} & 0 & 0 \\ 0 & 0 & -\frac{\sqrt{5}}{5} & -\frac{2\sqrt{5}}{5} \\ \frac{\sqrt{10}}{5} & -\frac{\sqrt{10}}{10} & \frac{\sqrt{10}}{5} & -\frac{\sqrt{10}}{10} \end{bmatrix} \begin{bmatrix} 1 & 0 & 1 \\ 2 & 0 & 0 \\ 0 & -1 & 1 \\ 0 & -2 & 0 \end{bmatrix} = \begin{bmatrix} \sqrt{5} & 0 & \frac{1}{\sqrt{5}} \\ 0 & \sqrt{5} & -\frac{1}{\sqrt{5}} \\ 0 & 0 & \frac{2\sqrt{2}}{\sqrt{5}} \end{bmatrix} $$步骤 3:计算 \( Q^T B \)
$$ Q^T B = \begin{bmatrix} \frac{\sqrt{5}}{5} & \frac{2\sqrt{5}}{5} & 0 & 0 \\ 0 & 0 & -\frac{\sqrt{5}}{5} & -\frac{2\sqrt{5}}{5} \\ \frac{\sqrt{10}}{5} & -\frac{\sqrt{10}}{10} & \frac{\sqrt{10}}{5} & -\frac{\sqrt{10}}{10} \end{bmatrix} \begin{bmatrix} 2 \\ 3 \\ 4 \\ 7 \end{bmatrix} = \begin{bmatrix} \frac{8}{\sqrt{5}} \\ -\frac{18}{\sqrt{5}} \\ \sqrt{\frac{2}{5}} \end{bmatrix} $$步骤 4:解 \( R \hat{x} = Q^T B \)
代入计算的值建立方程组:
$$ \begin{bmatrix} \sqrt{5} & 0 & \frac{1}{\sqrt{5}} \\ 0 & \sqrt{5} & -\frac{1}{\sqrt{5}} \\ 0 & 0 & \frac{2\sqrt{2}}{\sqrt{5}} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \begin{bmatrix} \frac{8}{\sqrt{5}} \\ -\frac{18}{\sqrt{5}} \\ \sqrt{\frac{2}{5}} \end{bmatrix} $$解此三角形方程组得到:
\( x_1 = \frac{3}{2} \),\( x_2 = -\frac{7}{2} \),\( x_3 = \frac{1}{2} \)
最终的近似解为:
$$ \hat{x} = \begin{bmatrix} \frac{3}{2} \\ -\frac{7}{2} \\ \frac{1}{2} \end{bmatrix} $$