摘要

top-n序列推荐模型讲每个用户过去有过交互的商品看成一个序列,目的是来预测用户未来可能有交互行为的商品的前N个的排序。这个交互作用的顺序揭示了序列patterns扮演了一个重要的角色,揭示了序列中最近的项目对下一个项目的影响更大。在这篇论文中提出了convoltional sequence embedding recommendation model (caser).其主要思想是将在时间和空间上最近的项目序列形成一个”“图像”,并且使用卷积滤波器学习序列pattern作为图像的局部特征。这种方法提供了一个统一的、可执行的网络结构,用于捕获一般首选项和顺序模式。

introduction

给定所有用户的顺序,目标是通过综合考虑一般偏好和顺序模式,向每个用户推荐一个项目列表,最大限度地满足他们未来的需求。不像传统的top-N推荐,top-N顺序的推荐模型将用户行为看作与一个商品的序列,而不是等同于商品的集合。Caser使用水平和垂直卷积过滤器捕获点级、单位级和跳过行为的顺序模式。Caser对用户的一般偏好和顺序模式进行建模,并在一个统一的框架中概括了几种现有的最先进的方法。

model

该模型采用卷积神经网络(CNN)学习序列特征,采用隐因子模型(LFM)学习用户特征。Caser网络设计的目标是多重的:在统一级和点级捕获用户的一般偏好和顺序模式,并捕获跳过行为,所有这些都在未观察到的空间中。如图3所示,Caser由三个组件组成:嵌入查找层、卷积层和全连接层。caser 由三个部分组成,embedding layer,convolutional layer,fully-connected layer.对于每个用户u,我们从用户序列Su中提取每L个连续项作为输入,并将它们的下一个T项作为目标,如图3左侧所示。这是通过在用户序列上滑动一个大小为L +T的窗口来实现的,每个窗口都为u生成一个训练实例,它由一个三元组(u、前L项、后T项)表示。

embedding layerCaser

通过向神经网络嵌入先前的项目来捕获潜在空间中的序列特征。将长为L的序列映射成embedding。将其堆积在一起。除了商品的embedding,用户的特征是用LFM生成的,在图中标注为紫色。###cNN借鉴CNN在文本分类[12]中的思想,我们的方法考虑了L×d矩阵E为前L项在潜空间中的“像”,将序列模式作为该“像”的局部特征。这种方法允许使用卷积滤波器来搜索顺序模式。

图4显示了两个“水平过滤器”,它们捕获两个联合级别的顺序模式。这些过滤器,表示为h×d矩阵,高度h = 2,全宽等于d。它们通过在E矩阵的行上滑动来接收序列模式的信息。类似地,一个“垂直lter”是一个L×1矩阵,它会滑过去E的列。与图像识别不同,“图像”E不是给定的,因为所有项的嵌入Qi必须与所有过滤器同时学习。

水平卷积网络

这层,在图三第二部分的上边网络上有N个水平滤波器。举个例子,如果L=4,那个可能有8个滤波器,每个h= {1,2,3,4}对应两个滤波器。Fk滤波器会从上到下滑动,并与物品的横向维度发生相互作用,下面是卷积公式,其实就是E中的几行与滤波器做卷积然后为卷积层加一个非线性激活函数。
下面这个是矩阵的行i到行i-h+1与滤波器的作用结果。


所以最终的Fk滤波器卷积结果为如果h=2的时候,则生成的ck的shape是4-2+1 = 3 --3*1.然后,我们对ck应用一个最大池化操作,从这个特定过滤器生成的所有值中提取最大值。最大值捕获过滤器提取的最显著的特征。因此,对于这一层中的n个字符,输出值 shape为n

水平滤波器通过嵌入e与每一个连续的h项进行交互。通过学习嵌入和过滤器,可以将编码目标项预测误差的目标函数最小化(更多信息见第3.4节)。通过不同高度的滑动杆,无论位置如何,信号都能被接收到。因此,可以训练水平过滤器来捕获具有多个union大小的union级模式.

####垂直卷积网络

该层被展示在图3的下方,我们使用波浪号作为该层的象征,假设这里有n个滤波器,
每个滤波器Fk与列交互从左到右滑d次在矩阵E上,产生垂直c˜k卷积结果1*d

内积的互动,很容易验证这个结果等于加权求和的E和F˜k L行权重:
因此,使用垂直lters,我们可以学习将之前L项的嵌入进行聚合,类似于Fossil的[6]加权和,将之前L项的潜在表示进行聚合.


以上为垂直滤波器的输出。

全连接层

我们将两个卷积层的输出连接起来,并将紧密连接的神经网络层馈入其中高级和摘要特征。


是权重矩阵,将连接层投影到d维隐层的权重矩阵。z∈Rd就是我们所说的卷积序列嵌入,它包含了之前项的所有序列特征。
为了捕捉用户的一般偏好,我们嵌入了一个用户embedding pu,并将两个d维向量z和pu连接在一起,然后将它们投射到一个带有|I|节点的输出层中(I的值是正样本加负样本的值的和)

网络训练

极大似然估计为:
表示在之前的行为序列中观测出的下一个item的概率。然后使用极大似然估计法,对概率进行累乘,构造似然函数。

对其进行负对数运算,我们得到目标损失函数,也就是二进制交叉熵损失,i为正样本,j为负样本
我们最大化概率也就是最小化损失函数。通过最小化损失函数来得到最优参数。
我们为每一个target都找到3个负样本。超参数通过验证集来调整。使用Adam进行优化算法。batchsize为100.为防止过拟合,L2范数适用于所有模型参数,并在全连接层上使用了50%的dropout 。

推荐

在获取到训练好的神经网络后,我们为每个用户进行推荐,我们使用户的隐层状态PU与它的最后L个items的表达作为网络输入。我们推荐输出层最高的N个值。注意,target itemsT 参数在训练中使用,而N是训练后推荐的参数。

connection to existing models

实验

  • 数据集:只有当数据集包含顺序模式时,顺序推荐才有意义。为了识别这类数据集,我们将序列关联规则挖掘应用于多个公共数据集,并计算它们的序列强度。
  • 分子是使用最小支持阈值(即(5)及置信度即, 50%),马尔科夫阶L从1到5。分母是用户总数。我们使用SI来估计数据集中序列信号的强度。
  • 我们将每个用户序列中70%的操作作为训练集,并使用接下来10%的操作作为验证集来搜索最优超参数设置对所有模型。每个用户序列中其余20%的操作用作评估模型性能的测试集
  • 测量准则:


  • rel (N) = 1如果第N个项目在R Rˆ平均意味精度(MAP)是所有用户AP的平均值。

Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding相关推荐

  1. 【paper笔记】Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding

    科研生活开始了! 精读的第一篇paper 好久没有这么仔细地读一篇paper,以前读都只是知道大概意思就好了,很多细节选择忽略,因为很多时候论文只是需要知道这篇论文在干什么就好了(比如水报告的时候(ˉ ...

  2. 【推荐系统->论文阅读】Dynamic Graph Neural Networks for Sequential Recommendation(用于序列推荐的动态图神经网络)

    Dynamic Graph Neural Networks for Sequential Recommendation(用于序列推荐的动态图神经网络) Mengqi Zhang, Shu Wu,Mem ...

  3. 会话/序列推荐:Caser、SASRec、BERT4Rec [Session based / Sequential Recommendation]

    目录 Caser 3 模型 3.1 嵌入层 3.2 卷积层 3.3 全连接层 3.4 训练 3.6 与一些模型的关系 SASRec 2 RELATED WORK 3 METHODOLOGY 3.1 嵌 ...

  4. 深入探寻《Self-Attentive Sequential Recommendation》ICDM‘18

    本文我们主要致力于解决以下几个问题: 本文的motivation/contribution是什么? 实验细节以及实验效果如何? 具体的应用场景? 本文存在什么不足? 在本文的最后,我将针对以上问题简单 ...

  5. 论文《Contrastive Learning for Sequential Recommendation》

    论文地址:https://arxiv.org/abs/2010.14395 摘要 序列推荐经常因为数据稀疏性问题,导致很难学习到高质量的用户向量表示.论文引入对比学习,提出Contrastive Le ...

  6. [论文笔记] SSE-PT: Sequential Recommendation Via Personalized Transformed

    原文地址 SSE-PT: Sequential Recommendation Via Personalized Transformer SSE-PT/SSE-PT (github.com) 时间信息对 ...

  7. Self-Attentive Sequential Recommendation论文阅读笔记

    SASRec论文阅读笔记 论文标题:Self-Attentive Sequential Recommendation 发表于:2018 ICDM 作者:Wang-Cheng Kang, Julian ...

  8. 读论文《Multi-Behavior Hypergraph-Enhanced Transformer for Sequential Recommendation》

    0 Summary: Title: Multi-Behavior Hypergraph-Enhanced Transformer for Sequential Recommendation confe ...

  9. 论文阅读:Personalized Purchase Prediction of Market with Wasserstein-Based Sequence Matching

    Personalized Purchase Prediction of Market with Wasserstein-Based Sequence Matching 概述 问题背景及陈述 预测算法 ...

最新文章

  1. 马云再谈996,又一次被网友怒骂:马老师,求求你闭嘴吧!
  2. Windows 下使用 SNMP 来管理网络
  3. 用共振频率去理解神经网络-将乙烯模型运行300次的数据
  4. 浪潮linux网卡驱动,浪潮NF5280M5安装redhat7.2下网卡驱动
  5. Fiddler之断点调试(模拟器)
  6. 易语言写c盘配置文件,易语言写配置文件的方法
  7. 600W个微信红包封面,人人都能领取到!!!
  8. Java LineNumberReader getLineNumber()方法及示例
  9. 大数据2019年的三大趋势你看了吗?
  10. 风险策略中的五层决策
  11. mysql的过程返回执行成功与失败_进行数据库操作的时候,操作错误或者失败,但是不报错...
  12. 34.Odoo产品分析 (四) – 工具板块(5) – 设备及联系人目录(1)
  13. C#类对象转换成XML
  14. Bootstrap基础九辅助类
  15. 几分钟看懂什么是大数据?
  16. 查看oracle归档日志内容,查看归档日志内容
  17. 王者荣耀以鸿蒙起网名,王者荣耀
  18. Android 高仿微信6.0主界面 带你玩转切换图标变色
  19. ml-agents_使用ML-Agents的自玩功能来训练智能对手
  20. 远程桌面--外网访问内网多台电脑

热门文章

  1. Linux下套接字详解(五)----基于fork多进程的TCP套接字(阻塞/同步/并发)
  2. PPPOE拨号之四:juniper netscreen 防火墙 PPPOE拨号配置
  3. 基于thinkphp5.0和支付宝面对面扫码支付DEMO制作的扫码支付
  4. 查看电脑是否支持蓝牙和wifi
  5. 不得不珍藏的Chrome插件推荐
  6. 网络安全kali渗透学习 web渗透入门 ARL资产侦察灯塔系统搭建及使用
  7. 史上最简单的图片二维码识别
  8. 优盘里文件夹变成html,U盘里的文件全部变成了快捷方式,怎么破?
  9. js 封装cookie
  10. mysql查询结果乘2倍_SQL查询总和乘以它应该的2倍