本文介绍各种用于向量检索的向量相似性计算方法,将会简单介绍各种方法的优缺点等信息,并用toy example给出代码示例。
最近更新时间:2022.9.29
最早更新时间:2022.9.29
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∥∥y∥xy⊤
计算一组向量之间的两两相似度,代码撰写方法:
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 yk(x,y)=x⊤y
版权声明:本文为PolarisRisingWar原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。