向量检索/向量相似性计算方法(持续更新ing...)

诸神缄默不语-个人CSDN博文目录

本文介绍各种用于向量检索的向量相似性计算方法,将会简单介绍各种方法的优缺点等信息,并用toy example给出代码示例。

最近更新时间:2022.9.29
最早更新时间:2022.9.29

文章目录

  • 1. 余弦相似度
  • 2. 线性核(点积)
    • 2.1 sklearn实现

1. 余弦相似度

使用sklearn.metrics.pairwise.cosine_similarity实现。
最终得到的值会在[-1,1]之间。

API官方文档:sklearn.metrics.pairwise.cosine_similarity — scikit-learn 1.1.2 documentation
对计算公式的介绍:https://scikit-learn.org/stable/modules/metrics.html#cosine-similarity

计算公式:
k ( x , y ) = x y ⊤ ∥ x ∥ ∥ y ∥ k(x, y) = \frac{x y^\top}{\|x\| \|y\|} k(x,y)=x∥∥yxy

计算一组向量之间的两两相似度,代码撰写方法:

from sklearn.metrics.pairwise import cosine_similarity
cos_sim_matrix = cosine_similarity(train_feature)
#入参是一个二维矩阵,每行是一个样本特征

2. 线性核(点积)

2.1 sklearn实现

使用sklearn.metrics.pairwise.linear_kernel实现。

API官方文档:sklearn.metrics.pairwise.linear_kernel — scikit-learn 1.1.2 documentation

计算公式:
k ( x , y ) = x ⊤ y k(x, y) = x^\top y k(x,y)=xy

你可能感兴趣的:(人工智能学习笔记,向量检索,向量相似性,信息检索,深度学习,NLP)