ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Localized Graph Collaborative Filtering

2022-08-28 16:30:23  阅读:178  来源: 互联网

标签:mathbb 结点 Filtering mathbf Collaborative Graph tilde ui text


目录

Wang Y., Li C., Li M., Jin W., Liu Y., Sun H., Xie X. and Tang J. Localized graph collaborative filtering.

现在的推荐系统, 倾向于为每个 user, item 构建 embeddings. 但是和 NLP 中的问题不同, 推荐的数据往往是非常稀疏的, 所以这么做势必为带来一些训练上的一些问题. 这篇文章是这方面的一个尝试, 虽然感觉不是很成熟, 但是很有意义.

符号说明

  • \(G = (\mathbf{U}, \mathbf{I}, \mathbf{E})\), 图 (user, item, edge);
  • \(\mathbf{U} = \{u_1, u_2, \ldots, u_n\}\);
  • \(\mathbf{I} = \{i_1, i_2, \ldots, i_m\}\);
  • \(\mathbf{E} = \{e_0, e_1, \ldots, e_l\}\);
  • \(s_{jk} = f(u_, i_k|\mathbf{E})\), 预测的分数;

本文方法

  • 本文研究的问题: 在仅知道结点和他们之间的边的关系的条件下预测 \(u_j, i_k\) 的 score \(s_{jk}\);
  • 如上图所示, 假设我们想要预测 \(s_{ui}\), 则首先通过 random walk 来构建局部的子图:
    1. 分别从 \(u\) 和 \(i\) 出发, 通过 random walk with restart 各自得到一串序列 \(V_u, V_i\);
    2. \(V_{ui} = V_u \cup V_i\), 包含了所有经过的点, 在上图例子中, 仅 \(i_4\) 没有包括;
    3. 将 \(V_{ui}\) 和他们两两之间的边的关系保留, 构成一个新的子图;

  • 将由 \((u, i)\) 出发所构建的子图的邻接矩阵即为 \(\mathbf{A}_{ui}\), 我们希望用这个子图来进行特征的提取:

    \[\tag{3.2} \mathbf{X}_{l+1} = \sigma(\mathbf{\tilde{D}^{-1/2}} \tilde{\mathbf{A}}_{ui} \mathbf{\tilde{D}^{-1/2}} \mathbf{X}_l \mathbf{W}), \]

    并通过 sum pooling

    \[\mathbf{x}_{ui} = \text{sum}(\mathbf{X}_L) \]

    得到最后的特征. 作者希望该特征能够反映 \((u, i)\) 间的一个关系, 并用如下方式进行预测

    \[s_{ui} = \sigma(\mathbf{x}_{ui}^T \mathbf{w}). \]

  • 现在的问题是, 我们并不具备每个结点的信息 (信号) \(\mathbf{X}_0\), 为此, 作者打算人为地给结点赋予属性, 同时作者希望这个属性能够满足如下性质:

    1. 起始结点 \(u, i\) 的属性为 \(1\);
    2. 直观上, 若结点 \(v\) 距离 \(u(i)\) 比较接近, 那么它的值也应当离 \(u(i)\) 接近, 这里两个结点 \(u, v\) 的距离 \(d(u, v)\) 定义为二者的最短路径长度, 比如上图中 \(d(i_2, u_1) = 1, d(i_2, u_3) = 3\);
    3. 假如两个结点 \(x, y\) 到两个起始结点 \(u, i\) 的距离和是一样的, 即:

      \[d(x, u) + d(x, i) = d(y, u) + d(y, i), \]

      但是

      \[\min(d(x, u), d(x, i)) < \min(d(y, u), d(y, i)) \]

      则应当 \(x\) 的值要小于 \(y\);
  • 作者于是采用如下的属性的定义方法:

    \[f(v) = \left \{ \begin{array}{ll} 1 & v = u \text{ or } i \\ 1 + \min (d(v, u), d(v, i)) + [(d(v, u) + d(v, i)) / 2]^2 & \text{else}. \end{array} \right . \]

注: 最上面那张图中 labeling 应是指距离而不是文中所述的 label.
注: (3.2) 中的 \(W\) 我想应该是 \(W_l\), 因为 \(X_0 \in \mathbb{R}^{|V_{ui}|}\), 是一维向量, 所以 \(W_0\) 只能是标量 (若 \(W_0 = W_l\)). 如果每层采用不同的 \(W\), 就可以令 \(W_0 \in \mathbb{R}^{1 \times d_1}, W_l \in \mathbb{R}^{d_l \times d_{l+1}}\) 了.
注: 本文还讨论了和 LightGCN 的结合, 并没有特别的新意.

标签:mathbb,结点,Filtering,mathbf,Collaborative,Graph,tilde,ui,text
来源: https://www.cnblogs.com/MTandHJ/p/16633005.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有