Notes

Neural Graph CF (NGCF)

Matrix factorization learns a user's embedding from the items that user touched and nothing else — that two of those items were also liked by a third user who liked something new never reaches the embedding except indirectly, through the loss. Neural Graph CF (NGCF) takes the opposite route: it treats the interaction data as a graph and builds each embedding out of its neighbourhood.

How the signal propagates
Users and items are nodes in a bipartite graph, with an edge for every observed interaction. Each propagation layer rewrites a node's embedding as a function of its neighbours' embeddings, including an element-wise product between the node and each neighbour, so that affinity rather than mere presence travels across the edge. Stack L layers and signal reaches L hops — a user is now described partly by users who overlap with them two hops away. The per-layer outputs are concatenated, and the final score is still an inner product, trained with the BPR pairwise loss over sampled negatives.

What it buys and what it costs
Multi-hop neighbourhoods are a direct answer to sparsity: a user with eight interactions borrows structure from everyone those eight items connect to, which is where plain factorization runs out of evidence. The cost is in training, where propagation touches the whole graph; serving stays cheap, since converged embeddings are frozen into a vector index and retrieved with FAISS.

The simplification that followed
NGCF's feature-transformation matrices and nonlinearities were inherited from general graph-network practice, and LightGCN showed they actively hurt here: removing them, keeping only the weighted neighbour sum, trained faster and ranked better. NGCF remains the reference point for that result, and the baseline graph recommender work reports against on Gowalla and Amazon-Book.

Neural Graph CF (NGCF) is a recommender that embeds users and items by propagating signal over the user-item bipartite graph. Stacking propagation layers folds multi-hop collaborative signal — users reached through shared items — into each embedding before an inner product scores a pair. That extra reach supplies evidence where sparsity leaves plain matrix factorization with almost none, and it is the baseline LightGCN simplified by stripping its transformations.

Think of how you find a good restaurant in a city you do not know. You ask a friend, and your friend asks someone who lives there. The suggestion reaches you through a chain of people, not just from your own experience.

Neural Graph CF works the same way. It draws a map linking every person to the things they have watched or bought, then lets information travel along those links. Your taste is described not only by your own history, but by people two or three steps away from you on that map. That is a real help if you have barely used the service — your few clicks connect you to thousands of others, and the suggestions come from them.