表示、坐标与范数

本节目标

从“有顺序的数值”与“空间中的箭头”两种视角理解向量,能区分维度、分量、L1/L2 范数和单位化,并知道这些概念在 Embedding 与检索中的工程约束。

向量的两种视角

  • 数据视角:有顺序的 个数字,例如 [长度, 价格, 评分]。
  • 几何视角:从原点指向空间一点的箭头,有方向和长度。

两向量只有在相同空间、相同维度、相同模型/版本下才可直接比较。一个 768 维文本向量不能与另一个模型的 768 维向量因“维度相同”就混用。

坐标与维度

二维向量 的分量依赖坐标基。Embedding 的坐标轴由训练过程学得,单个维度通常没有稳定的人类含义;语义可能分布在许多维。维度高也不自动代表质量高,它同时增加存储和计算。

“稠密/稀疏”描述存储与非零分量分布,不是维度高低:词袋向量可能有十万维但绝大多数为 0,神经网络 embedding 往往维度更低却大多数分量非零。两者都必须在同一坐标空间中比较。

范数

L2 范数(欧氏长度):

长度为 5。L1 范数:

无穷范数是最大绝对分量。不同范数定义不同“大小”和几何,优化中的 L1/L2 正则化也会产生不同偏好。

归一化

非零向量单位化:

方向不变,L2 长度变为 1。对 得 。归一化会丢掉模长信息;如果模型让模长编码流行度、置信度或频率,归一化会改变排序。

零向量不能归一化,因为除数为 0。工程代码必须明确定义:拒绝、跳过、使用特殊值,不能产生 NaN 后继续入库。

浮点计算会有舍入误差,验证单位化结果时应检查 是否小于容差,而不是要求二进制浮点结果严格等于 1。

ML/Embedding/评测用途

  • 特征尺度差异会让距离被大数值特征主导。
  • cosine 相似度隐式只比较方向;预先单位化可简化计算。
  • 梯度裁剪常以整体范数限制更新大小。
  • 向量数据库中的 dimension 必须与 embedding 模型输出一致。

常见误区

  • 把向量分量当成独立可命名概念。
  • 所有向量无条件归一化。
  • 零向量与“没有语义”直接画等号;它也可能是数据/模型错误。
  • 跨模型、跨版本比较相似度。

练习

  1. 计算 (1,-2,2) 的 L1/L2 范数并单位化;答案应得到 L1 为 5、L2 为 3、单位向量为 (1/3,-2/3,2/3)。
  2. 解释 (0,0,0) 为什么不能单位化,并给出 API 应选择“拒绝、跳过、特殊值”中的哪一种及理由。
  3. 比较十万维稀疏词袋向量和 768 维稠密 embedding:维度、非零分量、坐标语义与可比较条件分别是什么?

掌握检查

  • 我能区分维度、长度和样本数量。
  • 我会在归一化前检查零范数。
  • 我知道归一化可能丢失有用模长。

参考资料

资料核验日期:2026-07-14。下一步:点积与余弦相似度。