Tutorial 4 - Examples in SVD Updating


Assignment 1$^*$

The Netflix Recommendation Engine is based on the principle of a low-rank (truncated) SVD approximation of the (large and sparse) Movie $\times$ Users matrix, and the SVD updating.

Explain the mathematics behind the engine using explanations from the packages IncrementalSVD.jl, and RecSys.jl (see also A parallel recommendation engine in Julia), and the literature on the Internet.

Explain the relation to SVD, truncated SVD, and SVD updating.

Try the packages.

Assignment 2$^{**}$

Implement the matrix multiplication for SVD updating using Fast Multipole Method as described in M. Gu and S. C. Eisenstat, A Stable and Fast Algorithm for Updating the Singular Value Decomposition.


In [ ]: