QR分解法求解线性最小二乘问题
字数 871 2025-10-28 22:11:24

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

题目描述
线性最小二乘问题是指对于给定的矩阵A∈R^(m×n)(m≥n)和向量b∈R^m,寻找向量x∈R^n使得残差‖Ax - b‖₂²最小。当A是列满秩矩阵时,QR分解法通过将A分解为正交矩阵Q和上三角矩阵R的乘积,将最小二乘问题转化为易于求解的三角方程组。

解题过程

第一步:问题转化
最小二乘问题等价于求解正规方程AᵀAx = Aᵀb。但当A条件数较大时,直接求解正规方程会放大数值误差。QR分解法通过正交变换保持数值稳定性。

第二步:QR分解过程

  1. 对矩阵A进行完全QR分解:A = QR,其中:

    • Q∈R^(m×m)是正交矩阵(QᵀQ = I)
    • R∈R^(m×n)是上三角矩阵,可写为[R₁; 0]形式,R₁∈R^(n×n)是非奇异上三角矩阵
  2. 具体分解步骤(以Householder变换为例):

    • 对A的第一列,构造Householder反射矩阵H₁,使第一列除第一个元素外都变为零
    • 对变换后的矩阵,依次处理各列,最终得到上三角矩阵R
    • 所有Householder矩阵的乘积即为正交矩阵Q

第三步:代入最小二乘问题

  1. 将分解式代入目标函数:
    ‖Ax - b‖₂² = ‖QRx - b‖₂² = ‖Qᵀ(QRx - b)‖₂² = ‖Rx - Qᵀb‖₂²

  2. 将Qᵀb分块为[c; d],其中c∈R^n,d∈R^(m-n):
    ‖[R₁; 0]x - [c; d]‖₂² = ‖R₁x - c‖₂² + ‖d‖₂²

第四步:求解三角方程组

  1. 最小化目标函数等价于求解R₁x = c
  2. 由于R₁是上三角矩阵,可通过回代法求解:
    • xₙ = cₙ/rₙₙ
    • xᵢ = (cᵢ - Σⱼ₌ᵢ₊₁ⁿ rᵢⱼxⱼ)/rᵢᵢ (i从n-1递减到1)

第五步:残差计算
最小残差平方和为‖d‖₂²,这对应于无法用A的列向量线性表示的部分。

数值稳定性说明
QR分解法的数值稳定性优于正规方程法,因为正交变换不改变向量的2-范数,避免了条件数平方带来的数值问题(正规方程法的条件数为κ(AᵀA) = κ(A)²)。

QR分解法求解线性最小二乘问题 题目描述 线性最小二乘问题是指对于给定的矩阵A∈R^(m×n)(m≥n)和向量b∈R^m,寻找向量x∈R^n使得残差‖Ax - b‖₂²最小。当A是列满秩矩阵时,QR分解法通过将A分解为正交矩阵Q和上三角矩阵R的乘积,将最小二乘问题转化为易于求解的三角方程组。 解题过程 第一步:问题转化 最小二乘问题等价于求解正规方程AᵀAx = Aᵀb。但当A条件数较大时,直接求解正规方程会放大数值误差。QR分解法通过正交变换保持数值稳定性。 第二步:QR分解过程 对矩阵A进行完全QR分解:A = QR,其中: Q∈R^(m×m)是正交矩阵(QᵀQ = I) R∈R^(m×n)是上三角矩阵,可写为[ R₁; 0 ]形式,R₁∈R^(n×n)是非奇异上三角矩阵 具体分解步骤(以Householder变换为例): 对A的第一列,构造Householder反射矩阵H₁,使第一列除第一个元素外都变为零 对变换后的矩阵,依次处理各列,最终得到上三角矩阵R 所有Householder矩阵的乘积即为正交矩阵Q 第三步:代入最小二乘问题 将分解式代入目标函数: ‖Ax - b‖₂² = ‖QRx - b‖₂² = ‖Qᵀ(QRx - b)‖₂² = ‖Rx - Qᵀb‖₂² 将Qᵀb分块为[ c; d ],其中c∈R^n,d∈R^(m-n): ‖[ R₁; 0]x - [ c; d ]‖₂² = ‖R₁x - c‖₂² + ‖d‖₂² 第四步:求解三角方程组 最小化目标函数等价于求解R₁x = c 由于R₁是上三角矩阵,可通过回代法求解: xₙ = cₙ/rₙₙ xᵢ = (cᵢ - Σⱼ₌ᵢ₊₁ⁿ rᵢⱼxⱼ)/rᵢᵢ (i从n-1递减到1) 第五步:残差计算 最小残差平方和为‖d‖₂²,这对应于无法用A的列向量线性表示的部分。 数值稳定性说明 QR分解法的数值稳定性优于正规方程法,因为正交变换不改变向量的2-范数,避免了条件数平方带来的数值问题(正规方程法的条件数为κ(AᵀA) = κ(A)²)。