向量基础
知识库简介
向量既是数字列表,也是带方向和长度的几何对象。Embedding 把文本、图片等对象映射成向量,检索再用相似度寻找近邻。本路线连接线性代数与实际语义搜索,重点是“度量选择与评测”,不把相似度分数神秘化。
在总路线中的位置
向量基础位于“数学与数据基础”阶段,在线性代数之后连接 Embedding、向量数据库、语义搜索和 RAG。它重点回答怎样比较表示、选择度量并验证近邻检索质量。
学习目标
- 计算并解释向量范数、归一化、点积和余弦相似度;
- 比较 cosine、dot product 与 Euclidean distance 的适用条件;
- 理解高维空间和近似近邻检索的基本权衡;
- 建立 Embedding 检索链路,并用标注相关集评测 top-k。
前置知识
会平方、平方根和列表循环;可先完成 Python基础。线性代数可帮助理解坐标、点积、范数与矩阵批计算,但不是开始本路线的硬门槛。
推荐学习顺序
- 表示、坐标与范数:理解分量、维度、长度和归一化。
- 点积与余弦相似度:理解方向相似与模长影响。
- 距离、归一化与高维空间:比较 Euclidean、cosine 与 dot product。
- Embedding 与语义检索:从对象到向量再到候选结果。
- 项目:最小向量检索器:用标准库实现 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当作生产校验。
与其他知识库的关系
- 线性代数提供空间、投影和矩阵运算。
- Embedding讲模型如何生成向量,向量数据库负责索引、过滤和持久化。
- 语义搜索、Reranking与RAG把候选检索接入完整回答链路。
- 评测体系与Benchmark 设计负责代表性查询集、相关性标注和回归门禁。
主要参考资料
- Google ML Crash Course: Embeddings
- Google: Measuring Similarity from Embeddings
- scikit-learn 1.9.0: Pairwise metrics, affinities and kernels
- Malkov and Yashunin: HNSW
- MIT OCW 18.06 Linear Algebra
核验日期:2026-07-14。数学关系是稳定事实;stable API、ANN 实现和模型度量约定会变化,使用时应核对所用版本与模型卡。