Cosine Similarity
余弦相似度度量两向量夹角的余弦值,忽略向量长度,常用于文本向量相似度计算。
用途
比较向量方向而非大小,使长短文档可公平比较。
机制
sim(A,B) = (A·B) / (|A|×|B|) = Σ(A_i×B_i) / (sqrt(ΣA_i²)×sqrt(ΣB_i²))。输出 -1 至 1(文本向量非负则为 0 至 1)。1 表示方向相同,0 表示正交(无关)。
用例
- 文档相似度检索
- 推荐系统物品相似度
- 词向量语义相似度
- 聚类距离度量
示例
- 输入
[1,0,1] vs [1,1,1]输出0.816Angle of about 35°
常见错误
- Unnormalized vectors cause computation overflow
- Apply L2 normalization in advance or use a numerically stable implementation