论文笔记(A Neural Influence Diffusion Model for Social Recommendation)

神经影响传播模型为了社交推荐

原文链接:A Neural Influence Diffusion Model for Social Recommendation, SIGIR’19
原理:社交网络上应用GNN提取朋友对用户的影响+候选项对用户历史交互项的注意力影响=用户向量,用户向量和项向量的内积预测评分。

摘要

准确的user 和 item的嵌入学习时建立一个成功的推荐系统的关键。协同过滤CF提供了一种从用户项的交互历史中学习user和item嵌入的方式,但这样的话系统的性能将会被用户行为数据的稀疏性而限制。随着在线社交网络的出现,社交推荐系统可以利用用户邻居的表现去缓解数据稀疏性的问题,从而更好的模拟user和item的嵌入。
我们认为,对于一个社交平台的每一个用户来说,他潜在的嵌入是受其信任用户的影响的,而这些信任用户又受信任用户的社会关系的影响随着社交影响递归的在社交网络中传播和扩散,每个用户的嵌入会在每次的递归过程中变化
然而,目前的社交推荐模型仅仅是利用每个用户的本地邻居(应该指的是直接相连的邻居)来开发静态模型,而没有模拟全球社交网络中的递归扩散,导致推荐性能不佳。
在本文中,我们提出了一个深度影响传播模型,以激发用户如何受递归社会扩散过程的影响。对于每个用户,扩散过程开始于融合了相关特性和捕获了潜在行为表现的免费用户潜在向量的一个初始嵌入。我们提出的模型的核心思想是,我们设计了一个分层的影响传播结构来模拟用户的潜在嵌入是如何随着社会扩散过程的继续而发展的。

问题定义

user set:U ( |U|=M )
item set:V ( |V|=N )
user-item interaction matrix:R ∈ R M×N
user-user directed graph:G = [U , S ∈ R M×M ]
user attributes matrix:X ∈ R d1×M
item attributes matrix:Y ∈ R d2×N
定义【社交推荐】:
Given a rating matrix R, a social network S, and associated real-valued feature matrix X and Y of users and items, our goal is to predict users’ unknown preferences to items as: Rˆ = f (R, S, X, Y), where Rˆ ∈ R M×N denotes the predicted preferences of users to items.

模型结构

模型的整体框架如下:
在这里插入图片描述

Embedding Layer

用 P ∈ RD×M 和 Q ∈ RD×N 分别表示 users 和 items 的free embeddings,他们捕获了用户和项协作的潜在表示,给定用户和项的索引,embedding layer 根据索引从矩阵 P 和 Q 中得到用户潜在向量 pa 和项潜在向量 qi

Fusion Layer

对于每个用户 a,融合层将用户潜在向量 pa 和用户特征向量 xa 作为输入,输出用户 a 的融合嵌入 h0a,融合嵌入从不用类型的输入数据中捕获了用户最初的兴趣。(项操作类似)我们用一层全连接层来模拟融合层:
在这里插入图片描述在这里插入图片描述

Influence Diffusion Layers

对于每个用户 a,用 hka 表示他在影响传播部分第 k 层的潜在嵌入,通过将第 k 层的输出输入到第 k+1 层,将会把用户 a 的潜在嵌入更新为hk+1a
在这里插入图片描述在这里插入图片描述
hkSa :平均池化操作,就是将用户 a 在 k 层信任的所有用户向量取平均来进行表示。
在给定 K 的情况下,最终会得到用户 a 在第 K 层的潜在嵌入 hKa

Predict Layer

用户 a 的潜在表示由两部分组成:社交传播层输出的嵌入 hKa 和 历史行为的表示(历史交互 items 的平均表示)。
最终的预测由 user 最终潜在向量和 item 潜在向量的内积计算得到。
在这里插入图片描述

模型训练

pair-wise ranking based loss function在这里插入图片描述

总结

1、要理解在社交传播层不是水波纹那样一圈一圈的计算(比如我之前写过的 pipple network),而是整体进行递归的计算。是典型 neural graph network 的那种计算方式。
2、作者所说的社交网络的动态影响其实只是区别于之前一些工作中直接将邻居(信任用户)向量进行简单的平均池化操作而言,作者的方法考虑递归的考虑了这些邻居的向量表示,让邻居的向量表示也像当前用户向量的计算方式那样计算。这里用到的社交网络其实也是静态的,并没有随着时间的变化而改变,比如下一个时刻用户信任了别的用户,信任网络可能随着时间而扩大。
3、对于信任用户的信任程度方面,没有考虑不同用户的重要程度,更没有考虑用户在购买不同物品时对不同用户的不同信任程度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480122.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

玩转算法面试-第三章

数组中常见的问题 排序: 选择排序;插入排序;归并排序;快速排序 查找:二分查找法 数据结构:栈;队列;堆 … 二分查找法: 1964年提出,没有bug的二分查找法是在1…

回溯应用-- 0-1背包问题

文章目录1. 问题描述2. 回溯解决思路1. 问题描述 0-1背包非常经典,很多场景都可以抽象成这个问题。经典解法是动态规划,回溯简单但没有那么高效。 有一个背包,背包总的承载重量是 W kg。现有n个物品,每个物品重量不等&#xff0…

Java多线程系列(五):线程池的实现原理、优点与风险、以及四种线程池实现

为什么需要线程池 我们有两种常见的创建线程的方法,一种是继承Thread类,一种是实现Runnable的接口,Thread类其实也是实现了Runnable接口。但是我们创建这两种线程在运行结束后都会被虚拟机销毁,如果线程数量多的话,频繁…

论文浅尝 | 面向单关系事实问题的中文问答模型

来源:NLPCC 2017论文下载地址:http://tcci.ccf.org.cn/conference/2017/papers/2003.pdf动机开放领域的QA问题是一个被广泛研究的问题,而且目前这个问题并没有被很好地解决。在中文领域,相关的数据集并不多。而NLPCC开放了一个KBQ…

玩转算法值面试-第五章 -在链表中穿针引线

5-123 数组中可以随机访问,相反链表就不行 leetcode:206 反转一个链表,链表如果没有特别声明,则节点的值不发生改变 一共需要三个指针:current指向当前需要处理的指针 next指向当前需要处理的元素的下一个元素的指针…

论文笔记(SocialGCN: An Efficient Graph Convolutional Network based Model for Social Recommendation)

一个有效的基于图卷积神经网络的社交推荐模型 原文链接:SocialGCN: An Efficient Graph Convolutional Network based Model for Social Recommendation, arxiv 原理:在用户-项交互图上应用GNN来学习用户向量的表示,用户向量和项向量内积预测…

POJ 1753 Flip Game(回溯)

文章目录1. 题目1.1 题目链接1.2 题目大意1.3 解题思路2. 代码2.1 Wrong Answer代码2.2 Accepted代码1. 题目 1.1 题目链接 http://poj.org/problem?id1753 1.2 题目大意 一个黑白棋子的棋盘,一个反过来周围四个也跟着反过来(如果存在的话),颜色取反…

他读书时挣了五十万,找工作时收获阿里腾讯快手等ssp offer

今天介绍一位dalao,他之前在中科院获取了计算机硕士学位,现在是一名大厂的算法工程师。大多数人的学生生活,是在枯燥的课程和任务中度过的,但他却有所不同,乐于折腾,收获了不一样的精彩。他喜欢去公司实习&…

Java多线程系列(三):Java线程池的使用方式,及核心运行原理

之前谈过多线程相关的4种常用Java线程锁的特点,性能比较、使用场景,今天主要分享线程池相关的内容,这些都是属于Java面试的必考点。 为什么需要线程池 java中为了提高并发度,可以使用多线程共同执行,但是如果有大量线程短时间之内…

论文浅尝 | 图神经网络综述:方法及应用

论文链接:https://arxiv.org/pdf/1812.08434.pdfGNN相关论文列表链接:https://github.com/thunlp/GNNPapers近日,清华刘知远老师组在arXiv上发表了一篇关于图神经网络的综述,本次论文浅尝在分享这篇论文的基础上,对图神…

论文笔记(Social Attentional Memory Network:Modeling Aspect- and Friend-level Differences in Recom-)

社交注意记忆网络:模拟面级别和朋友级别的区别 原文链接:Social Attentional Memory Network: Modeling Aspect- and Friend-Level Differences in Recommendation, WSDM’19 1. 摘要 社会中的连接有助于提升推荐系统的性能,但是&#xff…

玩转算法之面试-第六章(栈和队列)

leetcode 20 此时栈顶的左括号和当前遍历的右括号匹配,故将左括号从栈顶pop出。 leetcode 150: leetcode 71 栈和递归的关系 递归算法:二叉树中的算法 、二叉树的前序遍历,中序遍历,后序遍历 前序遍历代码&am…

POJ 1321 棋盘问题(回溯)

文章目录1. 题目1.1 题目链接1.2 题目大意1.3 解题思路2. 代码2.1 Accepted 代码1. 题目 1.1 题目链接 http://poj.org/problem?id1321 1.2 题目大意 在一个给定形状的棋盘(只能在#号的位置摆放)上面摆放棋子,棋子没有区别。要求摆放时任…

Java多线程系列(二):线程的五大状态,以及线程之间的通信与协作

在Java面试的时候,经常会问到Java并发编程相关的多线程、线程池、线程锁、线程通信等面试必考点,比如: Java并发编程系列:Java线程池的使用方式,核心运行原理、以及注意事项 Java并发编程系列:4种常用Jav…

负样本为王:评Facebook的向量召回算法

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术有人的地方就会有江湖,就会有鄙视链存在,推荐系统中也不例外。排序、召回,尽管只是革命分工不同,但是我感觉待遇还是相差蛮大的排序排序,特别是精排…

论文浅尝 | TEQUILA: 一种面向时间信息的知识问答方法

来源:CIKM’18链接:http://delivery.acm.org/10.1145/3270000/3269247/p1807-jia.pdf?ip223.3.116.39&id3269247&accACTIVE%20SERVICE&keyBF85BBA5741FDC6E%2EEEBE655830483280%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35&__acm__15478819…

京东2020算法工程师0824笔试题整理

代码题: 1:开心消消乐: #include #include #include #include #include #include #include #define ll long long #define inf 0x3f3f3f3f #define Max 1001 using namespace std; int dir[4][2]{{-1,0},{1,0},{0,-1},{0,1}}; string …

论文笔记(eTrust: Understanding Trust Evolution in an Online World)

eTrust:理解线上信任进化 原文链接:eTrust: Understanding Trust Evolution in an Online World, KDD’12 原理:用户偏好与项的向量内积 用户与朋友相似度权重*朋友对项的时间衰减评分用户对项的评分 摘要 大部分关于线上信任的研究都假设…

技术动态 | 67 亿美金搞个图,创建知识图谱的成本有多高你知道吗?

OpenKG 祝各位读者元宵节快乐!本文转载自公众号:机器之心。选自ISWC作者:Baptiste Rocca参与:思源、李亚洲我们知道强大的深度模型需要很多计算力,那你知道创建一个知识图谱的成本到底是多少吗?德国 Mannhe…

Attention模型:我的注意力跟你们人类不一样

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 小轶背景截至今日,Badanau Attention的原文citation已达1.34w之多。2020年几乎所有主流NLP任务都需要借助attetion来实现。在深度学习全民炼丹的时代,attention是为数不多具有较强…