20 multiple-choice questions on core concepts, plus 5 short-answer questions on FastAI. Attempt every question before submitting.
Select the single best answer for each question. Each question is worth 1 mark.
Collaborative filtering makes recommendations based on:
In a user–item rating matrix, a missing cell (marked ? or NaN) means:
A rating matrix with 500 users, 1,000 movies, and only 10,000 known ratings has a sparsity of:
In matrix factorisation, the rating matrix R is approximated as:
The parameter k in matrix factorisation refers to:
A predicted rating in the basic dot-product CF model is computed as:
Latent factors in collaborative filtering are best described as:
A user bias term bu captures:
Given user embedding u = [0.8, 0.5] and item embedding v = [0.6, −0.4], what is the dot product u · v?
The loss function used to train a collaborative filtering model on known ratings is typically:
A model predicts [4.2, 3.1, 2.8] for three known ratings of [4, 3, 3]. What is the RMSE?
Weight decay (L2 regularisation) is applied during CF training primarily to:
The cold start problem in collaborative filtering occurs when:
PCA is used to visualise learned embeddings because:
Cosine similarity between two embedding vectors measures:
Neural collaborative filtering (with use_nn=True) differs from dot-product CF because it:
Why is y_range=(0, 5.5) preferred over (0, 5.0) when ratings go from 1 to 5?
The filter bubble effect in recommender systems refers to:
A model has 800 users, 400 movies, and uses k=50 latent factors. How many embedding parameters does it have (excluding biases)?
Which of the following is a valid way to handle the cold start problem for a new user?
Answer each question in 1–3 sentences using correct FastAI terminology. These questions are marked by your lecturer. Aim for precision — code snippets where relevant are encouraged.
What FastAI function is used to create a DataLoader for collaborative filtering, and what are the three column names you must specify? written
After training a collab_learner model, calling learn.model.forward() directly causes a TypeError. What is the correct FastAI way to generate predictions for new user–item pairs? written
dls.n_users and dls.n_items raise an AttributeError in current versions of FastAI. How do you correctly retrieve the number of unique users and items from a CollabDataLoaders object? written
What does the use_nn=True argument do when passed to collab_learner()? How does the resulting architecture differ from the default dot-product model? written
Explain what learn.model.i_weight.weight and learn.model.i_bias.weight contain after training, and describe one way you could use each to interpret what the model has learned. written
Check that you have answered all 25 questions, then click Submit. Your MCQ score (out of 20) will be shown. Short-answer questions are marked separately by your lecturer.