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分解过程
-
对矩阵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)²)。