- What problem does collaborative filtering solve?
- How does it solve it?
- Why might a collaborative filtering predictive model fail to be a very useful recommendation system?
- What does a crosstab representation of collaborative filtering data look like?
- Write the code to create a crosstab representation of the MovieLens data (you might need to do some web searching!).
- What is a latent factor? Why is it "latent"?
- What is a dot product? Calculate a dot product manually using pure Python with lists.
- What does
pandas.DataFrame.merge do?
- What is an embedding matrix?
- What is the relationship between an embedding and a matrix of one-hot-encoded vectors?
- Why do we need
Embedding if we could use one-hot-encoded vectors for the same thing?
- What does an embedding contain before we start training (assuming we're not using a pre-trained model)?
- Create a class (without peeking, if possible!) and use it.
- What does
x[:,0] return?
- Rewrite the
DotProduct class (without peeking, if possible!) and train a model with it.
- What is a good loss function to use for MovieLens? Why?
- What would happen if we used cross-entropy loss with MovieLens? How would we need to change the model?
- What is the use of bias in a dot product model?
- What is another name for weight decay?
- Write the equation for weight decay (without peeking!).