编辑
2024-11-15
📘总结-保持好奇心
00
请注意,本文编写于 216 天前,最后修改于 216 天前,其中某些信息可能已经过时。

目录

向量数据库通过计算与目标向量的余弦距离、点积等获取与目标响亮的相似度。 余弦距离和点积代表什么意思,通俗的举例解释
1. 余弦相似度(Cosine Similarity)
公式:
通俗例子:
举个例子:
2. 点积(Dot Product)
公式:
通俗例子:
比较余弦相似度和点积:
总结:

向量数据库通过计算与目标向量的余弦距离、点积等获取与目标响亮的相似度。 余弦距离和点积代表什么意思,通俗的举例解释

向量数据库中,余弦距离点积是计算两个向量相似度的常用方法。通过这两个度量,我们可以判断两个向量之间的"相似程度"或者它们的"关系"。接下来我会通过通俗的例子来解释它们的含义。

1. 余弦相似度(Cosine Similarity)

余弦相似度是通过计算两个向量的夹角来衡量它们的相似度。具体来说,余弦相似度是两个向量的余弦值,它表示的是这两个向量的方向是否相近,而与它们的大小无关。

公式:

[ \text{余弦相似度} = \frac{\mathbf{A} \cdot \mathbf{B}}{|\mathbf{A}| |\mathbf{B}|} ] 其中:

  • (\mathbf{A}) 和 (\mathbf{B}) 是两个向量。
  • (\mathbf{A} \cdot \mathbf{B}) 是向量的点积(也就是它们的相似度的一个度量)。
  • (|\mathbf{A}|) 和 (|\mathbf{B}|) 是向量的模(即它们的大小)。

通俗例子:

假设你有两个方向:

  • 向量A表示你向东走的方向。
  • 向量B表示你向东南走的方向。

如果你只看方向而不考虑它们的长度(你走得快慢),这两个方向还是比较接近的。余弦相似度就是衡量两个向量方向相似的程度。

  • 完全相同方向(比如A和B指向完全一样):余弦相似度为1。
  • 完全相反方向(比如A向东,B向西):余弦相似度为-1。
  • 正交方向(比如A向东,B向北):余弦相似度为0(没有相似性)。

举个例子:

如果你在地图上行走,A向东走,B向东北走,虽然B的路径比A稍微偏左一点,但它们的大部分方向还是一致的。所以余弦相似度会很接近1,表示这两个向量的方向非常相似。

2. 点积(Dot Product)

点积是两个向量的乘积,它是衡量两个向量之间的相似性相关性的一个数值。点积不仅考虑了向量的方向,还会考虑它们的大小(即它们的长度)。在计算点积时,两个向量的“角度”越小,它们的点积值就越大。

公式:

[ \mathbf{A} \cdot \mathbf{B} = A_1 B_1 + A_2 B_2 + ... + A_n B_n ] 其中 (A_1, A_2, ..., A_n) 是向量A的各个分量,(B_1, B_2, ..., B_n) 是向量B的各个分量。

通俗例子:

如果你和朋友都背着重包去爬山,背包的重量和你们行走的速度可以看作两个向量。假设:

  • 向量A表示你爬山的速度和背包的重量。
  • 向量B表示你朋友爬山的速度和背包的重量。

点积会衡量你们在相同方向(比如爬山的方向)上的“贡献”。如果你们的速度都很快,背包也很重,那么点积的值就会很大,表示你们在同一个方向上有很强的相似性。

  • 点积越大,表示两个向量在方向和大小上的相似度越高。
  • 点积为0,表示两者在某些方面完全不相关(即它们的方向正交)。

比较余弦相似度和点积:

  • 余弦相似度更加关注两个向量的方向,而不太关注它们的大小。
  • 点积不仅考虑方向,还考虑了两个向量的大小(即它们的“长度”)。点积较大的向量通常表示相似度更高,但同时它们的大小也可能影响结果。

总结:

  • 余弦相似度通过计算两个向量的夹角来评估它们的相似度,注重的是“方向”的相似性,不考虑它们的长度。
  • 点积则更关注两个向量的大小和方向,点积大意味着两个向量不仅方向相似,而且大小也可能相似。

这两种方法都可以用于向量数据库中的相似度搜索,比如在推荐系统、语义搜索等应用中,计算一个查询向量与数据库中其他向量的相似度,从而找到最相关的结果。

本文作者:Eric

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!