相似性测量

相似性测量是用于衡量两个对象或数据之间相似程度的方法。

使用gpt整理。

几种测量方法

度量方法 英文名 定义 计算公式 使用场景 归一化需求 高维度敏感性 取值范围
欧氏距离 Euclidean Distance 衡量两个点之间的直线距离,即在几何空间中的直线距离。 sqrt((x2-x1)^2 + (y2-y1)^2) 连续数值型数据的相似性度量,如空间坐标、图像特征、数值向量等 可选 大于等于0的实数
曼哈顿距离 Manhattan Distance 衡量两个点之间的城市街区距离,即在沿坐标轴的轴向上的距离总和。 |x2 - x1| + |y2 - y1| 城市街区距离的度量,如路径规划、城市区域划分等 可选 大于等于0的实数
余弦相似度 Cosine Similarity 衡量两个向量之间的夹角余弦值,用于度量向量的方向上的相似度。 (A·B) / (|A| * |B|) 文本、向量空间模型、推荐系统等领域 [-1, 1]之间的实数
Jaccard相似系数 Jaccard Similarity 衡量两个集合之间的相似性,用于度量集合的相似性。 |A∩B| / |A∪B| 文档集合、用户兴趣集合等 [0, 1]之间的实数
皮尔逊相关系数 Pearson Correlation Coeff. 衡量两个变量之间的线性相关性,用于度量变量之间的相关性。 cov(X, Y) / (\sigmaX * \sigmaY) 统计分析、数据挖掘等领域 [-1, 1]之间的实数
点积相似度 Dot Product Similarity 衡量两个向量之间的相似程度,直接使用向量的点积作为相似度值。 A·B 向量空间模型、推荐系统等领域 实数

归一化

对于向量数据,可以将其归一化为单位长度(长度为 1)。将向量除以其范数(L2 范数或欧几里得范数)可以实现这种归一化。

  • 欧氏距离和曼哈顿距离:对于这两种距离度量,归一化通常是可选的,具体取决于数据的特征和应用场景。在某些情况下,归一化可以确保不同维度的特征对距离计算的贡献相等,从而避免由于某些维度范围较大而主导距离计算的情况。
  • 余弦相似度和点积相似度:对于这两种相似度度量,通常需要对向量进行归一化。归一化后,余弦相似度计算的结果将在-1到1之间,而点积相似度计算的结果将在0到1之间,使得比较结果更具有可解释性和可比性。

高维度敏感性

  • 在高维度空间中,距离度量和相似度度量可能受到所谓的"维度灾难"问题的影响,其中距离和相似度的可区分性变得困难。在高维度问题中,欧氏距离和曼哈顿距离的计算可能会受到维度之间的差异影响,而余弦相似度和点积相似度在高维度空间中可能更加稳定。
  • 在高维度问题中,Jaccard相似系数和皮尔逊相关系数的计算可能会受到数据稀疏性和特征之间的相关性等因素的影响,需要谨慎使用并结合具体问题进行评估。

小结

曼哈顿距离通过将每个维度的绝对差相加来计算距离,而欧几里得距离则计算点之间的直线距离。 曼哈顿距离适用于涉及网格状运动的场景,或者当单个维度具有不同的重要性时。当测量最短路径或当所有维度对距离的贡献相等时,欧几里得距离是理想的。

欧几里得距离算法的优点是可以反映向量的绝对距离,适用于需要考虑向量长度的相似性计算。

余弦相似度对向量的长度不敏感,只关注向量的方向,因此适用于高维向量的相似性计算。

点积相似度算法的优点在于它简单易懂,计算速度快,并且兼顾了向量的长度和方向。但点积相似度算法对向量的长度敏感,因此在计算高维向量的相似性时可能会出现问题。

CC BY-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy