当前位置:   article > 正文

常用的相似度度量总结:余弦相似度,点积,L1,L2

对键之间的余弦相似度

3105bde6805de91bbcbbbad27a4df9e2.png

  1. 来源:DeepHub IMBA
  2. 本文约1500字,建议阅读5分钟本文将介绍几种常用的用来计算两个向量在嵌入空间中的接近程度的相似性度量。

相似性度量在机器学习中起着至关重要的作用。这些度量以数学方式量化对象、数据点或向量之间的相似性。理解向量空间中的相似性概念并采用适当的度量是解决广泛的现实世界问题的基础。本文将介绍几种常用的用来计算两个向量在嵌入空间中的接近程度的相似性度量。

ce3f0d1d36904282bd68accbed1a5337.png

余弦相似度

余弦相似度(cos (θ))值范围从-1(不相似)到+1(非常相似)。从下图可以看出,点A(1.5, 1.5)和点B(2.0, 1.0)在二维嵌入空间中距离很近。当计算余弦相似度时,得到0.948的值也可以确认两个向量非常相似。当较点A(1.5, 1.5)和点C(-1.0, -0.5)的相似度时,余弦相似度为-0.948,表明两个向量不相似。通过观察也可以看到它们在嵌入空间中方向相反。cos (θ)值为0表示两个向量彼此垂直,既不相似也不不同。

a590004a0192ecab30827f5655e5b886.png

要计算两个向量之间的余弦相似度,可以简单地用两个向量的点积除以它们长度的乘积。余弦相似度主要考虑两个向量之间的角度来确定它们的相似度,并且忽略向量的长度。

在Python中计算余弦相似度很简单。我们可以将相似值cos(θ)转换为两个向量之间的角度(θ),通过取反余弦。

  1. import torch
  2. import torch.nn.functional as F
  3. import math
  4. #Create 3 Vectors
  5. A = torch.tensor([1.5,1.5])
  6. B = torch.tensor([2.0,1.0])
  7. C = torch.tensor([-1.0,-0.5])
  8. # Calculate cosine similarity cos(
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/368149
    推荐阅读
    相关标签