张芷铭的个人博客

余弦相似度衡量向量方向一致性,取值 [-1,1],是深度学习中特征匹配、语义关联的核心算法。

计算公式

$$\cos\theta = \frac{A \cdot B}{|A| \times |B|}$$

  • 分子:向量点积
  • 分母:L₂ 范数乘积

关键特点

  • 与向量长度无关,仅关注方向
  • 计算高效:O(n)
  • 结果映射到固定区间,易阈值判断

深度学习应用

场景用途
特征匹配图像检索、人脸识别
语义关联文本相似度、问答系统
推荐系统用户/物品相似度计算
对比学习SimCLR 等损失函数组件
模型评估生成文本与参考文本相似度

实现

1
2
3
4
import numpy as np

def cosine_similarity(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

Comments