基于图的推荐算法(4): Graph Convolutional Matrix Completion

前言

  • 发表在KDD2018的基于GNN思想进行协同过滤的算法
    原文链接
  • 作者来自提出GCN的团队

摘要

针对用户-物品交互二部图,文中从链路预测的角度考虑了推荐系统的矩阵填充问题。
基于图结构化数据深度学习的最新进展,我们提出了一种在二部图上可微消息传递的图自动编码框架(Graph Auto-encoder)。

模型方法

本质上就是将推荐任务视为一个图中节点间预测链接的任务(Link Prediction),预测交互矩阵中未知项。

以往的基于图的推荐系统方法通常采用多级流水线,包括图特征提取模型和链接预测模型,分别进行训练。然而,最近的研究结果表明,通过使用端到端学习技术对图形结构化数据进行建模,特别是使用图自动编码器进行非监督式学习和链接预测,结果往往可以得到显著改善。

在接下来的部分,我们将介绍一种用于矩阵完成任务的图形自动编码器的具体变体。

1. Graph Auto-encoder 回顾

Graph Auto-encoder是在无向图上的一种用于非监督学习和链接预测的端到端模型:Z=f(X,A),输入N \times D 的特征矩阵X和图的邻接矩阵A ,输出新闻的节点特征嵌入矩阵Z=[z_1,...,z_N]^T

对于推荐算法中的二部图,编码器可以定义为:

其中M_r \in \{0,1\}^{N_u \times N_v}是邻接矩阵,记录其中评分值都为r的节点邻接情况。

因此可以将针对二部图的编码器定义为:

我们可以训练这个自动编码器,通过最小化重构误差。

2. Graph convolutional encoder

文中提出了一种特殊的编码器模型,它能够有效地利用图中各位置之间的权重分配,并为每个边类型(或等级类型) 分配独立的处理通道

权重分配的形式是受到最近一类卷积神经网络的启发,这类网络直接对图结构化数据进行操作。
图形卷积层执行局部操作,只考虑节点的直接邻居,因此同样的转换应用于图中的所有位置。

这种局部图卷积可以视为一种信息传递(Message Passing),节点特征可以通过边进行传递,文中为每个评分级别设计了一个特定的转换方式,从物品j到用户i的边信息表示如下:

其中c_{ij}为正则化常量:
W_r则是边参数矩阵,x_j^v即物品节点的特征向量。

在信息传递后,通过累计操作(accumulate)如加和、拼接等操作,将当前节点所有邻接不同评分级别的节点信息进行聚合:

最终节点表征如下:

对于用户和物品节点采用不同卷积参数,共用最后的全连接参数;在实践中,仅使用单层卷积和单层全连接的组合构成模型。

3. Bilinear decoder

为了预测二部交互图中的链路,文中构建了一个双线性解码器,并将每个等级作为一个单独的类

解码器通过双线性操作,然后应用softmax最大激活函数,生成可能的评分级别:

其中Q_r是对应第r个评分级别的参数矩阵,最终的预测评分可以通过预测评分期望计算得到:

4. 模型训练

只根据用户已经观察到的交互项。

其他训练细节:

  • mini-batching 只从用户和项目对的集合中抽取固定数量的贡献。是一种有效的正则化方法,又减少了训练模型所需的内存。通过实验验证了在调整正则化参数的同时,使用小批量和全批量训练可以得到 MovieLens-1M 数据集的可比结果。

  • Node dropout 对节点向量进行dropout,为了使该模型能够很好地推广到未被观测的评级,它通过随机丢弃一个特定节点的所有传出消息的降噪设置进行训练。初步实验发现节点丢失比消息丢失更有效地进行正则化。message dropout对于单个发出的消息被独立地删除,使嵌入对于单个边的存在或不存在更加强大。相比之下,节点丢失也会使得嵌入更加独立于特定用户或项目的影响。

  • weight sharing 并非所有用户和项目对于每个评级级别都有相同数量的评级。在图形卷积层中,这导致W_r的某些列被优化的频率明显低于其他列。因此,对于不同的 r,矩阵之间某种形式的权重共享是可取的,以减轻这种优化问题。

    将这种类型的权重共享称为序数权重分担,因为更高的评级包含了越来越多的权重矩阵。

作为双线性解码器正则化的一种有效手段,我们采用一组线性组合矩阵的形式来进行权重共享,与上面的形式基本相同通过累加来进行权重共享,如下所示,为了避免引入过多参数,n_{b}要小于评级数量:


此外文中还考虑了辅助信息的使用:

实验结果




小结

这篇工作基于图神经网络的思想,将推荐任务转换为评分预测任务,并针对具体任务设计了auto-encoder进行端到端的特征提取和评分预测;与前面介绍的三篇工作有着较大差异,后续也有相似研究开展。

END

本人简书所有文章均为原创,欢迎转载,请注明文章出处 。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问本人简书主页查看最新信息https://www.jianshu.com/u/40d14973d97c

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351

推荐阅读更多精彩内容