具體要自己定義乙個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輸出檢視不到具體值
(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...