论文| Graph Convolutional Matrix Completion
算是在矩阵补全领域看的另一篇论文,大佬真的太太太厉害了。日常仰望大佬并流泪。
核心观点
Intersection data such as movie ratings can be represented by a bipartitie user-item gtaph with labeled edges denoting observed ratings. This representation is especially useful in the setting where additional graph-based side information is present.

像这张图里表现的,可以将一个评分矩阵理解为user和item之间的二分图。具体的数值也就是点和点之间连线的权重。所以就可以将矩阵补全问题转化为一个链路预测问题,而正巧也是GNN的一个重要应用。不得不佩服Kipf大神,大神从脑子里稍微拿出一点内容就足够让我学习好久。
相关术语和概念
Bipartite Graph
二分图,Bipartite Graph or Bigraph,二分图是一类图(G,E)(G,E),其中G是顶点的集合,E为边的集合,并且G可以分成两个不相交的集合U和V,E中的任意一条边的一个顶点属于集合U,另一顶点属于集合V。二分图的表示为:G=(U,V,E)G=(U,V,E)
论文内容梳理
Introduction
We propose graph convolutional matrix completion(GC-MC) : a graph-based auto-encoder framework for matrix completion. The auto-encoder produces latent features of user and item nodes through a form of message passing on the bipartite interaction graph. The benefits of formulating matrix completion as a link-prediction task on a bipartite graph becomes especially apparent when recommender graphs are accompanied with structured external information such as social networks.
这里作者介绍了他们提出了一种用于矩阵补全的基于图的自动编码框架。着重提出了他们这个方法的优点:当这个链路预测问题有额外的结构化信息补充时,这个方法的性能特别好,可以减轻推荐系统的冷启动问题;当没有额外的结构化信息时,也能够达到和普通的协同过滤算法相似的性能。
Main Contribution: 1) apply graph neural networks to the task of matrix completion with structured side-information and show that our simple message passing model outperforms more complicated graph-based approaches. 2) introduce node dropout , an effective regularization techniques that drops out the entire set of all outgoing messages of a single node with a fixed probability.
总结本篇论文,主要就是两个方面的贡献,一个是提出使用图神经网络来解决带有额外信息的矩阵补全问题,另一个是提出了正则方法node dropout。
Matrix Completion as Link Prediction in Bipartite Graphs
作者这里先阐述了该方法和以前的基于图的方法的区别。以前的方法包含两个需要分开训练的流程,首先要进行graph feature extraction model,其次是link prediction model。但是近期的研究表明了对于图结构,如果使用端到端的方法并且当使用GAE时效果会有显著的提升。
Revisiting graph auto-encoder
重温一下Graph Auto-encoder的概念,并着重阐述其在本文的Bipartite recommender graphs G=(W,E,R)G = (W,E,R) 的意义。Encoder就是对于User的集合也就是WuW_u和Item的集合WvW_v分别得到两个编码表示形式[Zu,Zv][Z_u, Z_v], 对应的decoder可以从user和item的编码表示形式重新构建评分矩阵M′M'. 训练形式就是最小化M′M'和MM之间的误差,比如说使用RMSE,或者corss entropy。
Graph convolutional encoder
We propose a particulat choice of encoder model that makes effieient use of weight sharing across locations in the graph and that assigns separate processing channels for each edge type(or rating type) r∈Rr \in R.
The graph convolutional layer performs local operations that only take the direct neighbors of a node into account, whereby the same transformation is applied across all locations in the graph. This type of local graph convolution can be seen as a form of message passing , where vector-valued messages are being passed and transformed across edges of the graph.
图卷基层计算邻居结点的方法可以看作是一种信息传递,沿着图片的边传递向量形式的信息。注意这里是对于每一种rating level(比如说Netflix可以打分1-5,就有5个rating level)使用特定的转换,所以就是根据边的种类使用不同的转换方式:
μj→i,r=1cijWrxjv \mu_{j \rightarrow i, r}=\frac{1}{c_{i j}} W_{r} x_{j}^{v}
cijc_{ij} is a normalization constant, which we choose to either be left normalization or symmetric normalization. WrW_r is an edge-type specific parameter matrix and xjvx_j^v is the (initial) feature vector of item node j.
待补充。
