keras求兩向量間的余弦值

2021-10-10 16:10:48 字數 1494 閱讀 2188

具體要自己定義乙個layer,余弦相似度計算公式如下:

步驟:

計算兩個向量l2範數,計算兩個向量的點乘

點乘結果除以l2範數乘積,分母不能為0

# 一定要是二維

x1 = x1.reshape(4,

5)x2 = x2.reshape(4,

5)x1 = k.constant(x1)

x2 = k.constant(x2)

# 轉化為keras裡的tensor

x = lambda(

lambda x:x)

(x1)

y = lambda(

lambda x:x)

(x2)

cosine = cosinelayer(

)similarity = cosine(x, y)

# tensor輸出檢視不到具體值

print

(similarity)

# model = cosinelayer(x,y)

參考: 使用keras計算余弦相似度(cosine similarity)

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

現有兩個特徵向量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擴到...

使用函式求余弦函式的近似值

本題要求實現乙個函式,用下列公式求cos x 的近似值,精確到最後一項的絕對值小於e cos x x0 0 x 2 2 x 4 4 x6 6 函式介面定義 double funcos double e,double x 其中使用者傳入的引數為誤差上限e和自變數x 函式funcos應返回用給定公式計算...

使用函式求余弦函式的近似值

最近在做pta時,碰到乙個題,雖然不是很複雜,但是我感覺對於練習思維這一塊很有幫助,所以我打算將他分享出來!本題要求實現乙個函式,用下列公式求cos x 的近似值,精確到最後一項的絕對值小於e cos x x 0 0 x 2 2 x 4 4 x 6 6 函式介面定義 double funcos do...