点积与余弦相似度
本节目标
能手算点积与余弦相似度,解释模长为何会改变 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。
- 将点积大归因于方向相似,忽略模长。
练习与自测
- 计算 与
(2,0),(1,1),(-1,0)的 dot 和 cosine。 - 证明单位向量的平方欧氏距离 ,说明此时 cosine 排序与欧氏距离排序的关系。
- 我能解释 dot 与 cosine 的模长差异。
- 我不会把 cosine 当概率。
- 我知道度量应与模型训练约定匹配。
参考资料
资料核验日期:2026-07-14。下一步:距离、归一化与高维空间。