Skip to content

元数据卡

  • 前置知识:第5章 函数与关系
  • 预计时间:55 分钟
  • 核心难度:进阶
  • 完成标志:理解向量与矩阵的基本运算,掌握线性变换与矩阵乘法的几何意义

你的进度

你走进第三座塔——应用塔。墙壁上布满了箭头和网格。"向量不是一个数,它是一群数——共同描述一个点、一个方向、一个状态。"馆长说。他用粉笔在墙上画了一条从原点到 (3, 2) 的线。

你的任务

你打开了图像文件,里面是一长串数字——RGB 值排列成矩阵。"旋转图片"对计算机来说就是"对矩阵做乘法"。推荐系统给每个用户和物品分配几百维度的"向量",然后比相似度。图形学、机器学习、物理引擎、数据降维——它们共享同一个数学基础:线性代数。

本章分层

  • 必读:向量运算,矩阵乘法,线性变换与行列式
  • 选读:特征值与特征向量,SVD 分解

破局 · 溯源

你在做一个推荐系统。每个用户有播放历史、评分记录、搜索关键词——信息量很大,但你需要预测"用户会不会喜欢这部电影"。10 个特征?100 个?还是 1000 个?你发现可以用一个向量来描述每个用户——这是一个包含所有特征的列表。而"预测喜欢程度"可以看作是向量之间的相似度计算。

向量是数的有序列表。v = [v₁, v₂, ..., vₙ]ᵀ。这个符号描述的意义比看起来丰富得多:

  • 在空间中,它是一个从原点到某点的箭头。
  • 在计算机中,它是一组特征值。
  • 在统计中,它是一个数据样本。

向量运算

  • 加法:对应位置相加。v + w = [v₁+w₁, v₂+w₂, ...]
  • 标量乘法:每个分量乘以常数。3v = [3v₁, 3v₂, ...]
  • 点积:v · w = v₁w₁ + v₂w₂ + ... + vₙwₙ。这是相似度的核心度量——两个向量越相似,点积越大。

点积的几何解释是 v · w = |v| |w| cos θ。当两个向量方向一致时点积最大,正交时点积为 0。

矩阵是一个二维数组。它描述"如何从一个向量空间变换到另一个"。

矩阵乘法:C = A × B,其中 C[i][j] = Σ A[i][k] × B[k][j]。

矩阵乘法的关键:前一个矩阵的列数必须等于后一个矩阵的行数。这个规则看起来像约定,但它保证了变换的复合性——先做变换 A、再做变换 B 等价于一次性做变换 B×A。

线性变换:满足两个条件的变换 T:

  • T(v + w) = T(v) + T(w)(可加性)
  • T(cv) = cT(v)(齐次性)

所有线性变换都可以用矩阵表示。旋转、缩放、剪切、投影——计算机图形学中的每个摄像头变换都是矩阵乘法。

行列式 det(A) 是一个数,告诉你矩阵 A 描述的变换对空间体积的缩放比例。det(A) = 0 意味着变换降维了——不可逆。

特征值与特征向量:对于矩阵 A,如果存在非零向量 v 使得 Av = λv,则 v 是 A 的特征向量,λ 是对应的特征值。直觉上:在这个向量的方向上,矩阵只是做拉伸/压缩,不改变方向。特征分解让你看到"数据的主要变化方向"——这正是 PCA(主成分分析)的底层原理。

常见陷阱

  • 混淆点积和叉积。点积是标量,叉积(仅在 3D 中)是垂直于两个输入向量的向量。不能互换使用。
  • 矩阵乘法不满足交换律。A × B ≠ B × A(除非极特殊情况。注意矩阵乘法顺序,在图形学中就是你看到物体位置对了但方向错乱的根源)。
  • 行列式为零的矩阵仍是合法的矩阵——它只是不可逆。在线性系统中它表示方程有无穷多解或无解。

通关挑战

  • 给定二维向量 v = [2, 3], w = [1, 4],计算 v·w。
  • 用 Python 的 numpy 实现一个 3×3 旋转矩阵(绕 z 轴),并将其应用于向量 [1, 0, 0],验证旋转 90 度后得到 [0, 1, 0]。
  • 计算矩阵 [[2, 1], [1, 2]] 的特征值。

旅人笔记

线性代数是"批量处理数值的数学"。向量组织数据,矩阵描述变换,特征分解揭示数据的主要模式。它是推荐系统、图形学、机器学习的通用代数语言。

下一站预告:线性代数处理的是不连续的变化——下一步,微积分处理连续量的变化。速率、积累、最优——从"离散变换"走向"连续流动"。

Built with VitePress | Software Systems Atlas