伪逆(Pseudo-Inverse),也称为广义逆(Generalized Inverse),是线性代数中的一个重要工具,尤其是在处理不可逆或非方阵时。与标准的逆矩阵不同,伪逆可以扩展矩阵求逆的概念,适用于更广泛的矩阵类型。这在机器学习、优化以及控制理论等多个领域中都有广泛应用。本文将详细探讨伪逆的定义、推导过程及其应用,并提供数学证明。
什么是伪逆?
对于给定的矩阵
伪逆通过以下优化问题定义:
其中: -
简单来说,伪逆通过最小化矩阵乘积
Frobenius 范数
在进一步讨论伪逆之前,我们首先要了解一下Frobenius范数,这是矩阵优化问题中广泛使用的工具。
对于矩阵
它也可以通过矩阵的迹来表示:
其中
为什么将矩阵
的每个元素平方然后求和等价于求 的迹? 事实上,当我们计算
的对角线元素时,这些元素是 中每一行向量与自己相乘得到的平方和(即内积),所以最终结果相当于对每个元素的平方求和。通过这个公式我们可以看到 Frobenius 范数实际上是矩阵乘法结果中对角线元素之和的平方根,这与直接将矩阵元素平方求和再开平方的结果是一样的。
Frobenius 范数可以看作是欧几里得范数在矩阵上的推广,将矩阵的元素视为向量的元素来计算。
优化视角
从优化的角度来看,伪逆可以通过以下问题来定义:
这个问题的本质是寻找一个
同样地,左伪逆也可以通过类似的方式定义。
求解伪逆
为了解决上述优化问题,我们对目标函数求导:
令其等于零,得到:
解得:
当
一般形式
对于不满秩的矩阵
这被称为Tikhonov 正则化或岭回归。
为了证明
的不可逆性
矩阵
引入正则化项
为了保证矩阵
我们需要证明
可逆性证明(三种方法)
正定性
首先,我们知道矩阵
考虑任意向量
其中
这表明
特征值的变化
假设
由于
行列式不为零
可逆矩阵的充要条件是行列式不为零。行列式可以通过特征值的乘积来计算:
由于
伪逆的性质
伪逆具有以下重要性质: 1. 对称性:
奇异值分解(SVD)与伪逆
伪逆的一个强大计算方法是通过奇异值分解(SVD)。对于任意矩阵
其中: -
伪逆可以通过 SVD 计算为:
其中
示例
考虑矩阵:
通过 SVD 分解
然后通过取
1 | import numpy as np |
伪逆的应用
线性系统求解
伪逆在求解无唯一解的线性方程组时尤为有效。对于线性方程组
低秩近似
在机器学习中,伪逆常用于低秩矩阵近似,例如在主成分分析(PCA)中,通过伪逆找到最优投影,将高维数据压缩到低维。
控制理论
在控制系统中,伪逆用于设计控制器,即使系统可能不可完全控制或观测。伪逆通过最小二乘方法计算控制规律,从而减少误差。
数值稳定性与计算考虑
数值不稳定性的来源
在计算伪逆时,最常用的方法是通过奇异值分解
(SVD)。SVD 将矩阵分解为三个部分:正交矩阵
问题在于,当某些奇异值
举个例子,假设有一个矩阵
这意味着与小奇异值对应的反转操作会导致非常大的数值。这些数值将导致在后续的矩阵乘法中产生巨大的计算误差。
Tikhonov 正则化:数值稳定性的方法
为了解决奇异值非常小时的数值不稳定问题,我们可以引入Tikhonov
正则化(也称为岭回归)。其核心思想是在计算过程中人为地增加一个小的正则化项
正则化方法通过修改原始问题来改善数值稳定性。通常的做法是修改伪逆计算公式,将伪逆表示为:
其中
数值稳定性的来源
通过添加
正则化的影响
在计算伪逆时,正则化项
因此,选择适当的
示例:使用正则化计算伪逆
假设我们有矩阵
1 | import numpy as np |
结论
伪逆是逆矩阵的推广,适用于更广泛的矩阵类型,包括非方阵或不可逆矩阵。它在优化、机器学习和控制理论中具有重要应用。通过奇异值分解,我们可以高效计算伪逆,并将其应用于实际问题。
参考文献
- Post title:矩阵低秩近似 —— 伪逆
- Post author:Chen Kai
- Create time:2023-09-23 18:30:00
- Post link:https://www.chenk.top/矩阵低秩近似 —— 伪逆/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.