現有兩個特徵向量a和b,分別表示為
a = [x1,x2,x3]
b = [y1,y2,y3]
則求a和b向量的余弦相似度。
a = (x1 * y1 + x2 * y2 + x3 * y3)
b = sqrt(x1 2 + x2 2 + x3 2) # sqrt表示求平方根
c = sqrt(y1 2 + y2 2 + y3 2)
cos(a,b) = a / bc
同理當a個b擴到n維,
a = [x1,x2,…,xn]
b = [y1,y2,…,yn]
對a,b,c進行不斷的擴增即可。
具體例子:
有a和b特徵向量:
a = [1,0,1]
b = [0,1,1]
求a和b的余弦相似度。
解:根據上面的公式,
a = 1
b = sqrt(2)
c = sqrt(2)
cos(a,b) = 1/2 = 0.5
所以a和b的余弦相似度為0.5
尊重他人智財權,不做拿來主義者!
你的關注和喜歡就是我write博文的動力。
pytorch計算兩個特徵的余弦相似度
首先,我們要記住一點,兩個特徵的余弦相似度計算出來的範圍是 1,1 其實,對於兩個特徵,它們的余弦相似度就是兩個特徵在經過l2歸一化之後的矩陣內積。如下 import torch import torch.nn.functional as f 假設feature1為n c w h,feature2也...
對比兩個檔案相似度 余弦演算法
檔案a1 包含字元bi 的個數bin1,檔案a2 包含的字元bi 的個數bin2 利用余弦演算法 相似度 b1n1 b1n2 b2n1 b2n2 bin1 bin2 math.sqrt b1n1 2 b2n1 2 bin1 2 math.sqrt b1n2 2 b2n2 2 bin2 2 math....
python求兩個向量的夾角
import numpy as np x np.array 3,5 y np.array 4,2 兩個向量 lx np.sqrt x.dot x ly np.sqrt y.dot y 相當於勾股定理,求得斜線的長度 cos angle x.dot y lx ly 求得cos sita的值再反過來計算...