✨ 复制成功!

以文会友,打造好学人设!

📋 已复制到剪贴板:

矩阵乘法的本质:一场向量的空间旅行——直观理解与AI应用

创建时间:2026-07-22 更新时间:2026-07-24 阅读次数:1123 次

当你第一次在课本上见到矩阵乘法时,很可能觉得它只是一堆数字的复杂运算规则。但如果我们换一个视角,把它看成空间的变换,一切都会变得直观且优雅。

1. 从一个向量说起

想象一个在二维平面上的向量:

$$ x = \begin{bmatrix} 1 \\ 0 \end{bmatrix} $$

它就是从原点指向坐标 (1, 0) 的一个箭头。

现在,我们用一个矩阵 $W$ 去乘它:

$$ y = Wx $$

这里的 $W$ 可以是任意的。比如:

$$ W = \begin{bmatrix} 2 & 0 \\ 0 & 3 \end{bmatrix} $$

那么运算结果就是:

$$ y = \begin{bmatrix} 2 & 0 \\ 0 & 3 \end{bmatrix} \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \begin{bmatrix} 2 \\ 0 \end{bmatrix} $$

发生了什么?向量 $x$ 在水平方向上被拉长到了原来的 2 倍,在垂直方向上因为初始值为 0 所以没变。如果换一个初始向量,比如 $\begin{bmatrix} 1 \\ 1 \end{bmatrix}$,它就会被拉到 $\begin{bmatrix} 2 \\ 3 \end{bmatrix}$ 的位置。

矩阵 $W$ 并不是单纯的一堆数,而是一个操作指令:它告诉空间该如何拉伸、挤压或旋转。

2. 矩阵就是变换本身

我们可以把任何一个矩阵看成两部分信息的组合:

  • 伸缩 (scaling):沿着某些方向拉长或缩短
  • 旋转 (rotation):改变向量的方向

来看一个更复杂的例子:

$$ W = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} $$

当它作用在向量 $x = \begin{bmatrix} 1 \\ 0 \end{bmatrix}$ 上时:

$$ y = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 1 \end{bmatrix} $$

原来的 x 轴单位向量,被旋转到了 y 轴方向上。这是一个纯粹的90 度逆时针旋转,没有任何伸缩。

因此,$y = Wx$ 的直观含义就是:

向量 $x$ 在矩阵 $W$ 定义的新规则下,被映射到了空间中的另一个位置 $y$。这个映射可能是拉伸、压缩、旋转,或者三者兼有。

3. 降维与升维:跨越维度的映射

矩阵变换并不局限于同一个维度。

如果 $W$ 是一个 $3 \times 2$ 的矩阵,而 $x$ 是一个二维向量,那么这个乘法会把一个二维平面上的点,映射到三维空间中去。

比如:

$$ W = \begin{bmatrix} 1 & 0 \\ 0 & 2 \\ 1 & 1 \end{bmatrix}, \quad x = \begin{bmatrix} 1 \\ 1 \end{bmatrix} $$

$$ y = Wx = \begin{bmatrix} 1 \\ 2 \\ 2 \end{bmatrix} $$

原本平面上的点 (1, 1),被“抬”到了三维空间中的 (1, 2, 2)。这就是升维映射

反过来,如果 $W$ 的行数小于列数,它就会把高维向量压缩到低维空间,比如把三维世界中的物体拍扁到一张二维照片上。

理解了这一点,你就抓住了线性代数中最核心的动态画面:矩阵就是空间变换的化身,向量就是空间中的行者

4. AI 关联:神经网络的全连接层

这个看似抽象的数学概念,正是现代人工智能的运算基石。

在一个神经网络的全连接层(也叫线性层或 Dense 层)中,核心运算就是:

$$ y = Wx + b $$

  • $x$ 是输入向量,可以理解为某一层提取出的特征
  • $W$ 是权重矩阵,里面每一个数字都是网络需要学习的参数
  • $b$ 是偏置项,负责平移
  • $y$ 是输出向量,即变换后的新特征表示

抛开偏置 $b$ 不谈,$y = Wx$ 这一步到底在做什么?

它就是在对特征向量 $x$ 进行一次空间变换

  • 输入层有 784 个神经元,输出层有 128 个神经元?那么 $W$ 就是一个 $128 \times 784$ 的矩阵,它把 784 维空间中的向量投射到 128 维空间中去。
  • 网络为什么要学习 $W$ 中的数值?就是为了找到一种最优的空间变换方式,使得原本杂乱纠缠的数据点,在经过一层又一层的映射后,在新空间中变得线性可分。

一个识别手写数字的网络,本质上就是在不断变换空间:

  • 1、原始 784 维像素空间(一团乱麻)
  • 2、第一层变换后的 256 维隐藏空间(开始浮现结构)
  • 3、第二层变换后的 128 维隐藏空间(类别之间逐渐疏远)
  • 4、最终变换到 10 维输出空间(每个维度对应一个数字,干净分离)

每一次 $y = Wx$,都是将数据从一个空间形态,重塑为另一个空间形态。

5. 总结:一个动作,三重理解

同一个公式 $y = Wx$,我们可以从三个层次去理解它:

层次 理解
代数计算 矩阵的行与向量的列做内积,得到新向量的各个分量
空间变换 对原向量进行旋转和拉伸,把它映射到新位置
神经网络 对输入特征进行空间重塑,抽取更高层级的语义信息

下次当你写下 torch.nn.Linear(in_features, out_features)tf.keras.layers.Dense(units) 时,可以想象一下:你正在创造一把无形的“空间之手”,它在高维的宇宙中拨弄着数据的星辰,将它们推搡、旋转、拉伸,直至呈现出你想要的形状。这就是矩阵乘法的本质。

本教程共26节,当前为第2节!
本教程最新修订时间为:2026-08-17 12:04:19


评论专区

评论加载中...