Instead of using SVD, you can leverage deep learning methods to derive the user and item profile vectors of given dimensions.
For each user i, you can define a user vector ui ∈ Rk through an embedding layer. Similarly, for each item j, you can define a item vector vj ∈ Rk through another embedding layer. Then, the rating rij of a user i to an item j can be represented as the dot product of ui and vj as shown:
You can modify the neural network to add biases for users and items. Given that we want k latent components, the dimensions of the embedding matrix U for m users would be m x k. Similarly, the dimensions of the embedding matrix V for n items would be n x k.
In the The deep learning-based latent factor model section, we will use this embedding approach to create a recommender system based on the 100K Movie...