CP3501 · Week 8 Collaborative Filtering Quiz
0 / 25
Week 8  ·  Assessment Quiz

Collaborative Filtering

20 multiple-choice questions on core concepts, plus 5 short-answer questions on FastAI. Attempt every question before submitting.

📋 25 questions total ⭐ 25 marks 🕐 No time limit 🔒 Answers not revealed
PART A

Multiple Choice  (1 mark each)

Select the single best answer for each question. Each question is worth 1 mark.

Q1

Collaborative filtering makes recommendations based on:

Q2

In a user–item rating matrix, a missing cell (marked ? or NaN) means:

Q3

A rating matrix with 500 users, 1,000 movies, and only 10,000 known ratings has a sparsity of:

Q4

In matrix factorisation, the rating matrix R is approximated as:

Q5

The parameter k in matrix factorisation refers to:

Q6

A predicted rating in the basic dot-product CF model is computed as:

Q7

Latent factors in collaborative filtering are best described as:

Q8

A user bias term bu captures:

Q9

Given user embedding u = [0.8, 0.5] and item embedding v = [0.6, −0.4], what is the dot product u · v?

Q10

The loss function used to train a collaborative filtering model on known ratings is typically:

Q11

A model predicts [4.2, 3.1, 2.8] for three known ratings of [4, 3, 3]. What is the RMSE?

Q12

Weight decay (L2 regularisation) is applied during CF training primarily to:

Q13

The cold start problem in collaborative filtering occurs when:

Q14

PCA is used to visualise learned embeddings because:

Q15

Cosine similarity between two embedding vectors measures:

Q16

Neural collaborative filtering (with use_nn=True) differs from dot-product CF because it:

Q17

Why is y_range=(0, 5.5) preferred over (0, 5.0) when ratings go from 1 to 5?

Q18

The filter bubble effect in recommender systems refers to:

Q19

A model has 800 users, 400 movies, and uses k=50 latent factors. How many embedding parameters does it have (excluding biases)?

Q20

Which of the following is a valid way to handle the cold start problem for a new user?

PART B

Short Answer — FastAI  (1 mark each)

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.

Q21

What FastAI function is used to create a DataLoader for collaborative filtering, and what are the three column names you must specify? written

Your answer
Hint: think about what describes a single rating row.
0 / 600
Q22

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

Your answer
Hint: involve dls.test_dl() and learn.get_preds().
0 / 600
Q23

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

Your answer
Hint: use dls.classes.
0 / 600
Q24

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

Your answer
0 / 600
Q25

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

Your answer
0 / 600

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.

MCQ Score
0 / 20
✏️ Your 5 short-answer responses have been recorded and will be marked by your lecturer (5 marks total).
Full quiz total: MCQ score + short-answer marks = / 25