首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TKDE2023 | 基于学习的社交推荐算法

TLDR: 本文将社交推荐任务建模在曲空间学习之下,并提出了一种基于学习的社交推荐模型。...更多社交推荐算法的背景知识与经典算法可参考社会化推荐浅谈和深度学习技术在社会化推荐场景中的总结。 然而,欧几里得空间在表示的自然幂律分布时会出现结构扭曲,导致基于的社交推荐结果不尽理想。...最近,一些研究探索了将嵌入学习转移到曲空间的替代方法,曲空间可以保留现实世界的层级结构。 然而,直接将当前的嵌入模型应用于社交推荐并非易事,因为存在两大挑战:网络异质性和社交扩散噪声。...为了解决上述挑战,本文提出了一种基于学习的社交推荐(HGSR)模型。首先,利用曲社交嵌入的预训练来探索社交结构,这可以保留社交网络的层级特性。...总之,本文提出了一种新颖的HGSR模型用于曲空间的社交推荐。为了利用社交影响扩散引入的异质性和噪声问题,设计了一种社交预训练增强的曲异质学习方法。

32910

推荐算法——基于推荐算法PersonalRank算法

一、推荐的概述 在推荐系统中,通常是要向用户推荐商品,如在购物网站中,需要根据用户的历史购买行为,向用户推荐一些实际的商品;如在视频网站中,推荐的则是不同的视频;如在社交网站中,推荐的可能是用户等等...推荐算法有很多,包括协同过滤(基于用户的协同过滤和基于物品的协同过滤)以及其他的一些基于模型的推荐算法。...二、基于推荐算法PersonalRank算法 1、PersonalRank算法简介 在协同过滤中,主要是将上述的用户和商品之间的关系表示成一个二维的矩阵(用户商品矩阵)。...而在基于推荐算法中,将上述的关系表示成二部的形式,为用户A推荐商品,实际上就是计算用户A对所有商品的感兴趣程度。...PersonalRank算法对通过连接的边为每个节点打分,具体来讲,在PersonalRank算法中,不区分用户和商品,因此上述的计算用户A对所有的商品的感兴趣的程度就变成了对用户A计算各个节点B,C,

2.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

推荐算法——基于推荐算法PersonalRank算法

一、推荐的概述 在推荐系统中,通常是要向用户推荐商品,如在购物网站中,需要根据用户的历史购买行为,向用户推荐一些实际的商品;如在视频网站中,推荐的则是不同的视频;如在社交网站中,推荐的可能是用户等等,无论是真实的商品...推荐算法有很多,包括协同过滤(基于用户的协同过滤和基于物品的协同过滤)以及其他的一些基于模型的推荐算法。...二、基于推荐算法PersonalRank算法 1、PersonalRank算法简介 在协同过滤中,主要是将上述的用户和商品之间的关系表示成一个二维的矩阵(用户商品矩阵)。...而在基于推荐算法中,将上述的关系表示成二部的形式,为用户A推荐商品,实际上就是计算用户A对所有商品的感兴趣程度。...PersonalRank算法对通过连接的边为每个节点打分,具体来讲,在PersonalRank算法中,不区分用户和商品,因此上述的计算用户A对所有的商品的感兴趣的程度就变成了对用户A计算各个节点B,C,

2.8K100

推荐算法推荐-基于随机游走的personalrank算法实现

推荐算法推荐 基于的模型(graph-based model)是推荐系统中的重要内容。...原理展示 将用户的行为数据表示为二分后,接下来的就是基于二分图为用户进行推荐,那么给用户u推荐物品就可以转化为度量用户顶点Vu和Vu没有直接边相连的顶点在图上的相关性,相关性越高的物品在推荐列表上的权重九越高...下面介绍一种基于随机游走的PersonalRank算法(和PangRank算法相似,pageRank算法参考,直通车1,textRank直通车2,直通车3) 假设要给用户u进行个性化推荐,可以从用户...d,b   其中大写的代表用户小写的代表item 问题说明 虽然PersonalRank算法可以通过随机游走进行比较好的理论解释,但该算法在时间复杂度上有明显的缺点。...另一种方法就是从矩阵论出发,重新设计算法。 对矩阵运算比较熟悉的读者可以轻松将PersonalRank转化为矩阵的形式。令M为用户物品二分的转移概率矩阵,即: ?

4.3K90

WSDM2022 | 基于曲几何无标度建模的知识感知推荐算法

此外,由于神经网络在提取数据特征方面的强大性能,一些研究将推荐系统与 GNN 结合了起来。...基于 GNN 的知识图谱推荐模型通常将用户-物品历史交互与外部知识图谱的交互统一为三部,然而在数据统一之后,这些三部通常呈现出无标度(或层次)的特点,如图 1(a)所示,两项基准数据集的度分布近似于幂律分布...为了解决上述问题,本文提出了基于的曲几何洛伦茨模型的知识感知推荐模型,简称为 LKGR。...本文 LKGR 模型的损失表示为: 本文方法 LKGR 的整体算法框架如算法 1 所示。 实验 本文实验使用的数据集为推荐系统中三项基准数据集,数据集具体如表 1 所示。... 3 展示了 topk 推荐任务下本文算法与基线算法的性能对比。

2.3K30

数据结构与算法十二)——结构初探

一、结构的基本介绍 如上图所示,就是一个结构。 (Graph),是由顶点的有限非空集合和顶点之间边的集合组成。图中有两个元素:顶点和边。...由无向边连接而成的称为无向。 (2)有向 & 有向边 如上图所示,顶点A与顶点C之间的连接的边是有方向的,只能由顶点C到顶点A,我们称这样的边为有向边。 由有向边连接而成的称为有向。...二、的存储——邻接矩阵 上面是一个结构,诸位可以想一下,如何将这个结构存储在计算机当中呢?...2,有向的存储 如上图所示,是一个有向。...3,网的存储 带权重的称为网。 网的顶点表与的顶点表的逻辑一样,是不需要改动的。 网的边表的节点结构需要在的边表的节点结构基础上再增加一个值域用于存储边的权重值。

66220

算法和数据结构: 十二 无向相关算法基础

从这篇文章开始介绍相关的算法,这也是Algorithms在线课程第二部分的第一次课程笔记。 的应用很广泛,也有很多非常有用的算法,当然也有很多待解决的问题,根据性质,可以分为无向和有向。...在讨论完的表示之后,我们来看下在图中比较重要的一种算法,即深度优先算法: 深度优先算法 在谈论深度优先算法之前,我们可以先看看迷宫探索问题。...深度优先搜索算法模拟迷宫探索。在实际的处理算法中,我们通常将的表示和的处理逻辑分开来。...总结 本文简要介绍了无向图中的深度优先和广度优先算法,这两种算法处理算法中的最基础算法,也是后续更复杂算法的基础。...其中的表示,算法与表示的分离这种思想在后续的算法介绍中会一直沿用,下文将讲解无向图中深度优先和广度优先的应用,以及利用这两种基本算法解决实际问题的应用。

55220

推荐系统User-Item Embedding算法

作者:九羽 在做推荐算法任务时,在(user, item)的交互数据集中进行建模是常见的方式,本文基于GNN对User侧和Item侧进行embedding的思路,介绍3篇相关论文。...NGCF(SIGIR 19) 解决的问题 本文主要解决传统协同过滤算法,因为缺少对user-item交互数据中的协同信息(Collaborative Signal)较好的编码方式,从而无法很好的学到...具体地,如上图所示右是(User,item)之间的交互路径。从图中u2->i2->u1路径我们可以发现u1和u2具有一定路径上(行为)的相似性。...对比3种不同的数据增强方法,论文中发现Edge dropout方式能更好地发现结构中潜在的含义。 模型结构 ?...模型效果 模型解决的两个问题: (1)长尾问题的推荐效果: ? (2)噪声导致的鲁棒性问题的推荐效果: ?

93220

算法指针算法 ( 指针算法分类 | 相向指针 | 有效回文串 )

文章目录 一、指针算法分类 二、相向指针示例 ( 有效回文串 ) 一、指针算法分类 ---- 面试时经常遇到 限制算法复杂度为 O ( n ) 的情况 , 就需要使用以下算法 : 指针算法...: 设置两个指针 ( 索引 ) , 进行不同方式的遍历 , 使用最高频的算法 ; 打擂台算法 : 设置一个擂主值 , 设置为无穷大或无穷小 , 通过遍历让该擂主值与遍历值打擂台 ; 求最大值最小值常用...; 单调栈算法 ; 单调队列算法 ; 指针算法分类 : 相向指针 : 判断一个字符串是否是回文串 , 从两边向中心遍历 ; 背向指针 : 查找一个字符串的最长回文子串使用的 " 中心线枚举算法 "...就是背向指针算法 , 从中心向两边遍历 ; ( 出现频率较 - 低 ) 同向指针 : 相向指针算法分类 : 翻转类型 : ① 翻转字符串 , ② 判断回文串 ; 两个指针分别指向收尾 , 两边往中间走...然后对比是否相等 ; 但是如果添加了上述要求 , 就需要处理大小写 , 特殊字符问题 , 有两种方案 : 创建新字符串 , 过滤掉大小写及特殊字符干扰, 然后翻转字符对比 , 这样会增加额外空间开销 ; 推荐使用指针算法

1.8K10

算法指针算法

二、算法原理 如果用指针从前往后遍历,就拿例1来说, 就会出现值被覆盖的情况: 所以遍历顺序就不能从前往后。...可以先用指针算法:1.先判断cur位置;2.决定dest向后移动一步或者两步;3.判断一下dest是否已经到达结束位置;4.在把cur加加。...二、算法原理 利用数组是有序的,用指针算法来算。 定义两个指针,一个在左边,一个在右边。...二、算法原理 排序之后,数据是有序的,这里就用指针算法。...这里是三个数的和,可以先固定一个数a,仅想要保证这个a是小于0就行(在后面等于0相加的值不可能等于0),然后在该数后面的区间内,利用指针算法,快速找到两个数的和,者两个数的和是a的相反数,这样这三个数相加的时候

8200

推荐系统遇上深度学习(十二)--推荐系统中的EE问题及基本Bandit算法

推荐系统中的EE问题 Exploration and Exploitation(EE问题,探索与开发)是计算广告和推荐系统里常见的一个问题,为什么会有EE问题?...简单来说,是为了平衡推荐系统的准确性和多样性。...最好的办法是去试一试,不是盲目地试,而是有策略地快速试一试,这些策略就是Bandit算法。 Bandit算法如何同推荐系统中的EE问题联系起来呢?...我们用下面的来说明一下Beta分布的含义: 上图中一共有三条线,我们忽略中间的一条线,第一条线中a=81,b=219。...基于上面的讨论,我们得到了另一种常用的Bandit算法:UCB(Upper Confidence Bound)算法。该算法在每次推荐时,总是乐观的认为每个老虎机能够得到的收益是p' + ∆。

1.1K00

推荐系统遇上深度学习(十二)--推荐系统中的EE问题及基本Bandit算法

1、推荐系统中的EE问题 Exploration and Exploitation(EE问题,探索与开发)是计算广告和推荐系统里常见的一个问题,为什么会有EE问题?...最好的办法是去试一试,不是盲目地试,而是有策略地快速试一试,这些策略就是Bandit算法。 Bandit算法如何同推荐系统中的EE问题联系起来呢?...我们用下面的来说明一下Beta分布的含义: ? 上图中一共有三条线,我们忽略中间的一条线,第一条线中a=81,b=219。...基于上面的讨论,我们得到了另一种常用的Bandit算法:UCB(Upper Confidence Bound)算法。该算法在每次推荐时,总是乐观的认为每个老虎机能够得到的收益是p' + ∆。...: 推荐系统遇上深度学习系列: 推荐系统遇上深度学习(一)--FM模型理论和实践 推荐系统遇上深度学习(二)--FFM模型理论和实践 推荐系统遇上深度学习(三)--DeepFM模型理论和实践 推荐系统遇上深度学习

1.8K40

算法指针

指针 指针是一种思想或一种技巧并不是特别具体的算法。具体就是用两个变量动态存储两个结点,来方便我们进行一些操作。通常用在线性的数据结构中。...常见的指针方式 •同速指针:链表上两个指针,一个先出发,另一个后出发并以相同的速度跟随。...•求链表的逆:通过临时指针让指针同步前行•求链表倒数第k个元素:先让其中一个指针向前走k步,接着两个指针以同样的速度一起 向前进,直到前面的指针走到尽头了,则后面的指针即为倒数第k个元素 •快慢指针:...指针常用于线性结构:链表,数组 例题 151.反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。...输出:[1,2] 示例 2: 输入:head = [1,1,2,3,3] 输出:[1,2,3] 解题思路: •方法1:使用栈的思想,如果后面入的元素与栈顶元素相同,就略过该元素,继续遍历•方法2:指针

33520

推荐算法三视角: 矩阵, , 时间线

一张二维表格,一个拓扑,一条时间线。这三幅图景,是我看待推荐算法的三种视角。 ?...中该物品向量内积的和,这就是FISM算法。相比SLIM的稀疏处理,变为分解降维。最后再附上一张,说明MF,SLIM和FISM之间的关系。 ?...但GCN在运算时,每一层都要输入整个,在推荐系统里,物品和用户都可以是百万级别以上,实际中无法使用。...GraphSAGE通过RandomWalk采样,解决了这个问题,用在推荐领域就是PinSage算法。从某顶点出发,深度优先走k步,得到多个子,组成一个batch进行训练,。...然后按照采样的反方向做前向传播,这就是一个k层的网络,下图是一个k为2的例子。 ? 在用户和物品的二部基础上,用户和用户根据社会关系建立起边来,这就是社会化推荐。 ?

70120

推荐系统遇上深度学习(四十二)-使用神经网络做基于会话的推荐

1、背景介绍 现有基于会话的推荐,方法主要集中于循环神经网络和马尔可夫链,论文提出了现有方法的两个缺陷: 1)当一个会话中用户的行为数量十分有限时,这些方法难以获取准确的用户行为表示。...2)根据先前的工作发现,物品之间的转移模式在会话推荐中是十分重要的特征,但RNN和马尔可夫过程只对相邻的两个物品的单向转移关系进行建模,而忽略了会话中其他的物品。...针对上面的问题,作者提出使用网络来做基于会话的推荐,其整个模型的框架如下图所示: ? 接下来,我们就来介绍一下这个流程吧。 2、模型介绍 2.1 符号定义 V={v1,v2,......假设一个点击序列是v1->v2->v4->v3,那么它得到的子如下图中红色部分所示: ? 再假设一个点击序列是v1->v2->v3->v2->v4,那么它得到的子如下: ?...4、总结 本文使用网络进行基于会话的推荐,效果还是不错的,而且网络逐渐成为现在人工智能领域的一大研究热点。感兴趣的小伙伴们,咱们又有好多知识要学习啦,你行动起来了么?

1.6K40

从 0 开始学习 JavaScript 数据结构与算法十二

和其他数据结构一样,需要通过某种算法来遍历结构中每一个数据。...这样可以保证,在我们需要时,通过这种算法来访问某个顶点的数据以及它对应的边。 遍历的方式 的遍历思想 的遍历算法的思想在于必须访问每个第一次访问的节点,并且追踪有哪些顶点还没有被访问到。...有两种算法可以对进行遍历 广度优先搜索(Breadth-First Search, 简称 BFS) 深度优先搜索(Depth-First Search, 简称 DFS) 两种遍历算法,都需要明确指定第一个被访问的顶点...广度优先算法会从指定的第一个顶点开始遍历,先访问其所有的相邻点,就像一次访问的一层。...深度优先搜索算法的实现: 广度优先搜索算法我们使用的是队列,这里可以使用栈完成,也可以使用递归。

67120
领券