📜  余弦相似度

📅  最后修改于: 2021-08-27 17:32:21             🧑  作者: Mango

先决条件–数据挖掘中的距离度量

在数据挖掘中,相似性度量是指距离,其距离表示数据集中数据对象的特征。如果该距离较小,则将具有较高的相似度,但是当距离较大时,将具有较低的相似度。

一些流行的相似性措施是–

  1. 欧氏距离。
  2. 曼哈顿距离。
  3. Jaccard相似度。
  4. Minkowski距离。
  5. 余弦相似度。

余弦相似度是一个度量标准,有助于确定数据对象的相似程度,无论其大小如何。我们可以使用余弦相似度来测量Python两个句子之间的相似度。在余弦相似度中,数据集中的数据对象被视为向量。查找两个向量之间的余弦相似度的公式为–

Cos(x, y) = x . y / ||x|| * ||y||

在哪里,

  • X 。 y =向量“ x”和“ y”的乘积(点)。
  • || x |||| y || =两个向量“ x”和“ y”的长度。
  • || x || * || y || =两个向量“ x”和“ y”的叉积。

例子 :
考虑一个使用余弦相似度来找到两个向量“ x”“ y”之间相似度的示例。

“ x”向量具有值x = {3,2,0,5}
“ y”向量的值为y = {1,0,0,0}

余弦相似度的计算公式为: Cos(x,y)= x。 y / || x || * || y ||

x . y = 3*1 + 2*0 + 0*0 + 5*0 = 3

||x|| = √ (3)^2 + (2)^2 + (0)^2 + (5)^2 = 6.16

||y|| = √ (1)^2 + (0)^2 + (0)^2 + (0)^2 = 1

∴ Cos(x, y) = 3 / (6.16 * 1) = 0.49 

两个向量“ x”和“ y”之间的差异由下式给出:

∴ Dis(x, y) = 1 - Cos(x, y) = 1 - 0.49 = 0.51
  • 两个向量之间的余弦相似度以“θ”表示。
  • 如果θ= 0°,则“ x”和“ y”向量重叠,从而证明它们是相似的。
  • 如果θ= 90°,则“ x”和“ y”向量不相同。

两个向量之间的余弦相似度

好处 :

  • 余弦相似度是有益的,因为即使两个相似的数据对象由于大小而相距欧几里德距离,它们之间仍然可能具有较小的角度。角度越小,相似度越高。
  • 当在多维空间上绘制时,余弦相似度捕获数据对象的方向(角度),而不捕获幅度。