一种简单优雅的实现方法
余弦相似度计算公式
$ cos(\vec x,\vec y)=\frac{<\vec x,\vec y>}{|\vec x| |\vec y|} $
最直观实现方式
设user_side_representation
与item_side_representation
的shape=[None, 4]
,其中None
表示batch_size
,4表示embedding_size
。
计算user_side_representation
与item_side_representation
两者的cosine similarity
最直观的实现方式为:
1)求user_side_representation
与item_side_representation
的内积inner_product
;
2)分别计算user_side_representation
与item_side_representation
的L2-norm
,norm_user
与norm_item
;
3)计算inner_product / (norm_user*norm_item)