QR分解法求解线性最小二乘问题
字数 946 2025-10-28 08:36:45

QR分解法求解线性最小二乘问题

题目描述
给定一个矩阵A ∈ R^(m×n)(m ≥ n)和向量b ∈ R^m,我们希望找到向量x ∈ R^n,使得线性方程组Ax ≈ b的残差平方和||Ax - b||₂²最小。这类问题称为线性最小二乘问题。当A是列满秩矩阵(rank(A) = n)时,QR分解法提供了一种数值稳定的求解方法。

解题过程

1. 问题转化
最小二乘问题的目标函数为:
min ||Ax - b||₂²
由于2-范数的平方在正交变换下保持不变,我们可以利用这一性质简化问题。

2. QR分解原理
对矩阵A进行QR分解:
A = QR
其中:

  • Q ∈ R^(m×m)是正交矩阵(QᵀQ = I)
  • R ∈ R^(m×n)是上三角矩阵
    R可以分块表示为:
    R = [R₁; 0]
    其中R₁ ∈ R^(n×n)是非奇异上三角矩阵(因为A列满秩)

3. 代入分解式
将A = QR代入目标函数:
||Ax - b||₂² = ||QRx - b||₂²
利用正交变换的不变性:
= ||Qᵀ(QRx - b)||₂² = ||Rx - Qᵀb||₂²

4. 分块计算
将Q按列分块为Q = [Q₁ Q₂],其中Q₁ ∈ R^(m×n),则:
||Rx - Qᵀb||₂² = ||[R₁; 0]x - [Q₁ᵀb; Q₂ᵀb]||₂²
= ||R₁x - Q₁ᵀb||₂² + ||Q₂ᵀb||₂²

5. 求解最优解
最小化上式时,第二项||Q₂ᵀb||₂²与x无关,因此只需让第一项为零:
R₁x = Q₁ᵀb
由于R₁是上三角矩阵,可以通过回代法高效求解:
x = R₁⁻¹(Q₁ᵀb)

6. 残差计算
最小残差平方和为:
||Ax - b||₂² = ||Q₂ᵀb||₂²

7. 数值稳定性分析
与直接解法AᵀAx = Aᵀb相比,QR分解法避免了计算条件数cond(AᵀA) = cond(A)²的恶化,具有更好的数值稳定性。

8. 算法步骤总结

  1. 对A进行QR分解:A = QR
  2. 计算c = Q₁ᵀb
  3. 解上三角系统R₁x = c(回代法)
  4. 输出解x和残差||Q₂ᵀb||₂

这种方法在科学计算和数据分析中广泛应用,特别是在回归分析和曲线拟合等场景。

QR分解法求解线性最小二乘问题 题目描述 给定一个矩阵A ∈ R^(m×n)(m ≥ n)和向量b ∈ R^m,我们希望找到向量x ∈ R^n,使得线性方程组Ax ≈ b的残差平方和||Ax - b||₂²最小。这类问题称为线性最小二乘问题。当A是列满秩矩阵(rank(A) = n)时,QR分解法提供了一种数值稳定的求解方法。 解题过程 1. 问题转化 最小二乘问题的目标函数为: min ||Ax - b||₂² 由于2-范数的平方在正交变换下保持不变,我们可以利用这一性质简化问题。 2. QR分解原理 对矩阵A进行QR分解: A = QR 其中: Q ∈ R^(m×m)是正交矩阵(QᵀQ = I) R ∈ R^(m×n)是上三角矩阵 R可以分块表示为: R = [ R₁; 0 ] 其中R₁ ∈ R^(n×n)是非奇异上三角矩阵(因为A列满秩) 3. 代入分解式 将A = QR代入目标函数: ||Ax - b||₂² = ||QRx - b||₂² 利用正交变换的不变性: = ||Qᵀ(QRx - b)||₂² = ||Rx - Qᵀb||₂² 4. 分块计算 将Q按列分块为Q = [ Q₁ Q₂ ],其中Q₁ ∈ R^(m×n),则: ||Rx - Qᵀb||₂² = ||[ R₁; 0]x - [ Q₁ᵀb; Q₂ᵀb ]||₂² = ||R₁x - Q₁ᵀb||₂² + ||Q₂ᵀb||₂² 5. 求解最优解 最小化上式时,第二项||Q₂ᵀb||₂²与x无关,因此只需让第一项为零: R₁x = Q₁ᵀb 由于R₁是上三角矩阵,可以通过回代法高效求解: x = R₁⁻¹(Q₁ᵀb) 6. 残差计算 最小残差平方和为: ||Ax - b||₂² = ||Q₂ᵀb||₂² 7. 数值稳定性分析 与直接解法AᵀAx = Aᵀb相比,QR分解法避免了计算条件数cond(AᵀA) = cond(A)²的恶化,具有更好的数值稳定性。 8. 算法步骤总结 对A进行QR分解:A = QR 计算c = Q₁ᵀb 解上三角系统R₁x = c(回代法) 输出解x和残差||Q₂ᵀb||₂ 这种方法在科学计算和数据分析中广泛应用,特别是在回归分析和曲线拟合等场景。