主要参考论文:《Semantic Path based Personalized Recommendation on Weighted Heterogeneous Information Networks》

概述

1)传统的异构图没有考虑连边上属性的值(连边的权重,比如电影评分1~5),所以一般的元路径不能准确地捕获语义信息。如下面这个异构图为例,考虑元路径“User-Movie-User”,如果不考虑Mary和Bob对电影的具体评分,那么会得出二者爱好很相似的结论,因为他们满足“Mary-The Terminator-Bob”这条元路径,但实际上,Mary对该电影只打了1分,并不喜欢这部电影,而Bob打了5分,喜欢这部电影。所以,我们应该考虑连边上具体的属性值。但这同时意味着需要新的相似度计算方式。


2)如何融合来自多条元路径的信息用于推荐。通过不同的元路径会产生不同类型的相似用户(即不同的元路径计算出的用户相似度不同),进而会产生不同的推荐物品。我们需要为每条路径设计一个权重学习方法以整合这些推荐结果。这些权重最好是个性化的,这样不仅能深度发掘用户的特征,还能为推荐提供可解释性。比如某用户对于“User-Interest Group-User”这条路径有很高的权重,那么可以解释推荐结果来自他同一兴趣组的用户,也可以反映出该用户很容易受到兴趣组用户的影响。

但是,为每个用户都学习一个个性化的权重是很难的,因为评分数据稀疏,大量的参数无法很好地学习。

针对上述挑战,1.提出了带权重的异构图和带权重的元路径;2.使用了新的相似度计算策略,从而可以使用现有的基于路径的相似度计算方法,无需设计特殊的计算方法;3.提出了基于语义元路径的个性化推荐方法(the semantic path based personalized recommendation method)SemRec,采用“相似用户的权重偏好一致性原则”设计了一种新颖的权重正则化项,以捕获用户个性化的权重偏好和缓解评分稀疏的问题。

带权重的元路径(weighted meta path,下称带权元路径)

形式化定义如下:
A 1 → δ 1 ( R 1 ) A 2 → δ 2 ( R 2 ) ⋅ ⋅ ⋅ → δ l ( R l ) A l + 1 ∣ C A_{1}\overset{\delta _{1}\left ( R_{1}\right )}{\rightarrow}A_{2}\overset{\delta _{2}\left ( R_{2}\right )}{\rightarrow}\cdot \cdot \cdot \overset{\delta _{l}\left ( R_{l}\right )}{\rightarrow}A_{l+1}|C A1​→δ1​(R1​)A2​→δ2​(R2​)⋅⋅⋅→δl​(Rl​)Al+1​∣C

也可表示为:
A 1 ( δ 1 ( R 1 ) ) A 2 ( δ 2 ( R 2 ) ) ⋅ ⋅ ⋅ ( δ l ( R l ) ) A l + 1 ∣ C A_{1}\left ( \delta _{1}\left ( R_{1}\right )\right )A_{2}\left ( \delta _{2}\left ( R_{2}\right )\right )\cdot \cdot \cdot \left ( \delta _{l}\left ( R_{l}\right )\right )A_{l+1}|C A1​(δ1​(R1​))A2​(δ2​(R2​))⋅⋅⋅(δl​(Rl​))Al+1​∣C

其中, A i → δ i ( R i ) A i + 1 A_{i}\overset{\delta _{i}\left ( R_{i}\right )}{\rightarrow}A_{i+1} Ai​→δi​(Ri​)Ai+1​表示基于属性值 δ i ( R i ) \delta _{i}\left ( R_{i}\right ) δi​(Ri​)的 A i A_{i} Ai​与 A i + 1 A_{i+1} Ai+1​间的关系; C C C表示约束。

举例,带权元路径 U → 1 M U\overset{1}{\rightarrow}M U→1M即 U ( 1 ) M U\left ( 1\right )M U(1)M,表示用户对电影评分为1; U → 1 , 2 M → 1 , 2 U U\overset{1,2}{\rightarrow}M\overset{1,2}{\rightarrow}U U→1,2M→1,2U即 U ( 1 , 2 ) M ( 1 , 2 ) U U\left ( 1,2\right )M\left ( 1,2\right )U U(1,2)M(1,2)U,表示一个用户和另一个用户一样不喜欢这部电影(而无权元路径只能反映出两个用户有共同的观看记录); U → i M → j U ∣ i = j U\overset{i}{\rightarrow}M\overset{j}{\rightarrow}U|i=j U→iM→jU∣i=j表示两个用户对电影有相同的评分。

带权元路径的相似度计算方法

原子元路径(atomic meta path)

举例来说, U ( 1 ) M ( 1 ) U U\left ( 1\right )M\left ( 1\right )U U(1)M(1)U、 U ( 1 ) M ( 2 ) U U\left ( 1\right )M\left ( 2\right )U U(1)M(2)U等都是原子元路径; U ( i ) M ( j ) U ∣ i = j U\left ( i\right )M\left ( j\right )U|i=j U(i)M(j)U∣i=j包含了5个原子元路径(即 U ( 1 ) M ( 1 ) U U\left ( 1\right )M\left ( 1\right )U U(1)M(1)U到 U ( 5 ) M ( 5 ) U U\left ( 5\right )M\left ( 5\right )U U(5)M(5)U)。

1)首先是将带权元路径按照具体的权值分解为多个原子元路径(atomic meta path),用现有的基于元路径的相似度计算方法,计算出每条原子元路径上的相似度;2)然后将该带权元路径的所有原子元路径的相似度求和。

如下图所示,有3个用户对2部电影进行了评分,以PathSim(即数两个节点有多少条某类型元路径)为例,计算用户间的相似度。图的上半部分是使用传统的元路径,其没有考虑具体的评分(权重),用“UMU”路径得到的用户间的相似度是一样的;图的下半部分是先计算各原子元路径上用户的相似度,然后再求和,最后得到 u 1 u_1 u1​和 u 3 u_3 u3​的偏好是一致的,由此可见这种计算方法更能准确捕获用户间的相似度。

SemRec

基本思想是,使用带权或不带权元路径计算用户间的相似度,然后根据相似用户的评分预测目标用户对物品的评分。

不同的元路径会得到不同的推荐结果(评分),如何有效地整合这些推荐结果是一个挑战。我们需要为每条元路径分配一个偏好权重(preference weight)。在学习这些权重时有两个方面的困难:
(1)优先级权重(Prioritized weights)
不同元路径得到的相似度可能存在很大的偏差(bias),所以很难反映出路径的重要程度。比如,由基于稠密的关系构成的元路径得到的相似度可能普遍偏高,而由基于稀疏的关系构成的元路径得到的相似度可能普遍偏低。为此,SemRec设计了一个归一化评分强度运算(normalized rating intensity operation)消除相似度偏差,使偏好权重更好地反映元路径的重要性。

(2)个性化权重(Personalized weights)
即为每个用户学习权重。但存在数据稀疏性问题。为此,SemRec提出“相似用户的权重偏好一致性原则”,即假设两个相似的用户对元路径有相同的权重。两个用户基于一条路径是相似的,表明这条路径对这两个用户有相似的影响,也就是说这些用户对这条路径有一致的偏好。根据这个理论,设计了一个新颖的权重正则化项,有效缓解了权重学习过程中评分稀疏问题。

作者首先设计了基于一条元路径的推荐方法,然后提出三个级别的基于多条元路径的推荐方法:1.所有用户对元路径采用同一权重;2.每个用户对元路径都有个性化的权重;3.带有权重正则化项的个性化权重。

基于单条元路径推荐

设 R ∈ R ∣ U ∣ × ∣ I ∣ R\in \mathbf{R}^{\left | U\right |\times \left | I\right |} R∈R∣U∣×∣I∣为评分矩阵,其元素 R u , i R_{u,i} Ru,i​表示用户 u u u对物品 i i i的评分; S ∈ R ∣ U ∣ × ∣ U ∣ S\in \mathbf{R}^{\left | U\right |\times \left | U\right |} S∈R∣U∣×∣U∣表示用户相似度矩阵,元素 S u , v ( l ) S_{u,v}^{\left ( l\right )} Su,v(l)​表示元路径 l l l下,用户 u u u和 v v v的相似度;

另外定义一个评分强度: Q ∈ R ∣ U ∣ × ∣ I ∣ × N Q\in \mathbf{R}^{\left | U\right |\times \left | I\right |\times N} Q∈R∣U∣×∣I∣×N,元素 Q u , i , r ( l ) Q_{u,i,r}^{\left ( l\right )} Qu,i,r(l)​表示在元路径 l l l下,用户 u u u以分数 r r r评分物品 i i i的强度,其由两方面决定:1)以分数 r r r评分物品 i i i的用户数;2)用户相似度。具体计算公式如下:

Q u , i , r ( l ) = ∑ v S u , v ( l ) × E v , i , r Q_{u,i,r}^{\left ( l\right )}=\sum_{v}^{}S_{u,v}^{\left ( l\right )}\times E_{v,i,r} Qu,i,r(l)​=∑v​Su,v(l)​×Ev,i,r​

E v , i , r = { 1 if  R v , i = r 0 o t h e r s E_{v,i,r}=\begin{cases} 1& \text{if} \ R_{v,i}=r \\ 0& \text{} \ others \end{cases} Ev,i,r​={10​if Rv,i​=r others​

最后对分数用归一化评分强度加权求和,得到最终用户 u u u对物品 i i i的评分:

R ^ u , i ( l ) = ∑ r = 1 N r × Q u , i , r ( l ) ∑ k = 1 N Q u , i , k ( l ) = ∑ r = 1 N r × ∑ v S u , v ( l ) × E v , i , r ∑ k = 1 N ∑ v S u , v ( l ) × E v , i , k \hat{R}_{u,i}^{\left ( l\right )}=\sum_{r=1}^{N}r\times \frac{Q_{u,i,r}^{\left ( l\right )}}{\sum_{k=1}^{N}Q_{u,i,k}^{\left ( l\right )}}=\sum_{r=1}^{N}r\times \frac{\sum_{v}^{}S_{u,v}^{\left ( l\right )}\times E_{v,i,r}}{\sum_{k=1}^{N}\sum_{v}^{}S_{u,v}^{\left ( l\right )}\times E_{v,i,k}} R^u,i(l)​=∑r=1N​r×∑k=1N​Qu,i,k(l)​Qu,i,r(l)​​=∑r=1N​r×∑k=1N​∑v​Su,v(l)​×Ev,i,k​∑v​Su,v(l)​×Ev,i,r​​

由于归一化评分强度的存在,消除了不同元路径间存在的相似度偏差(scale差异)。

基于多条元路径的推荐

1.所有用户对元路径采用同一权重

所有用户都有相同的元路径权重向量 w ∈ R 1 × ∣ P ∣ \mathbf{w}\in \mathbf{R}^{1\times \left | P\right |} w∈R1×∣P∣, w ( l ) \mathbf{w}^{\left ( l\right )} w(l)表示元路径 P l P_l Pl​的权重。最终的预测分数为每条元路径的加权和:

R ^ u , i = ∑ l = 1 ∣ P ∣ w ( l ) × R ^ u , i ( l ) \hat{R}_{u,i}=\sum_{l=1}^{\left | P\right |}\mathbf{w}^{\left ( l\right )}\times \hat{R}_{u,i}^{\left ( l\right )} R^u,i​=∑l=1∣P∣​w(l)×R^u,i(l)​,对应的损失函数为:

min ⁡ w L 1 ( w ) = 1 2 ∥ Y ⊙ ( R − ∑ l = 1 ∣ P ∣ w ( l ) × R ^ u , i ( l ) ) ∥ 2 2 + λ 0 2 ∥ w ∥ 2 2 s . t . w ⩾ 0 \min_{\mathbf{w}}L_{1}\left ( \mathbf{w}\right )=\frac{1}{2}\left \| Y\odot \left ( R-\sum_{l=1}^{\left | P\right |}\mathbf{w}^{\left ( l\right )}\times \hat{R}_{u,i}^{\left ( l\right )}\right )\right \|_{2}^{2}+\frac{\lambda _{0}}{2}\left \| \mathbf{w}\right \|_{2}^{2}\\s.t. \ \mathbf{w}\geqslant 0 minw​L1​(w)=21​∥∥∥​Y⊙(R−∑l=1∣P∣​w(l)×R^u,i(l)​)∥∥∥​22​+2λ0​​∥w∥22​s.t. w⩾0

其中, Y Y Y为指示矩阵,当用户 u u u评分过物品 i i i时,元素 Y u , i = 1 Y_{u,i}=1 Yu,i​=1;否则为0

2.每个用户对元路径都有个性化的权重

此时,元路径权重变为了一个矩阵 W ∈ R ∣ U ∣ × ∣ P ∣ W\in \mathbf{R}^{\left | U\right |\times \left | P\right |} W∈R∣U∣×∣P∣,元素 W u ( l ) W_{u}^{\left ( l\right )} Wu(l)​表示用户 u u u对路径 P l P_l Pl​的权重,列向量 W ( l ) ∈ R ∣ U ∣ × 1 W^{\left ( l\right )}\in \mathbf{R}^{\left | U\right |\times 1} W(l)∈R∣U∣×1表示所有用户对路径 P l P_l Pl​的权重。所以预测分数为:

R ^ u , i = ∑ l = 1 ∣ P ∣ W u ( l ) × R ^ u , i ( l ) \hat{R}_{u,i}=\sum_{l=1}^{\left | P\right |}W_{u}^{\left ( l\right )}\times \hat{R}_{u,i}^{\left ( l\right )} R^u,i​=∑l=1∣P∣​Wu(l)​×R^u,i(l)​
损失函数为:

min ⁡ W L 2 ( W ) = 1 2 ∥ Y ⊙ ( R − ∑ l = 1 ∣ P ∣ d i a g ( W ( l ) ) R ^ ( l ) ) ∥ 2 2 + λ 0 2 ∥ W ∥ 2 2 s . t . W ⩾ 0 \min_{\mathbf{W}}L_{2}\left ( \mathbf{W}\right )=\frac{1}{2}\left \| Y\odot \left ( R-\sum_{l=1}^{\left | P\right |}diag\left ( W^{\left ( l\right )}\right )\hat{R}^{\left ( l\right )}\right )\right \|_{2}^{2}+\frac{\lambda _{0}}{2}\left \| W\right \|_{2}^{2} \\ s.t. \ W\geqslant 0 minW​L2​(W)=21​∥∥∥​Y⊙(R−∑l=1∣P∣​diag(W(l))R^(l))∥∥∥​22​+2λ0​​∥W∥22​s.t. W⩾0

3.带有权重正则化项的个性化权重

如果对每个用户都学习个性化的元路径权重,需要学习 ∣ U ∣ × ∣ P ∣ \left | U\right |\times \left | P\right | ∣U∣×∣P∣个权重参数,在数据稀疏的情况下是很困难的。所以根据“相似用户的权重偏好一致性原则”,设计了一个权重正则化项,强制用户的权重逼近其相似用户权重的(加权)平均值:

∑ u = 1 ∣ U ∣ ∑ l = 1 ∣ P ∣ ( W u ( l ) − ∑ v = 1 ∣ U ∣ S ˉ u , v ( l ) W v ( l ) ) 2 \sum_{u=1}^{\left | U\right |}\sum_{l=1}^{\left | P\right |}\left ( W_{u}^{\left ( l\right )}-\sum_{v=1}^{\left | U\right |}\bar{S}_{u,v}^{\left ( l\right )}W_{v}^{\left ( l\right )}\right )^{2} ∑u=1∣U∣​∑l=1∣P∣​(Wu(l)​−∑v=1∣U∣​Sˉu,v(l)​Wv(l)​)2

其中, S ˉ u , v ( l ) = S u , v ( l ) ∑ v S u , v ( l ) \bar{S}_{u,v}^{\left ( l\right )}=\frac{S_{u,v}^{\left ( l\right )}}{\sum_{v}^{}S_{u,v}^{\left ( l\right )}} Sˉu,v(l)​=∑v​Su,v(l)​Su,v(l)​​是元路径 P l P_l Pl​下归一化的用户相似度。矩阵形式为:

∑ l = 1 ∣ P ∣ ∥ W ( l ) − S ˉ ( l ) W ( l ) ∥ 2 2 \sum_{l=1}^{\left | P\right |}\left \| W^{\left ( l\right )}-\bar{S}^{\left ( l\right )}W^{\left ( l\right )}\right \|_{2}^{2} ∑l=1∣P∣​∥∥​W(l)−Sˉ(l)W(l)∥∥​22​

最终的损失函数为:
min ⁡ W L 3 ( W ) = 1 2 ∥ Y ⊙ ( R − ∑ l = 1 ∣ P ∣ d i a g ( W ( l ) ) R ^ ( l ) ) ∥ 2 2 + λ 1 2 ∑ l = 1 ∣ P ∣ ∥ W ( l ) − S ˉ ( l ) W ( l ) ∥ 2 2 + λ 0 2 ∥ W ∥ 2 2 s . t . W ⩾ 0 \min_{W}L_{3}\left ( W\right )=\frac{1}{2}\left \| Y\odot \left ( R-\sum_{l=1}^{\left | P\right |}diag\left ( W^{\left ( l\right )}\right )\hat{R}^{\left ( l\right )}\right )\right \|_{2}^{2}+\frac{\lambda _{1}}{2}\sum_{l=1}^{\left | P\right |}\left \| W^{\left ( l\right )}-\bar{S}^{\left ( l\right )}W^{\left ( l\right )}\right \|_{2}^{2}+\frac{\lambda _{0}}{2}\left \| W\right \|_{2}^{2} \\ s.t. \ W\geqslant 0 minW​L3​(W)=21​∥∥∥​Y⊙(R−∑l=1∣P∣​diag(W(l))R^(l))∥∥∥​22​+2λ1​​∑l=1∣P∣​∥∥​W(l)−Sˉ(l)W(l)∥∥​22​+2λ0​​∥W∥22​s.t. W⩾0

论文链接

《Semantic Path based Personalized Recommendation on Weighted Heterogeneous Information Networks》

在加权异构图上的基于元路径个性化推荐——SemRec相关推荐

  1. Meta Path Based Random Walk复现思路【基于元路径的随机游走模型】

    title: Meta Path Based Random Walk date: 2022-02-13 00:43:08 tags: NLP的一些收获 课题原因需要复现ARNN模型.即"An ...

  2. 异构网络中基于元图的推荐——FMG

    主要参考论文:<Meta-Graph Based Recommendation Fusion over Heterogeneous Information Networks> 概述 基于异 ...

  3. 基于机器学习的个性化推荐算法的研究

    基于 机器学习 的个性化推荐算法的研究 摘要: 如今互联网发展 十分迅速,每天产生的数据量一直在增加,传统的搜索引擎已经不能够适用当前的需求,推荐系统已经成为互联网时代的新宠儿.它已经发展成为一门跨学 ...

  4. 基于元路径的利用多级社会背景信息的虚假新闻检测

    原文 <Meta-Path-based Fake News Detection Leveraging Multi-level Social Context Information> 一 论 ...

  5. 基于内容的个性化推荐算法

    一.什么是推荐算法 随着移动互联网的高速发展与智能手机的普及,海量的有用信息虽然为人们提供了更多的价值,然而信息的泛滥也意味着为了寻找合适的信息必须付出更多的时间成本.事实上,有时候仅仅是浏览和简单的 ...

  6. 基于SpringBoot的个性化推荐的图书借阅管理系统前后台设计

    目录 1 需求分析 1 2技术栈 1 3 总体设计 1 3.1 系统功能概述 1 3.1.1 前台系统 1 3.1.2 后台系统 2 3.2 E-R模型 2 3.3 系统流程图 4 4 详细设计 5 ...

  7. 基于内容的推荐算法的php实现,基于内容的个性化推荐算法

    摘要:个性化推荐算法有许多类别,主要包括基于内容的推荐.协同过滤.SVD.基于知识的推荐以及混合推荐算法.本文介绍基于内容的推荐算法(Content-basedRecommendation).基于内容 ...

  8. 基于聚类的个性化推荐

    总体思路 基于聚类的精准推荐总体 先基于聚类:把用户分群,对每一个客户都标记上标签值.1号和3号都属于标签A的客户. 推荐规则生成: 推荐个客户的商品,都是ta没买过的 在ta没有购买过的商品中,哪些 ...

  9. springboot基于java的个性化推荐的电商购物商城平台设计与实现

    本文主要探讨了个性化推荐的电商平台的设计与实现.并对其详细的设计方案.实现技术和运行情况做了分析和研究,最后对未来的工作做了研究与探讨.本文重点研究了以下几个方面: (1)系统的体系结构.主要功能模块 ...

最新文章

  1. 科技垄断正在朝着纵向发展
  2. windows server 2003 IIS6.0部署PHP
  3. PHD considerations
  4. 我是一名黑客我也是一名程序员
  5. R语言与正态总体均值的区间估计
  6. python增量更新数据_Python标准库——加密
  7. 【C语言简介】C语言的前世今生
  8. viewpage 去掉左右切换效果_ViewPager实现多页面切换以及动画效果
  9. PML之平均 、中值 、众数、标准偏差、方差
  10. python学习之多线程多进程
  11. 《中国人工智能学会通讯》——11.24 本文的出发点:模仿人类视觉
  12. Spring Boot配置QueryDSL(生成Query查询实体类,查询数据)
  13. lora与NB-IoT无线通讯技术在消防产品上的应用-lora烟感/NB烟感
  14. 响应式网站-媒体查询
  15. java 修改mac地址_XP下修改MAC地址
  16. Android程序员简历
  17. rocketdock_如何为USB闪存驱动器创建RocketDock便携式版本
  18. 查询失败,后台服务器运行错误,添加网络打印机错误?怎么处理?Windows 无法连接到打印机。 服务器打印后台处理程序服务没有运行。...
  19. 为什么被水弄湿的纸干了后会变皱?
  20. Hadoop3.x端口变化

热门文章

  1. 如何快速查看你的笔记本电池健康报告
  2. 计算机毕业设计(附源码)python校园新闻发布系统
  3. 确保精确度的五轴机床、类型与行业发展的新曙光
  4. UVALive 7147- World Cup
  5. cocos2dx - 安卓蓝牙游戏(c++调用)
  6. 博客推广外链接-SEO搜索引擎优化
  7. windows -python3.7-pybluez蓝牙通信记录
  8. C++中accumulate的用法
  9. 励志也是一种变相的洗脑
  10. 谷歌浏览器修复_谷歌发布 Chrome 紧急补丁 修复可执行任意代码的高危漏洞