You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

余弦相似度与Jaccard相似度(直方图相似度)结果差异解读

余弦与Jaccard相似度结果差异的解析

问题背景

使用Matlab的pdist2函数评估两个直方图的bin counts数组相似度,输入数组及可视化代码如下:

% Input
bin_counts_a = [689   430   311   135    66    67    99    23    37    19     8     4     3     4     1     3     1     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     1     0     0     0     0     1];
bin_counts_b = [569   402   200   166   262    90    50    16    33    12     6    35    49     4    12     8     8     2     1     0     0     0     0     1     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     2     0     0     0     0     0     0     1];

% Visualize the two "bin counts" vectors as bars:
bar(1:length(bin_counts_a),[bin_counts_a;bin_counts_b])

直方图bin counts可视化

相似度计算结果

% Calculation of similarities
cosine_similarity  = 1 - pdist2(bin_counts_a,bin_counts_b,'cosine')
jaccard_similarity = 1 - pdist2(bin_counts_a,bin_counts_b,'jaccard')

% Output
cosine_similarity =

          0.95473215802008


jaccard_similarity =

        0.0769230769230769

差异原因解析

这两个相似度指标的核心计算逻辑完全不同,才会出现结果的巨大反差:

1. 余弦相似度:关注向量的方向一致性

余弦相似度的本质是衡量两个向量在空间中的方向相似程度,公式为:
$$\text{cosine similarity} = \frac{\vec{a} \cdot \vec{b}}{|\vec{a}| \cdot |\vec{b}|}$$
它只关心各维度数值的比例关系,完全忽略绝对值大小和零值维度的影响。

从数据来看,两个向量的前17个bin(数值占比最高的核心区域)数值比例高度一致,这部分贡献了向量点积和模长的绝大多数权重,后面大量零值或极小值的bin对整体结果影响微乎其微,因此余弦相似度接近1,体现出向量方向的高度相似。

2. Jaccard相似度:关注数值的重叠程度

Matlab中pdist2的Jaccard指标针对数值向量时,计算逻辑是:
$$\text{Jaccard similarity} = \frac{\sum_{i=1}^n \min(a_i, b_i)}{\sum_{i=1}^n \max(a_i, b_i)}$$
它的核心是衡量两个向量在每个维度上的数值重叠程度,而非方向比例。

数据中,除了前17个bin外,剩余的33个bin里:

  • bin_counts_a有4个bin存在极小值(1),其余为0
  • bin_counts_b有5个bin存在极小值(1或2),其余为0
    这些维度的$\min(a_i,b_i)$都是0,$\max(a_i,b_i)$是对应的极小值,会大幅拉低分子的总和,同时增加分母的总和,最终导致Jaccard相似度远低于1。

若采用二进制集合的Jaccard逻辑(将非零视为1,零视为0),差异同样明显:两个向量的非零bin重叠比例很低,大量非零bin是各自独有的,这也会导致Jaccard相似度极低。

内容的提问来源于stack exchange,提问作者Ommo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 20:07:02