一种简单优雅的实现方法
余弦相似度计算公式
$ 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)