zoukankan      html  css  js  c++  java
  • 两矩阵各向量余弦相似度计算操作向量化.md

    余弦相似度计算:

    cos(f{v_1}, f{v_2}) = frac{left(
    v_1 	imes v_2 
    ight)}{||v_1|| * ||v_2|| }
    
    cos(f{M_1}, f{M_2}) = frac{left(M_1 	imes M_2^T 
    ight)}{||M_1|| 	imes ||M_1||^T }
    
    ### 矩阵矢量化操作
    ### 按行计算余弦相似度
    ### 两矩阵计算相似度向量应为同维度
    ### 返回值RES为A矩阵每行对B矩阵每行向量余弦值
    ### RES[i,j] 表示A矩阵第i行向量与B矩阵第j行向量余弦相似度
    
    def cosine_Matrix(_matrixA, _matrixB):
      import numpy
      _matrixA_matrixB = _matrixA * _matrixB.transpose()
      ### 按行求和,生成一个列向量
      ### 即各行向量的模
      _matrixA_norm = numpy.sqrt(numpy.multiply(_matrixA,_matrixA).sum(axis=1))
      _matrixB_norm = numpy.sqrt(numpy.multiply(_matrixB,_matrixB).sum(axis=1))
      return numpy.divide(_matrixA_matrixB, _matrixA_norm * _matrixB_norm.transpose())
    
    ### 向量计算余弦相似度
    ### 计算两向量余弦相似度
    ### 返回_vec1和_vec2余弦相似度
    ### 此处用于计算向量余弦相似度,验证矩阵相似度计算结果
    
    def cosine(_vec1, _vec2):
      import numpy
      return float(numpy.sum(_vec1*_vec2))/(numpy.linalg.norm(_vec1)*numpy.linalg.norm(_vec2))
    
  • 相关阅读:
    mongodb
    python中读取文件的read、readline、readlines方法区别
    uva 129 Krypton Factor
    hdu 4734
    hdu 5182 PM2.5
    hdu 5179 beautiful number
    hdu 5178 pairs
    hdu 5176 The Experience of Love
    hdu 5175 Misaki's Kiss again
    hdu 5174 Ferries Wheel
  • 原文地址:https://www.cnblogs.com/suanec/p/9121092.html
Copyright © 2011-2022 走看看