review for Neural Attentive Session-based Recommendation

review for Neural Attentive Session-based Recommendation

  • 简介
  • 主要贡献\创新点
  • 背景
  • Model
    • overview
    • Global Encoder in NARM
    • Local Encoder in NARM
    • NARM Model
  • 实验

简介

本文作者是Jing Li 等人,发表于CIKM 2017,代码地址

主要贡献\创新点

  • 具有注意机制的混合编码器,以模拟用户的顺序行为(sequential behavior)并捕获用户在当前会话中的主要目的(main purpose),这些目的在稍后组合为统一会话表示。
  • 然后,使用基于该统一会话表示的双线性匹配方案(bi-linear matching scheme)来计算每个候选项的推荐分数。
  • 通过联合学习项目和会话表示以及他们的匹配来训练NARM。

背景

先前提出的方法如马尔科夫链、FM以及最近提出的深度学习方法如RNN-based,以及各种RNN-based的变体都或多或少得考虑sequential behavior,并没有考虑main purpose。(这里笔者将sequential behavior看做是短期兴趣,main purpose看做长期兴趣,即general interest)当用户意外点击错误的项目或由于好奇而被某些不相关的项目吸引时,仅依赖于用户的顺序行为是危险的。例如:某个用户想买一条牛仔裤,那么他会去点击某一品牌的裤子,当然可能会点击一些搭配的衬衫,那么根据sequential behavior,可能会推荐一些衬衫,对吗?当然是不合适的,因为客户的main purpose是买牛仔裤!

Model

overview

review for Neural Attentive Session-based Recommendation_第1张图片
编码器将输入点击序列x = [x1,x2,…,xt-1,xt]转换为一组高维隐藏表示h = [h1,h2,…,ht-1,ht] 与时间t处的关注信号(表示为αt)一起被馈送到会话特征生成器以构建当前会话的表示,并在时间t解码(表示为ct)。 最后,ct由矩阵U(作为解码器的一部分)转换为激活函数,以生成所有项目的排名列表,y = [y1,y2,…,yt-1,yt],top-k (1 ≤ k ≤ m) items in y are recommended.
αt的作用是确定在时间t应该强调或忽略隐藏表示的哪一部分。应当注意,αt可以随时间固定或在预测过程中动态地改变。在动态设置中,αt可以是隐藏状态或输入项嵌入的表示的函数。我们在模型中采用动态设置。

Global Encoder in NARM

review for Neural Attentive Session-based Recommendation_第2张图片
使用GRU:review for Neural Attentive Session-based Recommendation_第3张图片

Local Encoder in NARM

review for Neural Attentive Session-based Recommendation_第4张图片
在这里插入图片描述
加权因子α确定在进行预测时应强调或忽略输入序列的哪一部分,即是隐藏状态的函数
在这里插入图片描述
加权因子αtj模拟位置j周围的输入和位置t的输出之间的对齐,因此可以将其视为特定的匹配模型。 在local encoder中,函数q具体计算最终隐藏状态ht与先前点击项hj的表示之间的相似性,
在这里插入图片描述
矩阵A1用于将ht转换为潜在空间,A2同理。
local encoder具有自适应地聚焦于更重要的项目以捕获用户在当前会话中的main purpose的优点。

NARM Model

review for Neural Attentive Session-based Recommendation_第5张图片
级联:
review for Neural Attentive Session-based Recommendation_第6张图片
bi-linear decoding scheme:
在这里插入图片描述
通常,标准RNN利用全连接层来解码,但是使用全连接层意味着在该层中要学习的参数数量是| H | * | N | 其中| H | 是会话表示的维度和| N | 是预测的候选项目数。有一些方法可以减少参数,例如使用分层softmax层[24]和随机负采样[22],但它们并不是我们模型的最佳选择。替代的双线性解码方案,它不仅减少了参数的数量,而且提高了NARM的性能。 具体地,当前会话的表示与每个候选项之间的双线性相似度函数用于计算相似度得分Si。B是| D | * | H | 矩阵,| D | 是每个项目嵌入的维度。 然后将每个项目的相似性得分输入到softmax层以获得该项目接下来将发生的概率。 通过使用这种双线性解码器,我们减少了参数数量| N | * | H | 到| D | * | H |,其中| D | 通常小于| N |。
a standard mini-batch gradient descent on the cross-entropy loss:
在这里插入图片描述
q是预测概率分布,p是真实分布。 最后,采用反向传播时间(BPTT)方法进行固定的时间步长训练NARM。

实验

  • 数据集:
    Yoochoose from the RecSys’15 Challenge 链接
    Diginetica dataset coming from the CIKM Cup 2016 链接
  • 实验结果
    review for Neural Attentive Session-based Recommendation_第7张图片
    review for Neural Attentive Session-based Recommendation_第8张图片

你可能感兴趣的:(paper,review)