机器学习 (machine learning)中的许多问题都涉及求解线性方程组,通常以紧凑形式表示为 Ax=b 其中 A 是系数矩阵(可能表示特征或模型结构),x 是未知向量 (vector)(如模型参数 (parameter)),b 是目标值或结果向量。
求解 x 的一种方法借鉴了基本代数。如果你有一个方程,比如 5x=10,你通过将两边乘以 5 的倒数(即 1/5 或 5−1)来求解 x。这得到 (5−1)5x=(5−1)10,简化为 1x=2,即 x=2。数 5−1 是 5 的乘法逆元,因为 5×5−1=1。
我们能对矩阵方程做类似的事情吗?我们需要一个矩阵形式的倒数,能够“消除”矩阵 A 作用的东西。这称为矩阵逆。
矩阵逆的定义
对于给定的方阵 A,它的逆矩阵(表示为 A−1)是一个矩阵,它与 A 相乘(无论顺序如何),结果都是单位矩阵 I。
AA−1=A−1A=I
单位矩阵 I(一个主对角线上是 1,其他位置是 0 的方阵)在矩阵乘法中作用类似于数字 1:AI=IA=A。因此,AA−1=I 的定义与标量算术中的 a×a−1=1 直接类似。
重要提示: 矩阵逆只定义于方阵(行数和列数相同的矩阵,如 n×n)。然而,并非所有方阵都有逆。有逆的矩阵称为可逆矩阵或非奇异矩阵。没有逆的矩阵称为不可逆矩阵或奇异矩阵。我们将在关于行列式的部分中了解如何判断矩阵是否可逆。
我们来看一个具体例子。考虑矩阵 A:
A=(2111)
它的逆矩阵是:
A−1=(1−1−12)
我们可以通过相乘来验证:
AA−1=(2111)(1−1−12)=((2)(1)+(1)(−1)(1)(1)+(1)(−1)(2)(−1)+(1)(2)(1)(−1)+(1)(2))=(1001)=I
以相反顺序相乘,A−1A,也得到单位矩阵 I。
逆矩阵的性质
矩阵逆具有几个有用的性质:
- 逆的逆: A−1 的逆是 A 本身。
(A−1)−1=A
- 乘积的逆: 两个可逆矩阵乘积的逆是它们逆矩阵的乘积,按相反顺序。
(AB)−1=B−1A−1
想象一下先穿袜子 (A) 再穿鞋 (B)。要反转这个过程 ((AB)−1),你必须先脱鞋 (B−1),然后脱袜子 (A−1)。
- 转置的逆: 矩阵转置的逆是其逆矩阵的转置。
(AT)−1=(A−1)T
在机器学习 (machine learning)推导中处理矩阵方程时,这些性质经常被用到。
几何解释
回顾第二章,我们把矩阵看作线性变换,逆矩阵 A−1 表示反转矩阵 A 执行的变换。如果 A 以某种方式旋转和缩放空间,那么之后应用 A−1 将使其旋转和缩放回原始状态。先应用 A 再应用 A−1(或反之)会得到单位变换(由 I 表示),它使所有内容保持不变。这与代数定义 AA−1=I 相符。
逆矩阵有何作用?
矩阵逆在此处的主要作用在于它为我们提供了一种正式方法来求解线性系统 Ax=b。如果 A 可逆,我们可以将方程两边左乘 A−1:
AxA−1(Ax)(A−1A)xIxx=b=A−1b=A−1b=A−1b=A−1b左乘 A−1矩阵乘法的结合律逆的定义 (A−1A=I)单位矩阵的性质 (Ix=x)
这一简洁的结果,x=A−1b,告诉我们,如果能找到系数矩阵 A 的逆矩阵,我们只需将 A−1 乘以向量 (vector) b 即可找到解向量 x。
这为理解线性系统的解提供了一个强大的手段。在接下来的部分中,我们将了解如何计算逆矩阵和行列式(行列式能告诉我们逆矩阵是否存在)。我们还将讨论为什么尽管公式 x=A−1b 很简洁,但在实际应用中,直接计算逆矩阵通常不是求解线性系统最数值稳定或最有效的方法,特别是在机器学习 (machine learning)中遇到的大型矩阵。