摘要:我们从链路预测的视角考虑推荐系统的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. Codeforces 1196C. Robot Breakout

    传送门 维护合法区域的四个边 $xa,ya,xb,yb$ 表示在以 $(xa,ya)$ 为左下角,以 $(xb,yb)$ 为右上角的矩形内的点都是合法答案 对于一个起点 $(x,y)$,如果没法往左, ...

  2. deepin 15.10.1 GTX1060 NVIDIA 驱动安装,双屏显示问题记录

    有一段时间没有用Linux了.由于买了个4k的戴尔显示屏,在deepin系统上无法用,从昨晚到现在,总于解决了我的问题! 问题1:无法直接在深度的显卡驱动管理器哪里直接切换,网上看到很多人都有这个问题 ...

  3. golang substring

    在java下习惯了String.subString(start,end) 然后再golang继续敲substring木有了,看了下代码,也是原生支持的 但是百度发现有些人竟然把字符串转成字符数组再根据 ...

  4. O009、KVM 网络虚拟化基础

    参考https://www.cnblogs.com/CloudMan6/p/5289590.html   网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大.   但因为网络是虚拟化中非常重要的资源, ...

  5. O001、写在最前面

    参考https://www.cnblogs.com/CloudMan6/p/5224114.html   <每天5分钟玩转 OpenStack>       1.系统讲解 OpenStac ...

  6. Android官方网站!

    Android官方网站,所有Android相关文档.官方工具.示例,全部都在上面!! http://www.android.com/

  7. HTTPS中CA证书的签发及使用过程

    1,HTTPS 简单来讲,HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议就是安全的HTTP,我们知道HTTP是运行在TCP层之上的,HTTPS在 ...

  8. Linux中的grep 命令

    介绍grep文本处理命令,它也可以解释正则. 常用选项: -E :开启扩展(Extend)的正则表达式. -i :忽略大小写(ignore case). -v :反过来(invert),只打印没有匹配 ...

  9. win7下CodeIgniter安装

    一.CodeIgniter是什么 CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包. 它的目标是让你能够更快速的开发,它提供了日常任务中所需的大量类库, 以及简单的接 ...

  10. Delphi 触发异常的方法