Skip to content

线性代数核心 (Linear Algebra)

一句话定义:线性代数是关于向量空间线性映射的数学分支。在 AI 中,它是数据的容器(向量/矩阵)和变换工具(矩阵乘法)。

  • 标量 (Scalar): 一个单独的数(如温度、价格)。
  • 向量 (Vector): 一列数(如一个人的特征:[身高, 体重, 年龄])。
  • 矩阵 (Matrix): 二维数字表格(如一张灰度图片,或者一批人的特征)。
  • 张量 (Tensor): 多维数组(如一批彩色图片:[Batch, Height, Width, Channels])。

  • 向量是”便当盒”:一个便当盒里有三个格子,分别装米饭、肉、菜。这就像一个 3 维向量 [米饭量, 肉量, 菜量]。你不能把便当盒随便相乘,但你可以把两个便当盒里的东西对应加起来(向量加法)。
  • 矩阵是”生产线机器”:把原材料(输入向量)放进去,机器内部有一组固定的处理规则(权重),最后产出成品(输出向量)。深度学习模型本质上就是一堆串联起来的”矩阵机器”。


🎨 交互演示:向量点积 (Interactive)

Section titled “🎨 交互演示:向量点积 (Interactive)”

拖动向量端点,直观感受点积的几何意义。

🎯 拖动向量端点,观察点积变化

点积反映两向量的**方向相似度**

向量 a
[3, 2]
|a| = 3.61
向量 b
[1, 3]
|b| = 3.16
a · b = 9.00
夹角 θ ≈ 37.9°
方向相近 (38° < 90°)
💡 AI 应用:Attention 机制中 Query·Key 的相似度计算

🔄 交互演示:线性变换 (Interactive)

Section titled “🔄 交互演示:线性变换 (Interactive)”

观察矩阵如何”扭曲”整个空间,理解神经网络的本质。

🔄 线性变换可视化

变换矩阵 A
[
1.00.00.01.0
]
行列式 det(A)
1.00
✅ 保持方向

💡 行列式表示面积缩放倍数 | 基向量 î, ĵ 显示空间如何被拉伸/旋转


🎯 交互演示:特征向量 (Interactive)

Section titled “🎯 交互演示:特征向量 (Interactive)”

拖动向量到特征方向,观察变换后方向不变的特殊向量。

🎯 特征值与特征向量

矩阵 A
[3, 0]
[0, 2]
向量 v
v = [1.0, 0.5]
Av = [3.00, 1.00]
特征值 λ: λ1 = 3, λ2 = 2

💡 拖动向量到紫色虚线上,观察 Av 与 v 方向相同(变绿)


计算机无法直接理解”猫”、“狗”或”语言”。 我们需要把万物都变成数字列表(向量)

  • 图片 = 像素值矩阵
  • 文本 = 词向量 (Word Embeddings)
  • 语音 = 声波采样数组

所有的 AI 计算(预测、训练),本质上都是在对这些巨大的数字表格进行加减乘除。


衡量两个向量的相似度投影

向量点积
ab=i=1naibi=abcosθ\mathbf{a} \cdot \mathbf{b} = \sum_{i=1}^n a_i b_i = |\mathbf{a}| |\mathbf{b}| \cos \theta
  • 如果结果为正:方向大致相同(相似)。
  • 如果结果为 0:相互垂直(不相关)。
  • 如果结果为负:方向相反。
  • AI 应用:计算 Attention 分数,衡量 Query 和 Key 的匹配程度。

数据的变换特征提取

矩阵乘法
C=A×B\mathbf{C} = \mathbf{A} \times \mathbf{B}

Cij=kAikBkjC_{ij} = \sum_{k} A_{ik} B_{kj}

  • 必须满足形状匹配:(M×K)×(K×N)=(M×N)(M \times K) \times (K \times N) = (M \times N)
  • AI 应用:全连接层 (Linear Layer) 的核心操作 y=xW+by = xW + b

import numpy as np
# 1. 向量点积
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
dot_product = np.dot(a, b)
# 1*4 + 2*5 + 3*6 = 4 + 10 + 18 = 32
print(f"点积: {dot_product}")
# 2. 矩阵乘法
A = np.array([
[1, 2],
[3, 4],
[5, 6]
]) # Shape: (3, 2)
B = np.array([
[7, 8, 9],
[10, 11, 12]
]) # Shape: (2, 3)
C = np.matmul(A, B) # 或者 A @ B
# Result Shape: (3, 3)
print(f"矩阵乘法结果:\n{C}")



Immersive Linear Algebra

世界首本全交互式线性代数书

访问

3Blue1Brown 线代本质

可视化理解矩阵与变换

观看

Matrix Calculus for Deep Learning

深度学习所需的矩阵微积分

阅读