AI数学基础动画讲解 - 线性代数(矩阵)

AllenTang 架构师带你玩转AI 2024年07月24日 00:05

线性代数(矩阵)

矩阵的定义矩阵是一个矩形数组,通常用于表示线性变换、线性方程组的系数、向量组等的集合。
矩阵的尺寸由其行数和列数决定,一个m×n的矩阵表示它有m行和n列。矩阵中的每个数值被称为元素,元素的位置由其所在的行和列决定,通常用下标表示。例如,在矩阵A中,第i行第j列的元素可以表示为A[i][j]

图片

线性代数(矩阵)

人工智能数学基础 - 线性代数之矩阵篇

大模型开发 - 一文搞懂人工智能数学基础(中):线性代数

矩阵表示线性变换:在线性代数中,矩阵经常被用来表示线性变换,即将一个向量空间中的元素(向量)映射到另一个向量空间中的元素(通常也是向量)。

在二维或三维空间中,线性变换可以直观地理解为对向量进行旋转、缩放、反射或剪切等操作,但这些操作必须保持原点不变,并且保持网格线的平行性和等距性。

图片
矩阵表示线性变换
AI数学基础动画讲解 - 线性代数(线性变换)

矩阵运算的组合:“First rotation then shear”(先旋转后剪切),矩阵运算本质上是两个线性变换(旋转和剪切)的组合。在线性代数中,这种组合可以通过矩阵乘法来实现。即,首先应用旋转矩阵,然后应用剪切矩阵(或者先应用剪切矩阵再应用旋转矩阵,这取决于你想要的变换顺序)。

  • 旋转变换:旋转变换是线性变换的一种,它保持向量的长度和向量间的角度不变,只是将向量在空间中旋转一定的角度。在二维空间中,旋转变换可以通过一个2x2的旋转矩阵来实现。这个矩阵的构造方式确保了任何向量与这个矩阵相乘后,都会得到原向量旋转一定角度后的新向量。

  • 剪切变换:剪切变换(也称为错切变换)是另一种线性变换,它沿着一个坐标轴方向对另一个坐标轴方向上的坐标进行线性变换(即乘以一个常数加上另一个坐标的倍数),从而改变图形的形状。在二维空间中,这也可以通过一个2x2的矩阵来实现。

图片

矩阵运算的组合
矩阵乘法矩阵乘法是两个矩阵通过特定规则进行运算,新矩阵的每个元素是原矩阵对应行与列元素乘积的和。
矩阵乘法的计算遵循以下步骤:
  1. 验证矩阵A的列数是否等于矩阵B的行数。如果不相等,则无法进行矩阵乘法。

  2. 创建一个新的矩阵C,其行数与矩阵A相同,列数与矩阵B相同。

  3. 对于矩阵C中的每个元素C[i][j],计算它是矩阵A的第i行与矩阵B的第j列的对应元素乘积之和。即,C[i][j] = A[i][k1] * B[k1][j] + A[i][k2] * B[k2][j] + ... + A[i][kn] * B[kn][j],其中k1, k2, ..., kn是矩阵A的列索引或矩阵B的行索引。   

图片
矩阵乘法

矩阵乘法公式的推导从线性变换的角度来看,如果 A 和 B 分别代表两个线性变换,那么 AB 就代表这两个线性变换的复合。

图片

矩阵乘法公式推导


**注释** 

线性代数动画素材来源于3Blue1Brown,想了解更多查看参考资料网址。

3Blue1Brown 是一个由 Grant Sanderson 创建的YouTube 频道。这个频道从独特的视觉角度解说高等数学,内容包括线性代数、微积分、人工神经网络、黎曼猜想、傅里叶变换以及四元数等。

Grant Sanderson 毕业于斯坦福大学,并获得了数学学士学位。


参考资料

  • https://www.3blue1brown.com/