Recurrent Collaborative Filtering for Unifying General and Sequential Recommender

推荐系统

链接:https://pan.baidu.com/s/1x-6jc309IQyHLpRpJ9uWng 密码:wcnf

Recurrent Collaborative Filtering for Unifying General and Sequential Recommender

介绍

普通的推荐

  • 它的目标是根据用户历史的交互来探索用户的偏好,一个很成功的技术是基于矩阵分解的协同过滤,学习user-item的潜因子向量来建模用户在item上的偏好。

序列推荐

  • 序列推荐将用户的交互看为一个序列,目的在于预测用户接下来最有可能产生交互的item。
  • 序列推荐关注用户的有时序的交互,目标是根据用户之前的交互来预测用户下一次交互。序列推荐的一个典型的方法是建模时序模式为一个item-to-item的关系矩阵,推荐与用户最后一次交互的最相关的item。

普通推荐和序列推荐的对比

  • 普通的推荐发现了用户普通的偏好,但是丢失了用户行为中的序列信息。
  • 序列推荐通过探索序列模式捕获了item-to-item的关系,但是缺少对user-item的建模,因此不能捕获用户的全局偏好。
  • 因此,普通的推荐在长时间预测任务中表现的性能比较好,而序列推荐在短时间的预测任务中表现得性能比较好。

现有的解决思想

  • 通过引入用户的一般偏好来改善序列推荐方法。
  • 考虑开发一个更好的基于矩阵分解的一般推荐,利用item-to-item矩阵,以捕捉序列模式。

    本文的解决思想

  • 我们提出了一个叫做RCF的模型,拥有普通推荐和序列推荐的好处。

  • 具体的,我们使用多任务学习的方法联合建模用户行为数据的不同方面:
    • 普通的推荐部分采用普通的基于矩阵分解的协同过滤来捕获用户通用的偏好。
    • 序列推荐部分使用RNN利用item-to-item的序列关系。
  • 我们进一步优化联合损失,在MF和RNN中共享用户和物品的向量。在这个方法用,用户的全局信息传播到了序列推荐中,同时将序列信息注入一般推荐方法中。

本文的贡献

  • 探索了item之间的序列依赖,我们在序列推荐部分采用RNN,进一步的,我们将用户向量合并到序列预测中, 以允许 RNN 关注用户的全局偏好。
  • 我们通过在多任务学习框架中包含矩阵分解和RNN来构建了一个统一的推荐,将两个方法的参数共享以达到信息传输,因此同时捕获了item的序列关系和用户-item的全局关系。

Recurrent Collaborative Filtering

  • 符号表示
符号 含义
R=N×M user-item矩阵
$r_{ij} \in $ { $0,1$ } $user$ $i$ 和$item$ $j$ 是否交互
$u_i$ $user$ $i$ 向量
$v_j$ $item$ $j$ 向量
$S^+$ 在R中观察到的交互
$S^-$ 抽样出来的负面交互集合
$o^{(t)}$ GRU中的更新门
$c^{(t)}$ GRU中的候选向量
$r^{(t)}$ GRU中的重置门
$x^{(t)}$ $user$ $i$ 第$t$ 次交互时,与之交互的$item$
$(x_i^{(0)},x_i^{(1)},…x_i^{(T_i)},)$ $user$ $i$ 的交互序列
$ P(x_i^{(t)} ︱ x_i^{(<t)}) $ 该$item$ 根据之前$item$ 所训练后的被推荐的条件概率
$e_j$ $item$ $j$ 嵌入后的向量
$h_i^{(t)}$ $user$ $i$ 在第$t$ 步的隐藏状态
  • RCF采用多任务学习,将矩阵分解(MF)于RNN组合,RCF的体系结构如下图所示
  • 左侧显示了推荐任务的两种不同视图:序列预测和一般预测,右侧有相应的方法。
  • 这两种方法在多任务学习框架中统一。 序列部分(RNN)包含全局用户向量以关注一般用户偏好,同时通用部分(MF)与RNN中使用的项目嵌入共享项目潜在向量以捕获序列模式。
  • 我们采用以下的策略使得任务之间可以信息传递
    • 参数共享
      • 我们将RNN中使用的item嵌入限制为与矩阵分解中使用的item潜向量相同。形式上,让$e_j=v_j$
    • 注意力加分
      • 我们包含用户潜向量以形成新的隐藏状态向量,由其预测下一个item,允许RNN关注用户偏好的全局信息。
    • 多任务损失函数
      • 为了执行联合优化,我们采用MF和RNN中定义的损失的凸组合。 由于两种方法都需要进行负反馈抽样,因此我们在合并损失中使用共享负抽样过程。 这是合理的,因为这种基于流行度的采样策略对两种方法都有意义
      • MF的损失函数
      • RNN的损失函数
      • 联合的损失函数