I’m looking for clarification as to why we use the dot product as a “similarity” metric for two vectors with collaborative filtering. For example, imagine two users, both with a metric of 0.5. The dot product will be 0.25. They have the same “similarity” rank as two users with values of 0.25 and 1, which are quite far apart. So why use the dot product?
I had the same question when I tried to understand zero shot learning with CLIP. For my understanding the dot product of normalized (length 1) vectors is the same as the cosine similarity of the two vectors.
But in a collaborative filtering the product is not of 2 users, but of an user and an item.
So 0.5 in the user embeddings is how much an user “wants” that feature, and 0.5 in the item/movie embeddings is how much that movie has that feature.