[keywords]: recommender systems, link prediction, bipartite, graph auto-encoder framework, collaborative filtering
[1. Introduction]
Two main branches of recommender algorithms:
- content-based recommender systems: use content information of users and items to predict the next purchase of a user or rating of an item.
- collaborative filtering models: solve the matrix completion by collective interaction data.
matrix completion | link prediction on graph |
---|---|
interaction data | bipartite graph (between user and item nodes) |
observed ratings/purchases | links |
content information | node features |
predict ratings | predict labeled links |
[2. Matrix completion as link prediction on bipartite graphs]
-
Rating matrix
-
: number of users,
: number of items
-
either an observed rating or 0 (unobserved)
-
: undirected bipartite user-item interaction graph
()
[2.1 Graph auto-encoders]
- A graph encoder model
- A pairwise decoder model
-
: feature matrix
-
adjacency matrix of a graph
-
: node embedding matrix (
: embedding size)
-
: users embedding matrix
-
: items embedding matrix
-
: a reconstructed rating matrix
Training: train the graph auto-encoder by minimizing the reconstruction error between the predicted ratings in and the observed ground-truth ratings in
. (e.g. root mean square error, cross entropy)
[2.2 Graph convolutional encoder]
Idea: graph convolutional layer performs local operations that only take the first-order neighborhood of a node into account (can be seen as a form of message passing).
(a graph convolutional layer)
(a dense layer)
-
: edge-type sepcific messages from items
to user
-
: either be
(left normalization) or
(symmetric normalization)
-
: edge-type specific parameter matrix
-
: initial feature vector of node
- accum(
): an accumulation operation (e.g. stack(
), sum(
))
-
: an element-wise activation function (e.g. ReLU)
-
: final embedding of user node
Combining side information with interaction data can alleviate performance bottlenecks related to the cold start problem.