余弦相似度公式

\(\cos\alpha={\vec a} {\cdot} {\vec b}{|\vec a||\vec b|}\)

向量\(\vec a\)与向量\(\vec b\)的余弦相似度等于,向量\(\vec a\)与向量\(\vec b\)的点积,除以向量\(\vec a\)与向量\(\vec b\)的长度

函数cos_sim计算了向量的余弦相似度,参数b为一个矩阵n\(\times\)m的矩阵,表示n个m维的向量。

def cos_sim(a,b):
    """
    计算a,b向量的余弦相似度
    @param a: 1*m的向量
    @param b: n*m的矩阵
    @return: 1*n的值,每个样本的bi与a的余弦相似度
    """
    cos_result = np.dot(a, b.T) / np.sqrt(np.sum(b ** 2, axis=1)) / np.sqrt(np.dot(a, a.T))
    return cos_result

相关文章:

  • 2022-12-23
  • 2022-02-01
  • 2021-06-16
  • 2022-01-20
  • 2021-10-07
  • 2021-08-03
猜你喜欢
  • 2021-06-14
相关资源
相似解决方案