理解向量

vector 2d coordinates

向量具有维度和方向。例如,下图显示了二维向量 在笛卡尔坐标系中用箭头表示。

The head of the vector is at the point . The x coordinate value is and the y coordinate value is . The coordinates are also referred to as the components of the vector.

相似性

可以使用多种数学公式来确定两个向量是否相似。其中最直观且易于理解的是余弦相似度。请看以下显示三组图表的图像

vector similarity

The vectors and are considered similar, when they are pointing close to each other, as in the first diagram. The vectors are considered unrelated when pointing perpendicular to each other and opposite when they point away from each other.

它们之间的角度, ,是衡量它们相似度的一个好指标。如何计算角度

pythagorean triangle

我们都熟悉勾股定理

当 **a** 和 **b** 之间的角度不是 90 度时怎么办?

输入余弦定理

余弦定理

下图显示了这种方法作为矢量图:lawofcosines

该向量的幅度由其分量定义为

幅度

The dot product between two vectors and is defined in terms of its components as:

点积

用向量幅度和点积重写余弦定理得到以下结果

向量形式的余弦定理

Replacing with gives the following:

仅用 \$\vec{A}\$ 和 \$\vec{B}\$ 表示的向量形式的余弦定理

展开 给了我们余弦相似度 的公式。

余弦相似度

这个公式适用于高于 2 或 3 维的维度,尽管很难可视化。但是,它可以在一定程度上可视化。在 AI/ML 应用中,向量通常具有数百甚至数千个维度。

使用向量分量在更高维度上的相似性函数如下所示。它使用求和数学语法将之前给出的二维大小和点积定义扩展到N维。

使用向量分量的余弦相似度

这是在向量存储的简单实现中使用的关键公式,可以在SimpleVectorStore实现中找到。