1. 正规方程法的数学本质与伪逆
在机器学习线性回归问题中,正规方程法(Normal Equation)是最基础的解析解法之一。其标准形式为:
θ = (XᵀX)⁻¹Xᵀy
这个简洁的公式背后隐藏着几个关键数学假设:
- XᵀX必须是可逆矩阵
- 特征之间不存在完全线性相关
- 样本数量大于特征数量(n > m)
然而现实数据往往违背这些理想条件。当遇到以下情况时,XᵀX就变成了奇异矩阵(不可逆):
- 特征间存在完全共线性(如一个特征是其他特征的线性组合)
- 特征数量超过样本数量(常见于高维数据)
- 矩阵条件数过大(接近线性相关)
实际工程中,严格可逆的矩阵反而是特例。sklearn的LinearRegression能稳定运行的关键,在于它采用了Moore-Penrose伪逆(pseudoinverse)作为数学基础。
伪逆的精妙之处在于:
- 对于可逆矩阵,伪逆就是普通逆矩阵
- 对于不可逆矩阵,它能给出最小二乘意义下的最优解
- 解的唯一性保证:在解空间中选择范数最小的解
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 伪逆的数值计算方法
2.1 QR分解实现路径
QR分解是将矩阵分解为正交矩阵Q和上三角矩阵R的过程。对于m×n矩阵A(m≥n),其分解形式为A=QR。计算伪逆的具体步骤:
-
执行Gram-Schmidt正交化:
- 初始化:q₁ = a₁ / ||a₁||
- 迭代计算:对于每个后续向量,减去在前序基向量上的投影分量
- 最终得到标准正交基矩阵Q
-
构建上三角矩阵R:
R = QᵀA
这个三角矩阵的特性使得反向替换法可以高效求解 -
伪逆计算:
A⁺ = R⁻¹Qᵀ
其中R⁻¹通过回代法求解
实际案例中,当R对角线出现接近零的值时,需要特别处理:
- 设置阈值过滤微小数值(通常取ε=1e-15)
- 采用列主元旋转提高数值稳定性
2.2 SVD分解的通用解法
奇异值分解(SVD)是处理病态矩阵最稳健的方法。任何m×n矩阵A都可以分解为:
A = UΣVᵀ
其中:
- U是m×m正交矩阵(左奇异向量)
- Σ是m×n对角矩阵(奇异值σ₁≥σ₂≥...≥σₚ≥0)
- V是n×n正交矩阵(右奇异向量)
伪逆通过SVD计算为:
A⁺ = VΣ⁺Uᵀ
Σ⁺的构造规
