异构网络中基于元图的推荐——FMG
主要参考论文:《Meta-Graph Based Recommendation Fusion over Heterogeneous Information Networks》
概述
基于异构信息网络的推荐系统面临两个问题:1.如何表示高阶推荐语义;2.如何融合异构信息用于推荐。
针对第一个问题,本文采用了元图(和元路径)来表示高阶推荐语义;对于第二个问题,本文先用标准矩阵分解技术(MF)分解每个元图(元路径)得到的相似度矩阵,生成用户和物品的隐式表征,对不同元图(元路径)得到的表征使用带有group lasso正则的因子分解机(FM with Group lasso)融合异构信息。
为什么采用元图(meta-graph)
为了描述丰富的语义特征,异构信息网络先根据实体类型建立一个网络架构。例如,对于Yelp数据集(https://www.yelp.com/dataset_challenge),包含的实体类型有用户(User)、评论(Review)、词(Word)、业务(Business)等,可以定义如下的网络架构:
然后可以根据网络架构定义一些元路径来捕获两个实体间的语义相关性。比如,可以定义“User–>Review–>Word–>Review–>Business”这样一条元路径。这条元路径定义了一种用户与业务间的语义相关性,去度量“如果用户的评论与其他用户对某种业务的评论相似,是否该用户会喜欢这个业务”。
但是元路径可能并不是捕获丰富语义的最好方式。如果我们想捕获“用户U1U_1U1和用户U2U_2U2评分了同种类型的业务(如餐厅),同时又提及了同一方面(如海鲜)”这种语义,元路径是无法实现的,所以提出了元图(meta-graph)。如此,刚才的语义可以通过下面的元图来捕获:
为什么采用带group lasso正则的因子分解机(FMG,FM with Group lasso)
对于不同的元图(元路径)会产生不同的相似度矩阵,如何有效地整合它们是一个挑战。
1)一种方式是像SemRec一样,根据不同元路径得到不同的用户-用户相似度矩阵,并根据相似用户对目标物品的评分得到目标用户对目标物品的评分:
R^u,i(l)=∑r=1Nr×Qu,i,r(l)∑k=1NQu,i,k(l)=∑r=1Nr×∑vSu,v(l)×Ev,i,r∑k=1N∑vSu,v(l)×Ev,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=1Nr×∑k=1NQu,i,k(l)Qu,i,r(l)=∑r=1Nr×∑k=1N∑vSu,v(l)×Ev,i,k∑vSu,v(l)×Ev,i,r
然后对不同路径的评分加权求和得到最终的评分:
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)
但这种方式没有只是显式地利用了每条元路径,没有考虑元路径中的隐式特征;而且相似度矩阵可能非常稀疏。
2)另一种方式是像HeteRec一样,由不同的元路径得到不同的用户偏好扩散矩阵,然后进行矩阵分解得到用户和物品的隐式表征:
(U^(q),V^(q))=argminU,V∥R~(q)−UVT∥F2s.t.U⩾0,V⩾0\left ( \hat{U}^{\left ( q\right )},\hat{V}^{\left ( q\right )}\right )=argmin_{U,V}\left \| \tilde{R}^{\left ( q\right )}-UV^{T}\right \|_{F}^{2}\\ s.t.\ \ U\geqslant 0,V\geqslant 0(U^(q),V^(q))=argminU,V∥∥∥R~(q)−UVT∥∥∥F2s.t. U⩾0,V⩾0
最后对不同路径的评分加权求和得到最终的评分:
r(ui,ej)=∑q=1Lθq⋅U^i(q)V^j(q)Tr\left ( u_{i},e_{j}\right )=\sum_{q=1}^{L}\theta _{q}\cdot \hat{U}_{i}^{\left ( q\right )}\hat{V}_{j}^{\left ( q\right )T}r(ui,ej)=∑q=1Lθq⋅U^i(q)V^j(q)T
这种方式虽然解决了SemRec的数据稀疏问题,得到了用户和物品的隐式表征,但不同路径间整合时只用了分数,没有充分利用隐式表征。
为了克服这些问题,首先基于元图(元路径)计算用户-物品相似度矩阵,然后使用MF对这些矩阵进行分解得到用户和物品的隐式表征(这部分与HeteRec类似),接着对不同组的用户和物品的隐式表征采用FM去整合它们。由于1)太多的路径同时学习会引入噪声损害预测性能,而且路径间可能包含重复语义,某些路径可能作用小;2)计算复杂度高,需要给FM添加一个正则化项,来惩罚权重。最终选择的是FM with Group lasso。
基于元图的相似度计算
本文对Yelp数据集设计了如下9个元图(元路径):
首先看基于元路径的相似度计算。通勤矩阵(commuting matrix)常被用于元路径上节点间相似度计算。设元路径P=(A1,A2,⋅⋅⋅,Al)P=\left ( A_{1},A_{2},\cdot \cdot \cdot ,A_{l}\right )P=(A1,A2,⋅⋅⋅,Al),其中AiA_iAi是节点类型,定义矩阵WAiAjW_{A_{i}A_{j}}WAiAj为类型AiA_iAi与AjA_jAj间的邻接矩阵,则元路径PPP的通勤矩阵为CP=WA1,A2⋅WA2,A3⋅⋅⋅WAl−1,AlC_{P}=W_{A_{1},A_{2}}\cdot W_{A_{2},A_{3}}\cdot \cdot \cdot W_{A_{l-1},A_{l}}CP=WA1,A2⋅WA2,A3⋅⋅⋅WAl−1,Al。例如,上图中的元路径M3M_3M3对应的通勤矩阵为CM3=WUB⋅WUBT⋅WUBC_{M_{3}}=W_{UB}\cdot W_{UB}^{T}\cdot W_{UB}CM3=WUB⋅WUBT⋅WUB。本质上就是数这种元路径有多少条。
但是对于元图,不能简单地使用通勤矩阵。如上图中的元图M9M_9M9,U1U_1U1到B2B_2B2有两条路径:1.(U,R,A,R,U,B)\left ( U,R,A,R,U,B\right )(U,R,A,R,U,B);2.(U,R,B,R,U,B)\left ( U,R,B,R,U,B\right )(U,R,B,R,U,B)。具体计算步骤如下:
1)计算上支路(R,A,R)\left ( R,A,R\right )(R,A,R)的通勤矩阵:CP1=WRB⋅WRBTC_{P_{1}}=W_{RB}\cdot W_{RB}^{T}CP1=WRB⋅WRBT;
2)计算下支路(R,B,R)\left ( R,B,R\right )(R,B,R)的通勤矩阵:CP1=WRA⋅WRATC_{P_{1}}=W_{RA}\cdot W_{RA}^{T}CP1=WRA⋅WRAT;
3)计算支路通勤矩阵的Hadamard积:CSr=CP1⊙CP2C_{_{S_{r}}}=C_{P_{1}}\odot C_{P_{2}}CSr=CP1⊙CP2;
4)计算元图M9M_9M9的通勤矩阵:CM9=WUR⋅CSr⋅WURT⋅WUBC_{M_{9}}=W_{UR}\cdot C_{S_{r}}\cdot W_{UR}^{T}\cdot W_{UB}CM9=WUR⋅CSr⋅WURT⋅WUB
通过上述方法,可以计算每个元图(元路径)对应的用户-物品相似度矩阵R^∈Rm×n\hat{R}\in \textrm{R}^{m\times n}R^∈Rm×n。设有LLL个元图(元路径),则对应有R^1,⋅⋅⋅,R^L\hat{R}^{1},\cdot \cdot \cdot ,\hat{R}^{L}R^1,⋅⋅⋅,R^L。
推荐模型(FM with Group lasso)
L个元图(元路径)会得到L组用户和物品的隐式表征。对于一个用户uiu_iui,会有L个隐式表征,对于一个物品bjb_jbj也是如此。我们将这些隐式表征拼接起来作为一个样本xnx_nxn:
xn=ui(1),⋅⋅⋅,ui(l),⋅⋅⋅ui(L),bi(1),⋅⋅⋅,bi(l),⋅⋅⋅bi(L)x^{n}=u_{i}^{\left ( 1\right )},\cdot \cdot \cdot ,u_{i}^{\left ( l\right )},\cdot \cdot \cdot u_{i}^{\left ( L\right )},b_{i}^{\left ( 1\right )},\cdot \cdot \cdot ,b_{i}^{\left ( l\right )},\cdot \cdot \cdot b_{i}^{\left ( L\right )}xn=ui(1),⋅⋅⋅,ui(l),⋅⋅⋅ui(L),bi(1),⋅⋅⋅,bi(l),⋅⋅⋅bi(L)
其中,ui(l)u_{i}^{\left ( l\right )}ui(l)和bi(l)b_{i}^{\left ( l\right )}bi(l)分别表示第lll个元图(元路径)对应的表征。一个用户uiu_iui和物品bjb_jbj对应的样本维度为2L×F2L\times F2L×F,其中FFF为隐式表征的维度。有了样本xnx^{n}xn后,代入FM即可:
y^n(w,V)=w0+∑i=12LFwixin+∑i=12LF∑j=i+12LF⟨vi,vj⟩xinxjn\hat{y}^{n}\left ( \textrm{w},\textrm{V}\right )=w_{0}+\sum_{i=1}^{2LF}w_{i}x_{i}^{n}+\sum_{i=1}^{2LF}\sum_{j=i+1}^{2LF}\left \langle v_{i},v_{j}\right \rangle x_{i}^{n}x_{j}^{n}y^n(w,V)=w0+∑i=12LFwixin+∑i=12LF∑j=i+12LF⟨vi,vj⟩xinxjn
损失函数为均方差:
minw,V∑n=1N(yn−y^n(w,V))2\min_{\textrm{w},\textrm{V}}\sum_{n=1}^{N}\left ( y^{n}-\hat{y}^{n}\left ( \textrm{w},\textrm{V}\right )\right )^2minw,V∑n=1N(yn−y^n(w,V))2
但为了缓解之前提到的两个问题,需要添加一个正则化项,即group lasso正则。具体地,参数p\textrm{p}p的group lasso正则定义为:
ϕ(p)=∑g=1G∥pIg∥2\phi \left ( \textrm{p}\right )=\sum_{g=1}^{G}\left \| \textrm{p}_{I_{g}}\right \|_{2}ϕ(p)=∑g=1G∥∥∥pIg∥∥∥2
其中IgI_{g}Ig是预定义的第ggg组变量的索引。本文把同一个元图(元路径)对应用户和物品隐式表征视为一组,则他们对应的变量就被视为一组,如对一阶参数w\textrm{w}w,其第lll个元图(元路径)对应的参数分为一组,于是有:
ϕw(w)=∑l=1L∥wl∥2\phi_{\textrm{w}} \left ( \textrm{w}\right )=\sum_{l=1}^{L}\left \| \textrm{w}_{l}\right \|_{2}ϕw(w)=∑l=1L∥wl∥2
同理,对于二阶参数VVV,有:
ϕV(V)=∑l=1L∥Vl∥F\phi_{\textrm{V}} \left ( \textrm{V}\right )=\sum_{l=1}^{L}\left \| \textrm{V}_{l}\right \|_{F}ϕV(V)=∑l=1L∥Vl∥F
注:原文中是2L,感觉原文有误。
最终的损失函数为:
h(w,V)=∑n=1N(yn−y^n(w,V))2+λwϕw(w)+λVϕV(V)h\left ( \textrm{w},\textrm{V}\right )=\sum_{n=1}^{N}\left ( y^{n}-\hat{y}^{n}\left ( \textrm{w},\textrm{V}\right )\right )^{2} + \lambda _{\textrm{w}}\phi_{\textrm{w}} \left ( \textrm{w}\right )+\lambda _{\textrm{V}}\phi_{\textrm{V}} \left ( \textrm{V}\right )h(w,V)=∑n=1N(yn−y^n(w,V))2+λwϕw(w)+λVϕV(V)
论文链接
《Meta-Graph Based Recommendation Fusion over Heterogeneous Information Networks》
论文代码:https://github.com/HKUST-KnowComp/FMG
异构网络中基于元图的推荐——FMG相关推荐
- 【论文翻译】HeteSim:异构网络中相关性度量的通用框架
原文链接:https://blog.csdn.net/Mrong1013967/article/details/115330139 HeteSim:异构网络中相关性度量的通用框架 摘要 相似性搜索是许 ...
- [论文阅读] (ASONAM2019) Meta-GNN: 属性异构网络中用于半监督学习的元图神经网络
论文标题:Meta-GNN:Metagraph Neural Network for Semi-supervised learning in Attributed Heterogeneous Info ...
- BitTorrent网络中基于Kademlia协议到DHT无服务器泛互联网搜索软件推荐
本文转自 http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1515544 标题有点长,可能大家不理解什么意思,偶就慢慢地介绍一下, 首先, ...
- m基于基站休眠的LTE-A异构网络中节能算法matlab仿真
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 要求 1.开发一个软件工具,可以直观地演示如何在LTE-A异构网络中通过基站的睡眠模式节约能源 2. ...
- 生物网络中基于节点相似度的链路预测图卷积
生物网络中基于节点相似度的链路预测图卷积 前言 一.介绍 二.材料和方法 三.结果与讨论 四.结论 文章地址:https://https://academic.oup.com/bioinformati ...
- 论文笔记——HDD算法:异构网络中信息扩散的深度学习方法
HDD算法 发表在knowledge-Based Systems上的一篇文章.有许多现实世界的复杂系统与多类型相互作用的实体,可以被视为异构网络,包括人类连接和生物进化.这类网络的主要问题之一是预测信 ...
- 【文献阅读】异构网络中的联邦优化——FedProx
本文是FedProx的论文,值得一看. 由于本文之前有简单看过一次,这次就不细读,就只读其中比较重要的部分也就是PedProx的实现和收敛证明. 定义 1:(-不精确解) 对于一个函数 ,其中 .我 ...
- 【电信学】【2019.03】5G异构网络中的移动性管理
本文为澳大利亚埃迪斯科文大学(作者:Mohammad Arifin Rahman Khan)的硕士论文,共91页. 近年来,由于智能手机.平板电脑和笔记本电脑等便携式设备的普及,移动数据流量呈指数级增 ...
- 在加权异构图上的基于元路径个性化推荐——SemRec
主要参考论文:<Semantic Path based Personalized Recommendation on Weighted Heterogeneous Information Net ...
最新文章
- 蓝桥杯--算法训练 表达式计算
- postman可以测试websocket吗_小海塔罗娱乐测试2021年可以脱单吗?
- BZOJ 4710: [Jsoi2011]分特产
- MyBatis基本配置和实践(三)
- Scala-2.13.0 安装及配置
- 收藏这些芯片原厂的代码仓库
- ASP.NET 网站项目 EF 的简单操作例子
- mongoDB高级查询
- (十六)java中的String
- [LeetCode]题解(python):016-3Sum Closest
- Verilog语言生成4位伪随机码
- Android 实现最新QQ登陆页面
- linux ubuntu 安装odb,Ubuntu 使用C++ ORM框架--ODB
- nginx下载安装,以及简单配置
- 设置开机自动启动程序,需要管理员权限程序
- CPU处理器Intel Xeon Skylake 6148(2.4 GHz)性能评测
- 扫码支付java,详解JAVA后端实现统一扫码支付:微信篇
- 腾讯云数据库开源再突破:TDSQL PG版查询性能提升百倍
- 浅谈---设计接口测试用例
- 国内哪家云服务器最便宜?国内主流三大云厂商的价格差异
热门文章
- 计算机一直安装更新失败,win10系统一直安装更新失败的三种解决方法
- font face=微软雅黑 color=DodgerBlue*IncomesESL Analy*/font
- matlab波形相似系数,如何用matlab计算波形相似系数
- 利用MC34063升压180V的心(辛)路(酸)历(经)程(历)
- 生活记录:记录2020暑假前半部分时光
- 2020校招搜狗笔试
- android studio一个好看的字体设置
- 美颜SDK是什么?美颜SDK和美颜APP有什么区别?
- vs2019下载不了的解决办法
- VOC数据集制作 滑窗切分图片 单通道标签调色板