向量基础

知识库简介

向量既是数字列表,也是带方向和长度的几何对象。Embedding 把文本、图片等对象映射成向量,检索再用相似度寻找近邻。本路线连接线性代数与实际语义搜索,重点是“度量选择与评测”,不把相似度分数神秘化。

在总路线中的位置

向量基础位于“数学与数据基础”阶段,在线性代数之后连接 Embedding、向量数据库、语义搜索和 RAG。它重点回答怎样比较表示、选择度量并验证近邻检索质量。

学习目标

  • 计算并解释向量范数、归一化、点积和余弦相似度;
  • 比较 cosine、dot product 与 Euclidean distance 的适用条件;
  • 理解高维空间和近似近邻检索的基本权衡;
  • 建立 Embedding 检索链路,并用标注相关集评测 top-k。

前置知识

会平方、平方根和列表循环;可先完成 Python基础。线性代数可帮助理解坐标、点积、范数与矩阵批计算,但不是开始本路线的硬门槛。

推荐学习顺序

  1. 表示、坐标与范数:理解分量、维度、长度和归一化。
  2. 点积与余弦相似度:理解方向相似与模长影响。
  3. 距离、归一化与高维空间:比较 Euclidean、cosine 与 dot product。
  4. Embedding 与语义检索:从对象到向量再到候选结果。
  5. 项目:最小向量检索器:用标准库实现 top-k 与 Recall@k。

动手实践或项目入口

进入 项目:最小向量检索器,运行 vector_search.py 与 test_vector_search.py。示例只用 Python 标准库,从零实现 dot、范数、单位化、cosine、Euclidean、top-k 和 Recall@k,并实验模长、单位化与度量选择如何改变排名。

掌握标准

  • 能计算 L1/L2 范数、点积、cosine 和 Euclidean distance。
  • 能解释归一化后 dot product 与 cosine 的关系。
  • 能说明向量维度不等于可解释“主题数”。
  • 能根据模型文档选择匹配的度量,不跨模型比较原始分数。
  • 能实现 top-k、处理零向量,并用标注相关集计算 Recall@k。
  • 能区分 exact search 与 ANN 的速度/召回权衡。
  • 能在普通模式和 python -O 下运行示例与 9 项测试,并解释为什么不能把 assert 当作生产校验。

与其他知识库的关系

主要参考资料

核验日期:2026-07-14。数学关系是稳定事实;stable API、ANN 实现和模型度量约定会变化,使用时应核对所用版本与模型卡。