Use the movielens data set from here:
https://grouplens.org/datasets/movielens/latest/.
There are 2 data sets, small and large. Use both datasets.
Do the following for each dataset:
- Apply SVD on each of these data sets.
- Apply CUR decomposition to these datasets.
- Plot the error versus number of latent factors.
- Plot the storage and compute time.
- Apply PQ decomposition or the machine learning approach to matrix factorization. Do a 80:20 split of your data into training and test data. Apply stochastic gradient descent from scratch with regularization.
- Try the generalized neural collaborative filtering approach.