基于卷积神经网络的Caser算法

news2025/2/27 14:19:34

将一段交互序列嵌入到一个以时间为纵轴的平面空间中形成“一张图”后,基于卷积序列嵌入的推荐(Caser)算法利用多个不同大小的卷积滤波器,来捕捉序列中物品间的点级(point-level)、联合的(union-level)和跳跃(skip)转移模式。

除了序列的局部特征,Caser还引入了用户全局特征,构建了一个较为统一和灵活的用于序列推荐的网络结构。

ABSTRACT

The order of interaction implies that sequential patterns play an important role where more recent items in a sequence have a larger impact on the next item.交互序列发挥重要作用,其中序列中较新的项目对下一个项目有更大影响。

The idea is to embed a sequence of recent items into an “image” in the time and latent spaces and learn sequential patterns as local features of the image using convolutional filters.将一系列最近的项目嵌入到时间和潜在空间中的“图像”中,并使用卷积滤波器学习序列模式作为图像的局部特征。

INTRODUCTION

major limitations

point-level:前面的三个蓝色块单独对黄色块产生影响。

union-level,no skip:前面的三个联合对接下来的黄色块产生影响。

union-level,skip once:前面的三个联合块可以对后面的黄色块产生影响。

contributions

(1) Caser uses horizontal and vertical convolutional filters to capture sequential patterns at point-level, union-level, and of skip behaviors. (2) Caser models both users’ general preferences and sequential patterns, and generalizes several existing state-of-the- art methods in a single unified framework. (3) Caser outperforms state-of-the-art methods for top-N sequential recommendation on real life data sets.。

(1) Caser 使用水平和垂直卷积滤波器来捕获点级、联合级和跳跃行为的顺序模式。

(2) Caser 对用户的一般偏好和顺序模式进行建模,并在一个统一的框架中概括了几种现有的最先进的方法。

(3) Caser 在现实生活数据集上的 top-N 顺序推荐方面优于最先进的方法。

FURTHER RELATED WORK

CNN学习序列特征,LFM(潜在因子模型)学习用户特定特征。

网络设计的目标是多重的:在union-level和point-level捕获用户的一般偏好和序列偏好,并捕获skip行为,所有这些都在未观察到的空间中。

训练CNN,对于每个u,从Su中提取每L个连续项目作为输入,并且提取接下来的T个项目作为目标。(通过滑动窗口来完成)每个窗口生成u的训练实例(u,previous L items,next T items)

PROPOSED METHODOLOGY

Embedding Look-up

算法定义了每个物品i对应的物品嵌入向量Qi和每个用户嵌入向量Pu。为了捕捉用户的动态偏好,当要预测用户u在时间步t上的偏好时,去用户u在第t步前交互的L个物品组成输入物品序列,并且根据定义好的物品嵌入向量,拼接得到物品序列的嵌入矩阵。

Convolutional Layers

将嵌入矩阵E看作“一张图”并对其进行卷积操作。使用纵向移动的水平滤波器来捕捉前L步物品对后续物品的综合影响(union-level)。使用横向移动的垂直滤波器来捕捉前L步物品对后续物品的点级影响(point-level)。

两个水平滤波器捕获两个union-level序列模式。滤波器为h×d矩阵。通过在E上滑动来获取序列模式的信号。

Horizontal Convolutional Layer.

假设模型中总共设置了n个水平滤波器,第k个的大小为h×d。水平滤波器从矩阵顶部重合的位置开始执行操作。(求内积融合再过激活函数)

水平滤波器从上往下滑动一个位置,直到达到矩阵底部。重复以上操作得到的值拼接成一个新的向量。

接着对每个新的向量进行最大池化,最后将n个水平滤波器得到的值拼接起来,得到包含输入序列中L个物品的不同组合的联合信息的输出向量。

通过训练滤波器来捕获具有多个联合大小的联合级模式。

Vertical Convolutional Layer.

设置多个垂直滤波器,大小都为L×1.与水平滤波器操作相似,每个垂直滤波器在嵌入矩阵上从左到右滑动得到一个d维度向量。将输出拼接到一起得到输出向量。

Fully-connected Layers

将上面两种卷积层的输出向量合并后送入第一个全连接层,得到表示序列局部特征的向量。

将表示局部特征与表示用户全局特征的用户嵌入向量拼接后送入第二个全连接层,得到该用户在下一个时间步t对所有物品的预测偏好。

NetWork Training

为了捕获序列中的物品之间的跳跃的转移关系还提出将下一个时间步t及后续若干时间步的物品都作为目标物品。

优缺点

优点:将FPMC和Fossil等基于矩阵分解的算法所建模的信息包含于其中,并且考虑了前L个物品的不同组合的作用和对后续物品的跳跃的影响。

相比于RNN、CNN不规定信息必须沿着时间节点依次连续传递,具有更大的灵活性,并且更容易实现并行化。

缺点:只能捕捉短期的(L步之内)序列特征的局限性。

Q&A

对该模型举一个例子,具体计算过程?

模型哪里有捕获skip behaviors?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2261273.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

挑战一个月基本掌握C++(第三天)了解注释、数据类型、变量

一 C注释 程序的注释是解释性语句,您可以在 C 代码中包含注释,这将提高源代码的可读性。所有的编程语言都允许某种形式的注释。 C 支持单行注释和多行注释。注释中的所有字符会被 C 编译器忽略。 C 注释一般有两种: // - 一般用于单行注释…

211-基于FMC的1路1.5G ADC 1路 2.5G DAC子卡

一、板卡概述 FMC-1AD-1DA-1SYNC是我司自主研发的一款1路1G AD采集、1路2.5G DA回放的FMC、1路AD同步信号子卡。板卡采用标准FMC子卡架构,可方便地与其他FMC板卡实现高速互联,可广泛用于高频模拟信号采集等领域。 二、功能介绍 2.1 原理框图 2.2 硬件…

Cloudlog 电台日志系统 request_form SQL注入漏洞复现

0x01 产品简介 Cloudlog 是一个自托管的 PHP 应用程序,可让您在任何地方记录您的业余无线电联系人。使用PHP和MySQL构建的基于Web的业余无线电记录应用程序支持从HF到微波的一般站记录任务。 0x02 漏洞概述 Cloudlog request_form 接口存在未授权SQL注入漏洞,未经身份验证…

Jenkins容器使用宿主机Docker(五)

DevOps之安装和配置 Jenkins (一) DevOps 之 CI/CD入门操作 (二) Sonar Qube介绍和安装(三) Harbor镜像仓库介绍&安装 (四) Jenkins容器使用宿主机Docker(五) Jenkins流水线初体验(六&#…

【大模型】LLaMA-2:Open Foundation and Fine-Tuned Chat Models, July. 2023.

论文:LLaMA-2:Open Foundation and Fine-Tuned Chat Models, July. 2023. 链接:https://arxiv.org/abs/2307.09288 Introduction 创新点 7B - 70B 预训练 微调 开源Llama 2 和Llama 2-Chat,针对对话用例进行了优化Motivation A…

Jmeter直连数据库,jar包下载

运行报错信息:jmeter连接mysql异常:Cannot load JDBC driver class ‘com.mysql.jdbc.Driver‘ 1、下载地址: https://mvnrepository.com/artifact/mysql/mysql-connector-java/ 2、将下载好的jar包 (我的是:mysql-con…

安全攻击平台介绍

目录 XSS攻击平台 Attack API BeEF XSS-Proxy 漏洞平台 cnvd 阿里云漏洞库 攻防演练平台 XCTF 攻防平台 零日靶场(0ops) 安恒靶场(赛宁安全) XSS攻击平台 XSS Payload如此强大,为了使用方便,有安…

webpack处理图片资源

过去在Webpack4时,我们处理图片资源通过file-loader和url-loader进行处理。 现在Webpack5已经将两个Loader功能内置到Webpack里了,我们只需要简单配置即可处理图片资源。 1. 配置 //webpack.config.js const path require("path");module.…

QT数据库(四):QSqlRelationalTableModel 类

关系数据库概念 例如下列departments、majors、studInfo 这 3 个数据表之间存在关系。 主键与外键 标记“**”的是主键字段,标记“*”的是外键字段。主键字段是一个数据表中表示记录唯一性的字段,例如 studInfo 数据表中的 studID 字段。外键字段是与其…

深入C语言文件操作:从库函数到系统调用

引言 文件操作是编程中不可或缺的一部分,尤其在C语言中,文件操作不仅是处理数据的基本手段,也是连接程序与外部世界的重要桥梁。C语言提供了丰富的库函数来处理文件,如 fopen、fclose、fread、fwrite 等。然而,这些库…

【HarmonyOS NEXT】ArkTs数据类型解析与使用

1. 背景 为什么设计ArkTS? 1.1 其它语言有版权【Java?Kotlin?】以及历史问题【Java内存?】 1.2 生态,可复用前端生态的三方库,兼容JS/TS语言生态ArkTs解决了JS/TS中的哪些问题? 2.1 **程序健壮性…

H5 scss 移动端的样式适配

在移动端样式的scss文件中,出现了这些变量 env() 与 constant() 设置安全区域,是css里IOS11新增的属性,webkit的css函数,用于设定安全区域与边界的距离,有4个预定义变量: safe-area-inset-left: 安全区域距…

YOLOv5与ViT目标检测中的热力图应用教程

文章目录 前言一、热力图介绍1、热力图应用说明2、热力图代码整体思路3、实验效果二、heatmap类解读三、GradCAM、GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM, HiResCAM, LayerCAM等类源码解读1、GradCAM类源码2、BaseCAM类源码解读1、BaseCAM源码2、forward函数源码解读ou…

组织病理学图像的再识别|文献速递-生成式模型与transformer在医学影像中的应用

Title 题目 Re-identification from histopathology images 组织病理学图像的再识别 01 文献速递介绍 在光学显微镜下评估苏木精和伊红(H&E)染色切片是肿瘤病理诊断的标准程序。随着全切片扫描仪的出现,能够将玻璃切片数字化为所谓的…

如何用重构解锁高效 Vue 开发之路

文章目录 摘要引言什么是代码重构为什么要减少重复逻辑Vue 示例代码问题场景初始代码的痛点重构后的通用组件 TaskList.vue详细说明 重用通用组件详细说明 模拟数据与运行结果 QA环节总结参考资料 摘要 代码重构是改善代码质量的重要手段,特别是在减少重复逻辑方面…

用户发送请求后服务端i/o工作过程

华子目录 服务端i/o介绍磁盘i/o机械磁盘的寻道时间、旋转延迟和数据传输时间常见的机械磁盘平均寻道时间值常见磁盘的平均延迟时间每秒最大IOPS的计算方法 网络i/o网络I/O处理过程磁盘和网络i/o 一次完整的请求在内部的执行过程 服务端i/o介绍 i/o在计算机中指Input/Output&am…

QT c++ 测控系统 一套报警规则(上)

本文适用于pc based的测控系统的上位机,定义了一套报警规则。 由5个部分组成:自定义4布尔类、在全局文件定义工位错误结构体和结构体变量,其它地方给此变量的当前值成员赋值,报警线程类、数据库保存类、弹框类。 1.自定义4布尔类…

概率论得学习和整理24:EXCEL的各种图形,统计图形

目录 0 EXCEL的各种图形,统计图形 1 统计图形 / 直方图 / 其实叫 频度图 hist最合适(用原始数据直接作图) 1.1 什么是频度图 1.2 如何创建频度图,一般是只选中1列数据(1个数组) 1.3 如何修改频度图的宽度 1.4 hist图的一个特…

项目二十三:电阻测量(需要简单的外围检测电路,将电阻转换为电压)测量100,1k,4.7k,10k,20k的电阻阻值,由数码管显示。要求测试误差 <10%

资料查找: 01 方案选择 使用单片机测量电阻有多种方法,以下是一些常见的方法及其原理: 串联分压法(ADC) 原理:根据串联电路的分压原理,通过测量已知电阻和待测电阻上的电压,计算出…