理解向量
向量具有维度和方向。例如,下图显示了二维向量 在笛卡尔坐标系中用箭头表示。
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.
相似性
可以使用多种数学公式来确定两个向量是否相似。其中最直观且易于理解的是余弦相似度。请看以下显示三组图表的图像
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.
它们之间的角度, ,是衡量它们相似度的一个好指标。如何计算角度 ?
我们都熟悉勾股定理。
当 **a** 和 **b** 之间的角度不是 90 度时怎么办?
输入余弦定理。
下图显示了这种方法作为矢量图:
该向量的幅度由其分量定义为
The dot product between two vectors
用向量幅度和点积重写余弦定理得到以下结果
Replacing
这个公式适用于高于 2 或 3 维的维度,尽管很难可视化。但是,它可以在一定程度上可视化。在 AI/ML 应用中,向量通常具有数百甚至数千个维度。
使用向量分量在更高维度上的相似性函数如下所示。它使用求和数学语法将之前给出的二维大小和点积定义扩展到N维。
这是在向量存储的简单实现中使用的关键公式,可以在SimpleVectorStore
实现中找到。