线性代数4:矩阵方程

线性代数之四:矩阵方程

解决矩阵方程 Ax = b

前言

欢迎回到我关于线性代数基础的系列文章的第四版,这是机器学习背后的基础数学。在我之前的文章中,我介绍了向量、线性组合和向量张成。这篇文章将讨论矩阵方程 Ax = b,我们将看到解线性方程组的原则与矩阵方程之间的联系。

如果与 David C. Lay、Steven R. Lay 和 Judi J. McDonald 的《线性代数及其应用》一起阅读,本文将为读者提供最佳帮助。可以将这个系列视为一个辅助资源。

欢迎分享想法、问题和批评。

直觉

我们上次讨论了线性组合,我承诺它将具有重要的影响。回想一下,给定向量 v₁,v₂,…vₐ 在 ℝⁿ 中,以及标量(也称为权重)c₁,c₂,…cₐ,线性组合是由标量倍数的和定义的向量,即 c₁v₁ + c₂v₂ + … + cₐvₐ。¹

如果存在一组权重 c₁,c₂,…cₐ(一个解),使得 c₁v₁ + c₂v₂ + … + cₐvₐ = b,则我们说向量 b 是一组向量 v₁,v₂,…vₐₚ 在 Rⁿ 中的线性组合。

要确定向量 b 是否是一组给定向量 v₁,v₂,…vₐ 的线性组合,我们将这些向量排列成一个线性方程组,然后创建增广矩阵,并使用行变换将矩阵化简为行阶梯形式。如果行化简后的行阶梯形式存在不一致性,即存在一行看起来像这样:[0, 0, … | m] 其中 m ≠ 0,则意味着我们的向量 b 不是向量的线性组合,因为对于方程 c₁v₁ + c₂v₂ + … + cₐvₐ = b,不存在一组权重。

如果没有这样的不一致性,那么我们可以将向量 b 写成一组向量的线性组合,就像上面的示例一样。还记得我们最后是如何验证我们的答案吗?我们会将每个向量乘以其对应的标量,然后找到向量的和。如果该向量和等于 b,那么我们知道我们的计算是正确的,b 确实是一个线性组合。

这个验证过程实际上是伪装成矩阵方程 Ax = b

Ax = b

如果 A 是一个 m × n 矩阵,x ∈ Rⁿ(你将在下一节看到为什么 x 的选择很重要),那么矩阵乘法 Ax 是使用向量(列)在 A 中对应的标量进行线性组合。

注意到所有这些都不是新材料,当我们验证我们先前文章中的线性组合时,我们已经无意中计算了Ax。然而,Ax = b矩阵方程仍然是基本的,因为它将所有这些内容形式化为一种紧凑的符号,并且将在以后以新的方式重新出现。

现在我们知道,如果我们有一个m x n矩阵A和x,我们计算矩阵乘积Ax并且它等于b,那么 b可以被写成A中的向量(列)的线性组合和x中的标量/条目。所以总结一下:方程Ax = b只有在b能够被写成A的列的线性组合时才有解(x)。

矩阵乘法

我将Ax = b介绍为矩阵乘积,但我还没有解释矩阵乘法(这就是Ax的含义)!

矩阵乘法是将两个矩阵相乘产生一个新矩阵的操作。我们已经见过矩阵加法,其中两个矩阵相加产生它们的和。为了定义矩阵加法,矩阵A和矩阵B必须具有相同的大小。同样,矩阵乘法也有一个要求。要将矩阵A和矩阵B相乘并产生AB,矩阵A的列数必须等于矩阵B的行数。矩阵A和B的乘积的大小,我们将其称为矩阵C,将取决于矩阵A的行数和矩阵B的列数。矩阵C将具有m(矩阵A的行数)行和p(矩阵B的列数)列。

那么,矩阵乘法是如何工作的呢?如果我们将矩阵A和B相乘,矩阵乘积中的第i行,第j列的条目是矩阵A的第i行与矩阵B的第j行的点积

目前,你只需要知道点积是两个向量对应项之积的总和,并且当两个向量具有相同数量的条目时才有定义。这种解释远远不能充分解释点积,但我将把完整的几何直观留到以后讲。

为了简洁起见,我已经计算了两个2 x 2矩阵的矩阵乘积,但是相同的过程适用于任何大小的矩阵,只要矩阵符合矩阵乘法的条件,否则它们的乘积将是未定义的。

矩阵乘法的性质

如果A,B和C是n x n矩阵,而cd是标量,则以下性质成立。³

  1. AB BA(通常不满足交换律)
  2. (AB)C = A(BC)(满足结合律)
  3. A(B+C) = AB + AC和(B+C)A = BA + CA(满足分配律)
  4. 0A = 0(零的乘法性质)

请注意,矩阵乘法不满足交换律,鉴于我们对实数的交换律具有直观的理解,这个性质可能需要一段时间才能理解。

这些性质对于计算矩阵乘积非常有用,这将是线性代数中的重要主题。

结论

矩阵乘法是神经网络核心功能的基本数学运算,特别是在前向传播和反向传播阶段。

在神经网络的前向传播阶段,数据通过各个层进行处理,矩阵乘法是这个操作的核心。神经网络中的每一层由神经元组成,神经元表示为输入的加权和,后跟激活函数。这些加权和是通过矩阵乘法计算得出的。

在反向传播阶段,神经网络从错误中进行学习。它调整神经元的权重来最小化预测输出和实际输出之间的误差。矩阵乘法再次是这个过程的关键组成部分,特别是在计算梯度时,梯度指示了每个权重应该如何调整以最小化误差。

学习数学本身就是一场令人兴奋的冒险,但是在理论中学习线性代数的应用可以使学习曲线更加激发人心。

总结

在本章中,我们学到了:

  • 线性组合的直观理解以及矩阵乘积Ax = b的实质:矩阵乘积并不一定是一个新的概念,而是对我们已经在使用的一个过程进行形式化!
  • Ax = b的解:如果b是矩阵A中向量(列)的线性组合,则矩阵乘积有一个解x。
  • 矩阵乘法:是Ax = b背后的运算,在机器学习应用中被广泛使用,特别是在神经网络中。
  • 矩阵乘法的性质:非交换性、结合性、分配性和零的乘法性质。

注释

*所有图片均由作者创建,除非另有说明。*很抱歉我花了一些时间才继续上次的进展。我目前正在参加期中考试(包括线性代数的考试哈哈!)¹线性组合的定义引用自David C. Lay、Steven R. Lay和Judi J. McDonald的《线性代数及其应用》第6版²矩阵乘积性质的定义引用自David C. Lay、Steven R. Lay和Judi J. McDonald的《线性代数及其应用》第6版³矩阵性质引用自src