Yang J., Chen C., Wang C. and Tsai M. HOP-Rec: high-order proximity for implicit recommendation. In ACM Conference on Recommender Systems (RecSys), 2018.
概
利用高阶信息处理图的分解模型.
符号说明
- U, users;
- I, items;
- A∈{0,1}|U|×|I|, biadjacency matrix;
- V=U∪I, 结点;
- eij∈E if aij=1, 边;
- G=(V,E), 二部图;
- Su=(u,i1,u1,…,uk−1,ik,…) 是从 G 中以 u 为起点通过 rankdom walk 采样的一个序列;
- pku(ik) 表示 Su 中 Ik=ik 的概率;
- θU∈R|U|×d,θI∈R|I|×d, user, item 的 embeddings.
HOP-Rec
-
一般的 MF 方法可以归结为:
L=∑u,icui(aui−θTuθi)2+λΘ∥Θ∥22;
-
而采样 BPR 或者 WARP 方法则可以归结为
Lrank=∑u,(i,i′)F(θTuθi′,θTuθi)+λΘ∥Θ∥22,
其中 i,i′ 分别表示和 u 有关联 (positive) 和无关联 (negative) 的items.
-
本文的思路是采用如下的损失:
LHOP=∑u∑1≤k≤Kgraph modelC(k)Ei∼Pku,i′∼PNfactorization model[F(θTuθi′,θTuθi)]+λΘ∥Θ∥22,
这里 PN 表示在所有 items 上的一个均匀采样, C(k) 为一个因子, 这里
F(θTuθi′,θTuθi)=I(θTuθi′−θTuθi≥ϵk)log[σ(θTuθi′−θTuθi)],
通常 ϵk=ϵ/k;
-
注意到对于每一个 u 该损失相当于 (没看代码, 这里只是单纯的个人的理解) :
- 通过 random walk 采样 Su;
- 对于每一个 k, 将 Su 中的 ik 作为正样本, 然后随机从其它的所有的 items 中采样一负样本 i′k, 然后通过
C(k)F(θTuθi′k,θTuθik)+λΘ∥Θ∥22,
计算损失;
-
我们知道, ik 并不一定是用户 u 直接的邻居, 可能是周转好几次的邻居, 所以一般来说 k 越大, 这个'邻居'是正样本, 即和 u 紧密联系的概率就会越小, 而因子 C(k) 就是为了度量这一性质存在的, 通常我们会取
C(k)=1/k
来逐渐弱化;
-
此外, 作者认为, 因为在现实生活中, 每个结点的度 (degree) 通常是服从二八律的, 即 degree 较小的结点占据了大多数, 故如果每一个结点随机跳转到其它结点容易导致采样的大部分是 degree 较小的点 (我不是很认同啊, why?). 故作者设计的转移概率为:
P(y|x)=⎧⎪
⎪⎨⎪
⎪⎩axydeg(y)∑y′axy′deg(y′)if x∈Uayxdeg(y)∑y′ay′xdeg(y′)if x∈I
即转移概率倾向于那些 degree 大的点.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix