理解向量

向量具有维度和方向。例如,下图描绘了一个二维向量 在笛卡尔坐标系中表示为一个箭头。
向量 的头部位于点 ,其中 x 坐标值为 ,y 坐标值为 。这些坐标值也称为向量的分量。
相似度
有几种数学公式可以用来确定两个向量是否相似。其中一种最直观且易于理解和可视化的方法是余弦相似度。考虑以下显示三组图表的图像

当向量 和 指向彼此接近时,它们被认为是相似的,如第一个图所示。当向量相互垂直时,它们被认为是无关的;当它们指向彼此远离时,它们被认为是相反的。
它们之间的角度 是衡量它们相似度的良好指标。如何计算角度 呢?
我们都熟悉勾股定理。
那么当 a 和 b 之间的角度不是90度时呢?
引入余弦定理。
下图将此方法表示为向量图:
此向量的大小根据其分量定义为
两个向量
用向量大小和点积重写余弦定理得到以下结果
将
此公式适用于高于2或3维的情况,尽管难以可视化。然而,可以在一定程度上进行可视化。在AI/ML应用中,向量通常具有数百甚至数千个维度。
在更高维度上使用向量分量的相似度函数如下所示。它使用求和数学符号将之前给出的二维大小和点积定义扩展到 N 维。
这是简单向量存储实现中使用的关键公式,可以在 SimpleVectorStore
实现中找到。