求A和B兩個特徵向量的余弦相似度

2021-09-25 16:02:52 字數 593 閱讀 4437

現有兩個特徵向量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的值再反過來計算...