Numpy 平均向量的余弦相似性是否与余弦相似性的平均值相同?

Numpy 平均向量的余弦相似性是否与余弦相似性的平均值相同?,numpy,linear-algebra,cosine-similarity,Numpy,Linear Algebra,Cosine Similarity,我有一个向量v,我想把它和一组向量U=[u1,u2,u3…]进行比较。 我想找到v与U中所有向量的平均余弦相似性 我的第一个想法是计算: s1 = cosine_similarity(v, u1) s2 = cosine_similarity(v, u2) ... 然后取平均值作为 s = np.mean([s1, s2, s3 ...]) 但我想知道这个过程是否和取U的平均值得到一个向量U然后计算相同 u = np.mean(U) s = cosine_similarity(x, u

我有一个向量
v
,我想把它和一组向量
U=[u1,u2,u3…]
进行比较。 我想找到
v
U
中所有向量的平均余弦相似性

我的第一个想法是计算:

s1 = cosine_similarity(v, u1) 
s2 = cosine_similarity(v, u2) 
... 
然后取平均值作为

s = np.mean([s1, s2, s3 ...])
但我想知道这个过程是否和取U的平均值得到一个向量U然后计算相同

u = np.mean(U)
s = cosine_similarity(x, u)

两种情况下的结果是否相同?

您可以举一个简单的例子,检查结果是否相同。简短的回答是否定的

import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

x1 = np.random.rand(1, 100)
x2 = np.random.rand(1, 100)

y = np.random.rand(1, 100)

print(cosine_similarity(x1, y) + cosine_similarity(x2, y))

m = x1+x2
print(cosine_similarity(m, y))