MixGCF: An Improved Training Method for Graph Neural Network-based Recommender Systems

Huang T., Dong Y., Ding M., Yang Z., Feng W., Wang X. and Tang J. MixGCF: an improved training method for graph neural network-based recommender systems. In ACM International Conference on Knowledge Discovery and Data Mining (KDD), 2021.

一种构造困难负样本的方法.

符号说明

  • \(\mathcal{U} = \{u\}\), users;
  • \(\mathcal{V} = \{v\}\), items;
  • \(N_u\), user 的 1-hop 邻居;
  • \(N_v\), item 的 1-hop 邻居;

算法

  • 推荐系统通常会为用户 \(u\) 选择一个正样本 (observed) \(v^+\), 然后再选择一个负样本 \(v^-\). 但是作者认为, 通过均匀采样得到的负样本 \(v^-\) 往往是非常弱的, 它并不能够提供太多的信息, 作者的思路是通过融合正样本和负样本来得到更加复杂的负样本;

  • 首先对于正样本对 \((u, v^+)\), 我们采样 \(M\) 个负样本, 记为 \(\mathcal{E}\);

  • 假设每个的样本对应的特征为 \(e_u, e_v\), 则我们通过如下方式构造新的负样本集合:

    \[\mathcal{E}' = \{e_v' = \alpha e_{v+} + (1 - \alpha) e_{v}, \alpha \sim \mathcal{U}(0, 1): v \in \mathcal{E} \}; \]

  • 然后挑选 hard 的负样本:

    \[e_{v_x} := \mathop{\mathrm{argmax}} \limits_{e_{v}' \in \mathcal{E}'} \: e_{u}^T e_{v}'; \]

  • LightGCN 这类图网络, 每一层都会有一个特征 \(e^{(l)}\), 都每一层进行如上操作得到

    \[e_{v_x}^{(l)}, \: l=0,1,\ldots, L \]

    然后得到最后的

    \[e_{v^-} = \text{Pooling}(e_{v_x}^{(0)}, \ldots, e_{v_x}^{(L)}). \]

  • 然后通过如下 BPR 损失进行优化:

    \[\mathcal{L}_{BPR} = \sum_{(u, v^+, v^-)} \ln \sigma(e_u^T e_{v^+} - e_u^T e_{v^-}). \]

代码

[official]

posted @ 2022-10-23 17:18  馒头and花卷  阅读(92)  评论(0编辑  收藏  举报