摘要:我们从链路预测的视角考虑推荐系统的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. Java服务,内存OOM问题如何快速定位? (转)

    转自:公众号  架构师之路 问题:有一个Java服务出现了OOM(Out Of Memory)问题,定位了好久不得其法,请问有什么好的思路么? OOM的问题,印象中之前写过,这里再总结一些相对通用的方 ...

  2. Spring Cloud Alibaba nacos 配置中心使用

    背景 上一文我们讲到了如何去搭建注册中心,这一次我们讲述如何使用nacos作为注册中心 spring-cloud-alibaba-basis 创建基础依赖 首先我们创建一个spring-cloud-a ...

  3. Scala新版本学习(1):

    1.进官网:https://www.scala-lang.org/ 上面就是进入Scala社区后的一个画面,官方对Scala的简单介绍是:Scala将面向对象和函数式编程集合在一个简洁的高级语言中,S ...

  4. jq上滑加载更多

    html 结构 <div id="main"> <ul class="order-list" id="list_box"& ...

  5. 配置maven的国内镜像

    pom.xml文件出现错误标记,一般是相关的maven资源没有下载完整. 1,配置maven的国内镜像,保证能够顺利下载maven中配置的资源. 在maven的配置文件  settings.xml  ...

  6. Hibrenate实现根据实体类自动创建表或添加字段

    Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 实现: 在配置hibernate的配置文件中将hbm2ddl.auto设置为update,如:Xml代码&l ...

  7. Ext4文件系统修复

    Ext4文件系统修复 目录 一. super block........................................................................ ...

  8. ubuntu下安装tensorflow-gpu版本过程

    我之前已经安装了cpu-only版的tensorflow,所以现在要先把原先的tf卸载 sudo pip uninstall tensorflow sudo pip3 install tensorfl ...

  9. windows下前端开发环境配置

    nvm安装 多媒体布局 前端自动化构建工具,gulp nvm管理node的版本,npm是node的包管理工具 下载nvm安装包 https://github.com/coreybutler/nvm-w ...

  10. QR分解迭代求特征值——原生python实现(不使用numpy)

    QR分解: 有很多方法可以进行QR迭代,本文使用的是Schmidt正交化方法 具体证明请参考链接 https://wenku.baidu.com/view/c2e34678168884868762d6 ...