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

将一段交互序列嵌入到一个以时间为纵轴的平面空间中形成“一张图”后,基于卷积序列嵌入的推荐(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.mzph.cn/pingmian/63628.shtml

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

相关文章

ubuntu下的chattts 学习5:Example: self introduction

代码 import ChatTTS import torch import torchaudiochat ChatTTS.Chat() chat.load(compileFalse) # Set to True for better performance ################################### inputs_en """ chat T T S is a text to speech model designed for dialogu…

【银河麒麟高级服务器操作系统】修改容器中journal服务日志存储位置无效—分析及解决方案

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 服务器环境以及配置 【机型】 整机类型/架构&am…

HTML:表格重点

用表格就用table caption为该表上部信息,用来说明表的作用 thead为表头主要信息,效果加粗 tbody为表格中的主体内容 tr是 table row 表格的行 td是table data th是table heading表格标题 ,一般表格第一行的数据都是table heading

[创业之路-187]:《华为战略管理法-DSTE实战体系》-1-从UTStarcom的发展历程,如何辩证的看企业初期发展太顺利中的危机

目录 一、UTStarcom(UT斯达康)的发展历程 1、创立与初期发展 2、快速成长与上市 3、技术创新与业务拓展 4、战略调整与持续发展 二、从UTStarcom的发展历程,如何辩证的看企业初期发展太顺利中的危机 1、企业初期发展的顺利表现 2、顺…

ubuntu系统生成SSL证书配置https

自签名【Lets Encrypt】的测试证书,有效期三个月。 第一步:安装acme,如果没有安装git,需要提前安装 下载came资源 git clone https://github.com/Neilpang/acme.sh.git 无法访问,可以试用gitee的资源,安…

CentOS 7 环境下常见的操作和配置

目录 1. CentOS 7 中的 vsftpd 配置与使用 安装与启动 vsftpd 配置 vsftpd(/etc/vsftpd/vsftpd.conf) 常见命令 2. 使用 yum 包管理器 3. 安全性与防火墙配置 开放端口 4. 使用 systemd 管理服务 5. SELinux 配置 查看 SELinux 状态 临时禁用…

《AI教学能力:开启教育新纪元》

一、摘要 AI 在教育领域的应用日益广泛,对教学能力产生了深远影响。本文将深入探讨 AI 教学能力的核心技术、实际应用、教学模式与策略、全球实践以及未来趋势,为教育的现代化发展提供参考。 摘要: AI 在教育领域的应用及其对教学能力的影响…

【信息系统项目管理师】第10章:项目进度管理过程详解

文章目录 一、规划进度管理1、输入2、工具与技术3、输出 二、定义活动1、输入2、工具与技术3、输出 三、排列活动顺序1、输入2、工具与技术3、输出 四、估算活动持续时间1、输入2、工具与技术3、输出 五、制订进度计划1、输入2、工具与技术3、输出 六、控制进度1、输入2、工具与…

域渗透入门靶机之HTB-Cicada

easy难度的windows靶机 信息收集 端口探测 nmap -sT --min-rate 10000 -p- 10.10.11.35 -oA ./port 发现开放了53,88,389等端口,推测为域控 进一步信息收集,对爆破的端口进行更加详细的扫描 小tips:对于众多的端口&…

pgsql中如何设计维度表、度量表、事实表、大宽表

在 PostgreSQL 中设计维度表、度量表、事实表和大宽表需要遵循数据仓库建模的最佳实践。以下是如何设计这些表的详细步骤,包括建模的结构、示例 SQL 代码以及注意事项。 1. 维度表 (Dimension Table) 设计步骤: 确定维度:识别需要的维度&am…

单片机:实现贪吃蛇(附带源码)

单片机实现贪吃蛇游戏是一个较为复杂的项目,涉及到硬件控制、程序设计、图形显示、输入处理等方面。这里我们以基于8051单片机为例,详细介绍如何通过硬件和软件来实现一个简单的贪吃蛇游戏。为了让解释更加清晰,我们将逐步分析贪吃蛇的游戏逻…

zerotier实现内网穿透(访问内网服务器)

moo 内网穿透工具 实用工具:zerotier 目录 内网穿透工具 Windows下zerotier安装 ubuntu系统下的zerotier安装 使用moon加速 Windows下zerotier安装 有了网络之后,会给你一个网络id,这个网络id是非常重要的,其它设备要加入…

v-for遍历多个el-popover;el-popover通过visible控制显隐;点击其他隐藏el-popover

场景&#xff1a;el-popover通过visible控制显隐&#xff1b;同时el-popover是遍历生成的多个。 原文档的使用visible后就不能点击其他地方使其隐藏 主要监听全局点击事件即可 <template><div><template v-for"(item,index) in arr" :key"index&…

Scala的隐式转换规则

一&#xff0c; scala中的隐式转换规则 1.显式定义规则 2.无歧在同一作用域不可以有歧义&#xff0c;即当有两个变量定义的类型相同时&#xff0c;只能保留一个。&#xff09; 3.定义域规则 4.不能多次转换规则&#xff08;从源类型到目的地类型中间是一次性转换的 &#…

Robust Depth Enhancement via Polarization Prompt Fusion Tuning

paper&#xff1a;论文地址 code&#xff1a;github项目地址 今天给大家分享一篇2024CVPR上的文章&#xff0c;文章是用偏振做提示学习&#xff0c;做深度估计的。模型架构图如下 这篇博客不是讲这篇论文的内容&#xff0c;感兴趣的自己去看paper&#xff0c;主要是分享环境&…

vue3学习——Attribute 绑定(v-bind)

在 Vue 中&#xff0c;mustache 语法 (即双大括号) 只能用于文本插值。为了给 attribute 绑定一个动态值&#xff0c;需要使用 v-bind 指令&#xff1a; <div v-bind:id"dynamicId"></div> 指令是由 v- 开头的一种特殊 attribute。它们是 Vue 模板语法…

TCP 2

文章目录 Tcp状态三次握手四次挥手理解TIME WAIT状态 如上就是TCP连接管理部分 流量控制滑动窗口快重传 延迟应答原理 捎带应答总结TCP拥塞控制拥塞控制的策略 -- 每台识别主机拥塞的机器都要做 面向字节流 Tcp状态 建立连接时 断开连接时 三次握手 tcp三次握手时我们想看看…

帝可得项目redis连接不上

首先我一切配置都没问题&#xff1a; 1. redis-server启动 2. 可视化界面显示redis已连接 原因&#xff1a; 不知道是不是因为不同版本的问题(因为我之前的sky就没这个问题) 这里把password改成auth就可以了

(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验二----网络分析(超超超详细!!!)

相信实验一大家已经完成了&#xff0c;对Arcgis已进一步熟悉了&#xff0c;现在开启第二个实验 ArcMap实验--网络分析 目录 ArcMap实验--网络分析 1.1 网络分析介绍 1.2 实验内容及目的 1.2.1 实验内容 1.2.2 实验目的 2.2 实验方案 2.3 实验流程 2.3.1 实验准备 2.3.2 空间校正…

利用Python结合Web技术实现图像引擎

本篇指南将教你如何使用Python和Selenium库来构建一个自动化图像引擎&#xff0c;该引擎能够根据指定参数自动截取网页快照&#xff0c;并将生成的图片存储到云端。此工具还可以通过消息队列接收任务指令&#xff0c;非常适合需要批量处理网页截图的应用场景。 1. 准备环境 确…