向量相似度矩阵计算器

左向量集合 (N)

0

右向量集合 (M)

0

相似度矩阵

算法
小数位
点击「计算」生成 N × M 相似度矩阵

相似度算法说明

以下为三种常用向量相似度算法的通俗解释与数学定义,帮助你理解结果含义。

Cosine / 余弦相似度

衡量两个向量在方向上的夹角,忽略长度,只看"朝向是否一致"。两个向量越平行,值越接近 1;垂直则为 0;反向则为 -1。常用于文本/语义检索,因为它对向量模长不敏感,只关注内容方向。

sim(a, b) = (a · b) / (‖a‖ × ‖b‖) = Σ(aᵢ × bᵢ) / ( √Σaᵢ² × √Σbᵢ² )

值域:[-1, 1],越大越相似。

归一化值域:[-1, 1](不变)。此时 cos(a,b) = a·b,与内积等价。

Inner Product / 内积(点积)

两个向量对应位置相乘再求和,同时考虑方向和长度。向量越长、方向越一致,值越大。在向量已归一化的前提下,内积退化为余弦相似度,这也是很多向量数据库默认用 IP 检索的原因。

sim(a, b) = a · b = Σ(aᵢ × bᵢ)

值域:(-∞, +∞),越大越相似。未归一化时,内积大小同时受方向与模长影响,无法直接横向比较。

归一化值域:[-1, 1],退化为 cos(a,b)。

L2 Distance / 欧氏距离

两点在空间中的"直线距离",即各维度差值平方和再开方。距离越小表示越相似,0 表示完全相同。它同时反映方向和长度的差异,对异常值(某个维度偏差大)更敏感。

d(a, b) = ‖a − b‖₂ = √( Σ(aᵢ − bᵢ)² )

值域:[0, +∞),越小越相似(0 表示完全相同)。与 Cosine/IP 不同,这里是"距离"而非"相似度",因此热力图中颜色越暖代表越接近。

归一化值域:[0, 2],两向量反向时取最大值 2。

L2² Distance / 欧氏距离平方

L2 距离去掉开方运算,直接保留平方和。数学上与 L2 单调等价(排序结果完全一致),但省去了昂贵的 sqrt 计算,是向量检索(如 Faiss/IVF/PQ)中常用的工程优化手段。

d²(a, b) = Σ(aᵢ − bᵢ)²

值域:[0, +∞),越小越相似。与 L2 的相对大小关系完全一致,仅绝对值不同;适合用于排序、Top-K 检索等无需绝对距离的场景。

归一化值域:[0, 4],两向量反向时取最大值 4。