距离度量的选择直接影响搜索中哪些向量被认为是“最近的”,因为它强调了向量之间不同的几何或代数关系。 欧几里得距离、余弦相似度和点积各自优先考虑向量关系的不同方面,例如大小、方向或两者的组合。 这导致邻居排名的变化,即使对于相同的数据集也是如此。
欧几里得距离测量空间中两个向量之间的直线距离。 它将向量视为几何空间中的点,并且对向量的方向和大小都敏感。 例如,即使向量的大小不同,坐标方向差异小的两个向量也会具有较小的欧几里得距离。 但是,如果一个向量明显更长(例如,[3, 4] 与 [1, 1]),则尽管方向对齐相似,但它们的欧几里得距离可能很大。 这使得欧几里得距离适用于绝对位置重要的应用程序,例如物理坐标或大小有意义的标准化嵌入。 相比之下,余弦相似度侧重于向量之间的角度,忽略它们的大小。 它的范围从 -1(相反方向)到 1(相同方向)。 例如,向量 [2, 3] 及其缩放版本 [4, 6] 的余弦相似度为 1,因为它们指向相同的方向。 这使得余弦非常适合文本嵌入(例如,TF-IDF 或 word2vec),其中文档长度或频率不应主导相似性。 但是,如果大小差异有意义(如图像像素强度),则余弦可能会失败。
点积结合了大小和方向两个方面。 从数学上讲,它等于向量的大小及其余弦相似度的乘积。 例如,与较短的向量对齐的长向量(例如,[5, 5] · [2, 2] = 20)可能比两个较短的、完美对齐的向量(例如,[1, 1] · [1, 1] = 2)具有更高的点积。 当方向和大小都很重要时,这使得点积很有用,例如在推荐系统中,用户的偏好强度(大小)和项目相关性(方向)都很重要。 但是,点积可能会不成比例地偏爱较大的向量,这可能并不总是可取的。 为了减轻这种情况,通常在应用点积之前对向量进行归一化,从而有效地将其转换为余弦相似度。 在这些指标之间进行选择取决于问题的需求:欧几里得用于对大小敏感的任务,余弦用于以方向为中心的比较,点积用于大小有权重的混合场景。 了解这些差异可确保指标与数据的固有属性和应用程序的目标保持一致。