摘要:我们从链路预测的视角考虑推荐系统的matrix completion。像电影评分的交互数据可以表示为一个user-item的二分图,其中的edge表示观测到的评分。这种表示是特别有用的在额外的基于图的side information存在时。在近来深度学习在图结构数据上取得进展的基础上,我们基于二分图交互图上的differentiable message passing提出了一个图自编码器框架。进一步,为了验证提出的message passing 策略,我们在协同过滤任务上测试我们的模型并且展示出了competitive results.

Matrix Completion的解释参考矩阵补全(matrix completion)的经典算法有哪些?

1 Introduction

推荐系统的一个子任务就是matrix completion. 在这个工作中,我们把matrix completion视作在图上的链路预测问题:users和items的交互数据可以被表示成一个二分图,观测到的评分/购买用links表示。预测评分就对应于预测在二分图中的labeled links。

In accordance with (按照)这个观点,我们提出了图卷积矩阵不全(GC-MC):一个基于图的用于matrix completioin的自编码器框架,自编码器产生users和items节点的latent features通过一种在二分交互图上的message passing形式。这些 latent user and item representations被用来重构rating links通过一个bilinear decoder.

当recommender graph伴随着结构化的外部信息例如社交网络是,将matrix completion形式化为一个在二分图上的链路预测任务的好处是特别明显的。将这些外部信息和交互数据结合起来可以减轻与冷启动问题相关的性能瓶颈。我们的图自编码器模型有效的将交互数据和side information结合起来,without resorting to (不诉诸,不使用) 在文献[20]中的recurrent frameworks. 我们进一步展示出在存粹的协同过滤背景下,我们的方法能够compete with(角逐) 近来的 state of the art models.

我们的主要贡献如下:(1)我们把graph neural networks连同结构化的side-information(侧面信息)应用到matrix completion任务中,并且展示了我们简单的message passing model 性能优于更加复杂的基于图的方法例如文献[20]。(2)我们引入node dropout,一种有效的正则化技术。

开源实现可以在https://github.com/riannevdberg/gc-mc 上找到。

2 Matrix completion as link prediction in bipartite graphs

考虑一个rating matrix \(M ( N_u \times N_v)\),其中Nu是users的数量,Nv是items的数量。矩阵中一个非零的entry \(M_{ij}\)表示一个观测到的rating from user i for item j. \(M_{ij}=0\) 表示一个没有观测到的rating。我们matrix completion的任务就是预测M中没有观测到的entry。

可以把matrix completion看作是在一个二分图上的链路预测问题,这种connection(转换方法)之前在文献[16]中做过探索并且导致在推荐问题上基于图方法的发展.

之前在推荐系统上的基于图的方法(see [16] for an overview) 通常是利用一个 multi-stage pipeline,包括图特征抽取模型和一个链路预测模型,它们都是分别训练的。然而进来的结果已经表明对于无监督的学习和链路预测的实验结果可以被显著提升通过用end-to-end的学习技巧特别是使用图自编码器在图结构数据上建模。接下来,我们介绍一个在矩阵补全任务中特殊的图自编码器变体。我们将会展示graph-based side information是如何自然地被包括进去的。

2.1 Revisiting graph auto-encoders

我们revisit graph auto-encoders,这最开始由[12, 26]引入作为一个对于无向图上非监督学习[26]和链路预测[12]的end-to-end model。

论文阅读Graph Convolutional Matrix Completion的更多相关文章

  1. 2018年发表论文阅读:Convolutional Simplex Projection Network for Weakly Supervised Semantic Segmentation

    记笔记目的:刻意地.有意地整理其思路,综合对比,以求借鉴.他山之石,可以攻玉. <Convolutional Simplex Projection Network for Weakly Supe ...

  2. 论文解读 - Composition Based Multi Relational Graph Convolutional Networks

    1 简介 随着图卷积神经网络在近年来的不断发展,其对于图结构数据的建模能力愈发强大.然而现阶段的工作大多针对简单无向图或者异质图的表示学习,对图中边存在方向和类型的特殊图----多关系图(Multi- ...

  3. 论文解读GALA《Symmetric Graph Convolutional Autoencoder for Unsupervised Graph Representation Learning》

    论文信息 Title:<Symmetric Graph Convolutional Autoencoder for Unsupervised Graph Representation Learn ...

  4. 【论文笔记】Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition

    Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition 2018-01-28  15:4 ...

  5. 论文笔记之:Semi-supervised Classification with Graph Convolutional Networks

    Semi-supervised Classification with Graph Convolutional Networks 2018-01-16  22:33:36 1. 文章主要思想: 2. ...

  6. 论文阅读 | FCOS: Fully Convolutional One-Stage Object Detection

    论文阅读——FCOS: Fully Convolutional One-Stage Object Detection 概述 目前anchor-free大热,从DenseBoxes到CornerNet. ...

  7. 【论文阅读】Learning Dual Convolutional Neural Networks for Low-Level Vision

    论文阅读([CVPR2018]Jinshan Pan - Learning Dual Convolutional Neural Networks for Low-Level Vision) 本文针对低 ...

  8. [论文阅读笔记] GEMSEC,Graph Embedding with Self Clustering

    [论文阅读笔记] GEMSEC: Graph Embedding with Self Clustering 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 已经有一些工作在使用学习 ...

  9. [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings

    [论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 本文结构 解决问题 主要贡献 算法原理 参考文 ...

随机推荐

  1. websocket具体如何使用

    本人是在https://blog.csdn.net/jintingbo/article/details/80755636此地址学习的,所以留做笔记用于之后的学习 现在在写一个工程,是关于监控摄像头的, ...

  2. JavaScript里面9种数组遍历!

    ​大家好,我在这里总结分享了JavaScript中的闹腾的数组循环家族. 1.大家最常用的for循环,我就不解释了: for(let i = 0; i < 5 ; i++){ console.l ...

  3. linux CUDA安装

    首先是安装依赖库 sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-m ...

  4. js 格式化 json 字符串

    1.JSON.stringify的三个参数 var json = {"@odata.context":"$metadata#AddTableOne_466281s&quo ...

  5. jquery重复绑定

    jquery可以重复绑定一个事件handler,如果一个button绑定了3次onclick,那么点一下按钮就触发三次事件处理程序的调用. 所以如果想动态地变更控件绑定的处理程序,只要unbind() ...

  6. python 有用的库

    1.Faker pip3 install faker官网: https://faker.readthedocs.io/en/master/providers.htmlgithub: https://g ...

  7. 脚本之SSH登录

    脚本之SSH登录 一)[python实现] 导入pxssh模块 常用的三个方法: Login() 建立ssh连接 Logout() 断开连接 Prompt() 等待系统提示符,用于等待命令执行结束 S ...

  8. Django学习系列9:接着修改首页

    现在的功能测试还是失败的,继续修改代码,让其通过.因为HTML现在保存在模板中,可以尽情修改,无需编写额外的单元测试.我们需要一个<h1>元素 修改:lists/templates/hom ...

  9. mysql5.7.26部署MHA

    前期准备: mysql先部署好GTID主从,然后才部署MHA 1)环境准备(所有节点) #安装依赖包 yum install perl-DBD-MySQL -y #进入安装包存放目录 [root@my ...

  10. dirname命令和basename命令

    dirname返回文件所在目录路径,而basename则相反,去掉路径返回最后的文件名. direname: 用途 从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的 ...