点积与余弦相似度

本节目标

能手算点积与余弦相似度,解释模长为何会改变 dot 排名,并在单位化、模型训练约定和业务目标之间建立清晰边界。

点积

也可写:

它同时受方向和两向量长度影响。。点积为 0 表示在欧氏几何中正交;正值/负值表示夹角小于/大于 90°。

余弦相似度

对非零向量,值在 。它比较方向,忽略整体缩放: 与 cosine 为 1。

若所有向量都 L2 单位化:

因此某些系统用 inner product 索引实现 cosine,但前提是 query 和文档都按相同方式归一化。

手算比较

query :

  • :方向相同,cosine=1,dot=4;
  • :cosine=,dot=10。

dot 会把模长很大的 排在前,cosine 会把方向一致的 排在前。哪一个正确取决于 embedding 训练目标和产品语义。

在检索中的用途

  • 双塔模型常用点积作为训练/检索得分,模长可能参与表达。
  • 通用文本 embedding 常推荐 cosine 或等价的单位化点积,但必须查模型卡/官方文档。
  • 相似度是候选排序信号,不等于事实正确、可回答或权限允许。
  • 高分阈值不能跨语料、模型和 query 类型照搬,应在代表性标注集上校准。

常见误区

  • 把 0.8 解释为“80% 相关概率”。cosine 不是概率。
  • 认为负 cosine 永远“不相关”;不同模型分布和任务需验证。
  • query 单位化而文档未单位化,却声称使用 cosine。
  • 将点积大归因于方向相似,忽略模长。

练习与自测

  1. 计算 与 (2,0),(1,1),(-1,0) 的 dot 和 cosine。
  2. 证明单位向量的平方欧氏距离 ,说明此时 cosine 排序与欧氏距离排序的关系。
  • 我能解释 dot 与 cosine 的模长差异。
  • 我不会把 cosine 当概率。
  • 我知道度量应与模型训练约定匹配。

参考资料

资料核验日期:2026-07-14。下一步:距离、归一化与高维空间。