C3_W2_Collaborative_RecSys_Assignment: Intuition of adding 13 movie ratings of one user to the collaborative movie matrix

Dear Raymond,

in section “6 - Recommendations“…

  1. …I understand that by adding one new user with 13 movie ratings to the overall collaborative movie matrix y^(i,j) with 443 users we predict new movie ratings also for unrated movies sorted by highest ratings (see my_predictions).
  2. …Also, we compare the predictions against the added new user ratings of 13 movies.

Is this correct?

If, yes…

  • What are the 100 features? Are these 100 different movie categories such as romantic, action?
  • Why are the predicted ratings using the calculated parameters w, x and b whereas these parameters are based on the new user’s ratings among 443 other users so close to the provided 13 movie ratings of the new user? How can the impact of one additional user be so big to be that close to the original user’s ratings? Is this because the new user has a mainstream rating?

Thanks!

BR, Daniel from Germany

Hello Daniel,

I was not around in the last few days, so I write back late. Sorry about that :wink:

yes

These 100 features are learned by the training algorithm and the algorithm do not learn them in a way that makes sure the features carry interpretable meaning.

In other words, we don’t know what these 100 features are, except they can make good predictions for those training samples.

Are you discussing these results?

Let’s say you were talking about the results above.

It seems to me you were saying that the model performance has some significant improvement because of the addition of the user. Is that accurate?

If so, I don’t think that’s the case. Without that user, you can still make good predictions for other existing users. This additional user is nothing special.

However, you have to add this user into the training in order for the trained model to make prediction for this user. That’s it :wink:

I will be around for the next few days. Let’s see if you have any follow-up.

Cheers,
Raymond

Thanks for your reply! Yes, I was referring to the section where the predictions are shown. Can I imagine the following?

  • If I make a vote or provide my preferences of liked/disliked movies the recommender learning algorithm will compare similar users that made similar votes resulting in very close ratings of the original user. Correct?
  • Also, why do I get predictions of the added user if this user has already provided these votes? For the prediction we null the previous original preferences and calculate the prediction using the learnt parameters. Correct?

Thank you very much for your support!

If you provide your ratings without re-training the model, your ratings have no impact. If you re-train the model with your ratings, then you will be able to find users who rated similarly to you.

Whoever the user is and with or without your ratings, the model can always (1) compare similar users that made similar votes and (2) predicts pretty well user ratings that are provided in the training set.

Regarding the word “resulting” in your statement, the prediction in (2) is a one-step result which means that after you provide the user ID, the model provides the ratings directly, so it does not go through the comparison in (1) first.

I think it is a good way to verify that the model has learned about the user. It would not be convincing if it can’t even predict existing ratings well.

There is no step that we “null” anything, but we do calculate the prediction using the learnt parameters.

You see - the training algorithm minimizes the loss and the loss is the difference between the predictions and the provided ratings. The model predicts the provided ratings well because it was trained to.

Cheers,
Raymond