SESSION-BASED RECOMMENDATIONS WITH RECURRENT NEURAL NETWORKS

SESSION-BASED RECOMMENDATIONS WITH RECURRENT NEURAL NETWORKS

基于会话的递归神经网络推荐

  • 首次将递归神经网络(recurrent neural networks,RNN)应用于推荐系统。
  • 通过对整个会话进行建模,可以提供更准确的建议。因此,提出了一种基于RNN的基于会话的推荐方法。
  • 以往的推荐系统只考虑了用户的最后一次点击或选择,忽略了过去的点击信息。
  • 在基于会话的推荐中,我们可以把用户进入网站时点击的第一个项目作为RNN的初始输入,然后我们想根据这个初始输入来查询模型的推荐。用户的每次连续点击都会产生一个取决于之前所有点击的输出(推荐)。通常情况下,在推荐系统中可供选择的项目集可能有几万个甚至几十万个。除了项目集的巨大规模之外,另一个挑战是点击流数据集通常相当大,因此训练时间和可扩展性真的很重要。正如大多数信息检索和推荐设置一样,我们有兴趣将建模能力集中在用户可能感兴趣的顶级项目上,为此我们使用ranking loss函数来训练RNN。
  1. 受限玻尔兹曼机(Restricted Boltz-mann Machines ,RBM)进行协同过滤。被证明是users-items性能最好的协作过滤模型之一。
  2. 使用深度网络从任何类型的项目中提取通用的内容特征,然后将这些特征纳入标准的协同过滤模型以提高推荐性能。这种方法似乎在没有足够的用户-项目互动信息的情况下特别有用。
Recommendtations with RNNS

标准RNN使用更新影藏状态函数:
h t = g ( W x t + U h t − 1 ) ht = g(W xt + Uht−1) ht=g(Wxt+Uht1)
其中g是一个平滑的、有界的函数,如logistic sigmoid函数 xt是单元在时间t的输入。一个RNN在给定其当前状态ht的情况下,输出一个关于序列的下一个元素的概率分布。

A Gated Recurrent Unit (GRU)


在这里插入图片描述

在这里插入图片描述

Customizing the GRU Model

  1. 会话并行的小型批处理
  2. 对输出进行采样
  3. RANKING LOSS

我们在基于会话的推荐模型中使用了基于GRU的RNN。网络的输入是会话的实际状态,而输出是会话中下一个事件的项目。会话的状态可以是实际事件的项目,也可以是迄今为止会话中的事件。在前一种情况下,使用1-of-N编码,即输入向量的长度等于项目的数量,并且只有对应于活动项目的坐标为1,其他为0。

在这里插入图片描述

​ 网络的总体结构,描述了一个事件的时间序列中的单一事件的表现。

  1. 我们使用会话并行的小批次。首先,我们为会话创建一个顺序。然后,我们使用前X个会话的第一个事件来形成第一个小批处理的输入(期望的输出是我们活动会话的第二个事件)。第二个小批处理是由第二个事件形成的,以此类推。如果任何一个会话结束,下一个可用的会话将被放在其位置上。会话被假定为是独立的,因此当这种切换发生时,我们会重置适当的隐藏状态。

    在这里插入图片描述

  2. 我们必须对输出进行采样,只计算一小部分项目的得分。这也就意味着只有部分权重会被更新。除了所需的输出,我们还需要计算得分并修改权重,使期望的输出得到高度的排名。

  3. 推荐系统的核心是对项目进行基于相关性的排名。排名可以是点式、对式或列表式。

    1、点式排名是独立估计项目的得分或排名,损失的定义方式是相关项目的排名应该很低。

    2、成对排位法比较了正面项目和负面项目的得分或排名,损失的定义是正面项目的排名应低于负面项目的排名。

    3、列表式排名使用所有项目的得分和排名,并将它们与完美排序进行比较。

  4. 成对的排名损失则表现良好。我们使用以下两种:BRP、TOP1.

    BPR是一种使用成对排名损失的矩阵分解方法。它比较了一个正面项目和一个抽样的负面项目的得分。在这里,我们将正面项目的分数与几个抽样项目进行比较,并使用它们的平均值作为损失。一个会话中某一点的损失被定义为

    在这里插入图片描述

    Ns是样本量,i是期望的项目(序列下一个项目),j是负面样本,rs,k是给定时间点上的得分。

    TOP1这个排名损失是我们为这个任务设计的。它是相关项目的相对排名的正则化近似值。

    在这里插入图片描述

实验

  1. 两个数据集RSC2015(包含电子商务网站的点击流,这些点击流有时以购买事件结束。)、VIDEO(从一个类似Youtube的OTT视频服务平台上收集的数据。)。
  2. 两个评价标准:racall@20(在前20个项目中拥有所需项目的案例比例。召回率不考虑项目的实际排名,只要它在前N名中。)、MRR@20(这就是所需项目的互换等级的平均值。如果排名高于20,则互换排名被设置为零。MRR考虑到了项目的排名,这在推荐顺序很重要的情况下是很重要的).

参数

在这里插入图片描述

  • 单层CRU有着最好的性能。
  • 增加GRU层的大小却改善了性能。我们还发现,使用tanh作为输出层的激活函数是有益的。

结果

68840614876)]

  • 单层CRU有着最好的性能。
  • 增加GRU层的大小却改善了性能。我们还发现,使用tanh作为输出层的激活函数是有益的。

结果

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值