声明:该文章翻译自MIT出版的《DEEP LEARNING》,博主会定期更新文章内容。由于博主能力有限,中间有过错之处希望大家给予批评指正,一起学习交流。
为了使 A−1 存在,等式 Ax=b 对每个 b 值有一个解。然而等式对某些 b 值可能没有解或有无限多个解。对某个 b 值不可能有几个解;如果 x 和 y 是解的话,那么
z=αx+(1−α)y
也是一个解,其中
α
为实数。
为了分析等式解的个数,我们将矩阵 A 的列看作是从原点(指定值全为零的向量)出发的不同方向。从这个角度看, x 每个元素指定了每个方向上需要的距离,例如: xi 指定了在 i 列的方向上移动了多远:
∑iciv(i)
一个向量集合的张成空间是原始向量线性组合得到的所有点的集合。
所以确定 Ax=b 是否有一个解等价于测试 b 是否在矩阵 A 列的张成空间中。
为了使 Ax=b 对所有 b∈Rm 值都有一个解,我们需要 A 的列空间属于 Rm 。如果 Rm 中的任何一个点不在列空间里,这么这个点就是没有解的 b 值。这表明 A 至少有 m 列,即
n≥m 是每个点有一个解的必要条件,不是充分条件,因为一些列可能是冗余的。考虑一个 2×2 矩阵,两列彼此相等。它其实等价于一个 2×1 矩阵。也就是说,列空间仅仅是一列,不能包含所有的 R2 。
正式地,这种冗余叫做线性相关。如果一个向量集合中,每个向量都不是其它向量的线性组合,那么这个向量集合是线性无关的。如果我们增加一个向量到这个集合中,其中该向量是这个集合中其它向量的线性组合,那么新向量没有向集合的张成空间中增加任何点。这意味着为了让矩阵的列空间包含所有的 Rm ,这个矩阵至少包含一个集合,该集合有 m 个线性无关列。这个条件是等式
为了让矩阵有逆,我们还需要确保 Ax=b 对每个 b 至多有一个解。为了实现这个,我们需要确保矩阵最多有 m 列。否则,就有多种参数化解(there is more than one way of parametrizing each solution)。
同时,这意味着矩阵必须是方阵,也就是说,我们需要
如果 A 不是方阵或者说是方阵但是是奇异的,它依然可以解决等式。然而,我们不能用矩阵逆的方法来求解。
目前我们已经将矩阵逆乘在左边进行了讨论。也可以定义其乘在右边:
AA−1=I
对于方阵,左逆和右逆是相等的。