从 R(A^T A) = R(A) 到最小二乘法:一个关键等式的 4 步推导与实例
·
从 R(AᵀA) = R(A) 到最小二乘法:一个关键等式的4步推导与实例
在机器学习和数值计算中,矩阵秩的性质扮演着至关重要的角色。当我们面对超定方程组时,最小二乘法提供了一种优雅的解决方案,而理解其背后的数学原理——特别是矩阵乘积的秩关系——将帮助我们更深入地掌握这一强大工具。
1. 问题建模与正规方程
假设我们有一个设计矩阵A ∈ ℝ^{m×n}(m > n)和观测向量b ∈ ℝ^m,希望找到参数向量x ∈ ℝ^n使得Ax ≈ b。当方程组无解时,最小二乘法通过最小化残差平方和‖Ax - b‖²来寻找最优解。
正规方程 的推导过程如下:
- 展开目标函数:‖Ax - b‖² = (Ax - b)ᵀ(Ax - b)
- 求梯度并令其为零:∇ₓ = 2Aᵀ(Ax - b) = 0
- 得到关键方程:AᵀAx = Aᵀb
import numpy as np
# 生成示例数据
A = np.array([[1, 2], [3, 4], [5, 6]])
b = np.array([7, 8, 9])
# 正规方程求解
x = np.linalg.solve(A.T @ A, A.T @ b)
注意:当A的列线性无关时,AᵀA可逆,此时解唯一。这个可逆性的核心正是R(AᵀA) = R(A)的性质保证。
2. 秩等式的核心证明
定理 :对于任意实矩阵A,有R(AᵀA) = R(A)
证明步骤 :
-
首先证明N(A) = N(AᵀA)(两者零空间相同)
- 若x ∈ N(A),则Ax=0 ⇒ AᵀAx=0 ⇒ x ∈ N(AᵀA)
- 若x ∈ N(AᵀA),则xᵀAᵀAx=0 ⇒ ‖Ax‖²=0 ⇒ Ax=0 ⇒ x ∈ N(A)
-
根据秩-零化度定理:
- dim N(A) + R(A) = n
- dim N(AᵀA) + R(AᵀA) = n
- 因为N(A)=N(AᵀA),所以R(A)=R(AᵀA)
这个证明揭示了矩阵乘积秩关系的本质:AᵀA压缩了A的列空间但保留了其秩。
3. 数值验证实例
让我们通过一个5×3矩阵的具体例子来验证这个性质:
# 创建5x3矩阵
A = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12],
[13, 14, 15]])
# 计算秩
rank_A = np.linalg.matrix_rank(A)
rank_ATA = np.linalg.matrix_rank(A.T @ A)
print(f"R(A) = {rank_A}, R(AᵀA) = {rank_ATA}")
输出结果分析 :
- 对于这个矩阵,R(A) = 2,R(AᵀA) = 2
- 修改第三列为前两列的线性组合时,两者秩同时降低
- 当A列满秩时,AᵀA是可逆方阵
4. 应用意义与潜在陷阱
4.1 最小二乘法的几何解释
正规方程AᵀAx = Aᵀb的本质是要求残差向量b - Ax与A的列空间正交。这相当于将b投影到A的列空间上,得到的投影向量Ax*是最接近b的点。
几何关系 :
- A的列空间:Col(A) = {Ax | x ∈ ℝⁿ}
- 正交条件:Aᵀ(b - Ax*) = 0
4.2 共线性问题与正则化
当A的列存在线性相关性时(即不满秩),会带来两个严重问题:
- AᵀA不可逆,正规方程无唯一解
- 解的数值稳定性差,对噪声敏感
解决方案对比 :
| 方法 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 伪逆 | 用SVD计算广义逆 | 理论完备 | 计算成本高 |
| 岭回归 | 添加L2正则项:(AᵀA + λI)x = Aᵀb | 数值稳定 | 需要选择λ |
| Lasso | 添加L1正则项 | 特征选择 | 非线性优化 |
# 岭回归实现示例
lambda_ = 0.1
x_ridge = np.linalg.solve(A.T @ A + lambda_ * np.eye(3), A.T @ b)
4.3 数值计算实践建议
- 条件数检查 :计算cond(AᵀA)评估问题稳定性
-
QR分解
:比直接解正规方程更数值稳定
Q, R = np.linalg.qr(A) x_qr = np.linalg.solve(R, Q.T @ b) - 奇异值截断 :对小奇异值进行截断处理
在实际应用中,理解R(AᵀA) = R(A)这一性质帮助我们认识到:最小二乘问题的解存在且唯一,当且仅当A列满秩。当秩亏损时,我们需要通过正则化或其他技术来处理这种不确定性。
更多推荐



所有评论(0)