PinSage的随机游走采样,如何设计适合推荐的游走策略?
PinSage 是 Pinterest 提出的图推荐方法,在用户-物品-物品等异构图或二部图上,用 random walk 采样邻居,再在采样子图上做聚合(如 mean pooling + MLP),得到节点嵌入用于推荐。随机游走替代「均匀采样邻居」的好处是:多跳路径上的共现能反映「结构相似性」(如同一 session、同一类目下的物品更容易在游走中一起被采到),更适合推荐中的「相似物品/同兴趣」定义。
长度与步数:游走长度 $L$ 和每节点采样的游走次数 $R$ 决定覆盖范围与计算量;$L$ 大则多跳、感受野大,但噪声也增加;推荐里常用 $L=3\sim5$,$R=10\sim50$。边权:按边权(如点击次数、共现次数)做非均匀采样——高权边以更高概率被走,使重要连接在采样子图中更集中。重启/偏置:从目标节点出发的 random walk with restart (RWR) 或 node2vec 式的 p/q 偏置(BFS/DFS 倾向)可控制「局部 vs 全局」:$p$ 小、$q$ 小更偏向 BFS(邻域),$q$ 大更偏向 DFS(远距离)。二部图:在 user-item 图上可约束「user→item→user→…」交替,或只在 item 子图上做游走再与 user 聚合,以符合业务逻辑。
游走序列可送入 Word2Vec / Node2Vec 得到嵌入;或把「从 $v$ 出发的游走所经过的节点集合」视为 $v$ 的多跳邻居,再用 GNN 在该集合上做聚合得到 $v$ 的嵌入。PinSage 采用后者:游走定义邻居、再 GNN 聚合,并配合课程学习(先易后难)、负采样与 hard negative 提升效果。
| 返回模块 | 返回总览 |