Matrix Factorization (MF) used in recommender systems decomposes user-item interaction matrix D \in R^{m \times n} into the product of two lower dimensionality rectangular matrices U \in R^{m \times k} and V \in R^{n \times k}, making the product of UV^T close to the real D matrix as much as possible. Matrix Factorization is the mainstream algorithm based on implicit factors.


Generalized Matrix Factorization (GMF) is the weighted output of dot product of the embedding vectors of user and item after activation function. Let f denote active function, e_u denote the embedding vector of user, e_i denote the embedding vector of item, $h$ denote the weights of linear function, then the result of GMF is :

z^{GMF}=f(h^T(e_u · e_i))

GMF usually deals with the problem of linear interaction.


Multi-Layer Perceptrons (MLPs) is a class of feedforward artificial neural network, consisting at least an input layer, a hidden layer and an output layer. Assume a MLP model has L layers, W_i (0<i < L) denotes the weight matrix of i layer, b_i denotes the i bias of MLPs, f_i denotes the activate function of i layer, then the result of MLPs is :

z^{MLP}=f_L(W_{L}^{T}(f_{L-1}(\dots f_1(W_1^TE(e_u,e_i)+b_1)\dots))+b_L)

E(e_u,e_i) denotes the concatenation of embedding vectors of user and item. MLPs usually deals with the problem of non-linear interaction.


Neural Collaborative Filtering (MCF) is based on GMF and MLP. Let z^{GMF} denote the result vector of GMF, z^{MLP} denote the result vector of MLP, then the result of NCF is :

z^{NCF}=\sigma(h^T \begin{bmatrix} z^{GMF} \\ z_{MLP} \end{bmatrix})

where h denotes the weights of NCF.


Neural Graph Collaborative Filtering (NGCF) is a recommender systems framework that exploits the user-item graph structure by propagating embeddings on it, which leads to the expressive modeling of high-order connectivity in user-item graph, effectively injecting the collaborative signal into the embedding process in an explicit manner. You can find more details in the origin NGCF-paper.


LightGCN is a model containing only the most essential component in Graph Convolution Network for collaborative filtering, it learns user and item embeddings by linearly propagating them on the user-item interaction graph, and uses the weighted sum of the embeddings learned at all players as the final embedding. You can find more details in the origin LIGHT_GCN-paper.


Collaborative Memory Network (CMN) is a deep architecture to unify the two classes of Collaborative Filtering models capitalizing on the strengths of the global structure of latent factor model and local neighborhood-based structure in a nonlinear fashion. You can find more details in the origin CMN-paper.


Triple2Vec A model that learns user and item embeddings by training a Skip-gram model based on sampled triples. Triple2vec uses the Skip-gram model to recover the sampled triples (i.e. a user and two items occurring in the same basket of that user) from the users’ baskets for product representations and purchase prediction. Triple2Vec-paper.


Variational Bayesian Context-aware Representation for Grocery Recommendation (VBCAR) is a novel variational Bayesian model that learns the user and item latent vectors by leveraging basket context information from past user-item interactions. You can find more details in the origin VBCAR-paper.


Neural Attentive Session Based Recommendation Model (NARM) is a neural networks framework that tackle problem that not only considers the user’s sequential behavior in the current session but also emphasizing the user’s main purpose in the current session. You can find more details in the origin NARM-paper.