推荐系统论文粗读记录【三】

2024-02-26 02:18

本文主要是介绍推荐系统论文粗读记录【三】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.【FNN】《Deep Learning over Multi-field Categorical Data: A Case Study on User Response Prediction》
作者: Weinan Zhang and Tianming Du and Jun Wang
发布时间: 2016-01
来源: arXiv:1601.02376
引用数: 367
地址: https://arxiv.org/abs/1601.02376
笔记: 本文提出使用FMs(因式分解机制)、RBMs(受限制玻尔兹曼机)、DAEs(降噪自动编码)进行特征转换,然后利用深度神经网络模型学习多类别特征交互信息,从而进行用户广告点击预测。本文介绍了两种模型:Factorisation Machine supported Neu- ral Network (FNN) 和Sampling-based Neural Network (SNN)。
FNN:如图所示,FNN的底层是FM,从上到下分别是输出层: y ^ = s i g m o i d ( W 3 l 2 + b 3 ) \hat y=sigmoid(W_3l_2+b_3) y^=sigmoid(W3l2+b3)其中 y ^ ∈ ( 0 , 1 ) \hat y \in (0,1) y^(0,1) l 2 l_2 l2是隐藏层的输出: l 2 = t a n h ( W 2 l 1 + b 2 ) l_2=tanh(W_2l_1+b_2) l2=tanh(W2l1+b2)隐藏层 l 1 l_1 l1 l 2 l_2 l2是一样的,它的输入 z z z是图中Dense Real Layer的输出: z = ( w 0 , z 1 , z 2 , . . . , z n ) z=(w_0,z_1,z_2,...,z_n) z=(w0,z1,z2,...,zn)其中 n n n表示类别field的数量, w 0 w_0 w0是全局的标量参数, z i z_i zi是第 i i i个类别field参数向量,是通过FM计算得到: z i = W 0 i ⋅ x [ s t a r t i : e n d i ] = ( w i , v i 1 , v i 2 , . . . , v i K , ) z_i=W^i_0·x[start_i:end_i]=(w_i,v_i^1,v_i^2,...,v_i^K,) zi=W0ix[starti:endi]=(wi,vi1,vi2,...,viK,)其中 s t a r t i 、 e n d i start_i、end_i startiendi是第 i i i个类别field中的特征开始和结束索引, W 0 i W_0^i W0i是通过FM训练得到的参数。
在这里插入图片描述
SNN:SNN和FNN不同的一点是底层由FM换成全连接网络: z = s i g m o i d ( W 0 x + b 0 ) z=sigmoid(W_0x+b_0) z=sigmoid(W0x+b0),如下图。
在这里插入图片描述

2.【PNN】《Product-based Neural Networks for User Response Prediction》
作者: Yanru Qu and Han Cai and Kan Ren and Weinan Zhang and Yong Yu and Ying Wen and Jun Wang
发布时间: 2016-11
来源: arXiv:1611.00144
引用数: 375
地址: https://arxiv.org/abs/1611.00144
**笔记:**PNN和FNN也大同小异,如下图。同样的,从上到下分别是输出层: y ^ = σ ( W 3 l 2 + b 3 ) \hat y=\sigma(W_3l_2+b_3) y^=σ(W3l2+b3) l 2 l_2 l2是隐藏层的输出: l 2 = r e l u ( W 2 l 1 + b 2 ) l_2=relu(W_2l_1+b_2) l2=relu(W2l1+b2)这里的隐藏层使用的是ReLU激活函数,而模型的底层使用的是张量的内积: A ⊙ B ≜ ∑ i , j A i , j B i , j A\odot B\triangleq \sum_{i,j}A_{i,j}B_{i,j} ABi,jAi,jBi,j l z 和 l p l_z和l_p lzlp的计算分别是: l z = ( l z 1 , l z 2 , . . . , l z D 1 ) , l z n = W z n ⊙ z l_z=(l_z^1,l_z^2,...,l_z^{D_1}),l_z^n=W_z^n\odot \mathbf{z} lz=(lz1,lz2,...,lzD1)lzn=Wznz l p = ( l p 1 , l p 2 , . . . , l p D 1 ) , l p n = W p n ⊙ p l_p=(l_p^1,l_p^2,...,l_p^{D_1}),l_p^n=W_p^n\odot \mathbf{p} lp=(lp1,lp2,...,lpD1)lpn=Wpnp其中 W z n 和 W p n W_z^n和W_p^n WznWpn是product layer中的权重。
在这里插入图片描述

3.【NCF】《Neural Collaborative Filtering》
作者: He, Xiangnan and Liao, Lizi and Zhang, Hanwang and Nie, Liqiang and Hu, Xia and Chua, Tat-Seng
发布时间: 2017-04
来源: International World Wide Web Conferences Steering Committee Proceedings of the 26th International Conference on World Wide Web
引用数: 1648
地址: https://doi.org/10.1145/3038912.3052569
笔记: 本文利用深度神经网络解决推荐系统中的协同过滤问题。通过深度神经网络替代张量内积,从数据中学习模型,提出使用多层感知机学习user-item交互信息。如下NCF架构图,输入层由用户 u u u和item i i i的特征向量 v u U 和 v i I \mathbf{v}_u^U和\mathbf{v}_i^I vuUviI构成,输入层的上一层是全连接层,将稀疏的特征向量映射成稠密的语义向量,再上一层则是NCF层,是一个多层神经网络。其输出是: y ^ u i = f ( P T v u U , Q T v i I ∣ P , Q , Θ f ) \hat y_{ui}=f(P^T\mathbf{v}_u^U,Q^T\mathbf{v}_i^I|P,Q,\Theta_f) y^ui=f(PTvuU,QTviIP,Q,Θf)其中 f ( P T v u U , Q T v i I ) = ϕ o u t ( ϕ X ( . . . ϕ 2 ( ϕ 1 ( P T v u U , Q T v i I ) ) . . . ) ) f(P^T\mathbf{v}_u^U,Q^T\mathbf{v}_i^I)=\phi_{out}(\phi_X(...\phi_2(\phi_1(P^T\mathbf{v}_u^U,Q^T\mathbf{v}_i^I))...)) f(PTvuU,QTviI)=ϕout(ϕX(...ϕ2(ϕ1(PTvuU,QTviI))...)) ϕ \phi ϕ表示各层的映射函数。NCF的目标函数: L = − ∑ ( u , i ∈ Y ∪ Y − ) y u i l o g y ^ u i + ( 1 − y u i ) l o g ( 1 − y ^ u i ) L=-\sum_{(u,i\in \mathcal{Y}\cup \mathcal{Y^-})}y_{ui}log\hat{y}_{ui}+(1-y_{ui})log(1-\hat y_{ui}) L=(u,iYY)yuilogy^ui+(1yui)log(1y^ui)
在这里插入图片描述

4.【DRN】《DRN: A deep reinforcement learning framework for news recommendation》
作者: Zheng, Guanjie and Zhang, Fuzheng and Zheng, Zihan and Xiang, Yang and Yuan, Nicholas Jing and Xie, Xing and Li, Zhenhui
发布时间: 2018-04
来源: Proceedings of the 2018 World Wide Web Conference
引用数: 376
地址: https://doi.org/10.1145/3178876.3185994
笔记: 本文研究之前的方法存在一些问题:1、仅仅根据当前的反馈(如点击率)进行建模;2、很少使用用户的反馈信息;3、现有方法都趋向于推荐相似的news给用户。文本提出使用基于DQN的强化学习框架进行新闻推荐,考虑了用户活跃度来提高推荐精确度。如下图为模型框架,网络训练通过离线方式利用user-news点击日志数据进行训练,线上推荐部分则如下:
PUSH:每个时间戳( t 1 , t 2 , t 3 , t 4 , t 5 , . . . t_1,t_2,t_3,t_4,t_5,... t1,t2,t3,t4,t5,...)中根据请求用户的特征和候选新闻生成一个top-K的新闻推荐列表,推荐列表的生成是通过当前模型的挖掘和novel item的探索生成的。
FEEDBACK:根据接收到推荐列表的用户的点击行为生成反馈信息
MINOR UPDATE:每个时间戳 t 1 t_1 t1,模型会根据用户、新闻列表、反馈的信息特征去比较推荐性能,并判断是否需要更新模型。
MAJOR UPDATE:一段时间之后(如 t 3 t_3 t3),模型会利用用户的反馈信息和存储的用户活跃行为信息更新网络。
整个推荐系统将不断重复上述过程。
在这里插入图片描述

5.【List-Wise】《Deep Reinforcement Learning for List-wise Recommendations》
作者: Xiangyu Zhao and L. Zhang and Zhuoye Ding and Dawei Yin and Yihong Eric Zhao and Jiliang Tang
发布时间: 2017-12
来源: arXiv:1801.00209
引用数: 103
地址: https://arxiv.org/abs/1801.00209
笔记:
在这里插入图片描述

这篇关于推荐系统论文粗读记录【三】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/747428

相关文章

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

基于Spring Boot 的小区人脸识别与出入记录管理系统功能

《基于SpringBoot的小区人脸识别与出入记录管理系统功能》文章介绍基于SpringBoot框架与百度AI人脸识别API的小区出入管理系统,实现自动识别、记录及查询功能,涵盖技术选型、数据模型... 目录系统功能概述技术栈选择核心依赖配置数据模型设计出入记录实体类出入记录查询表单出入记录 VO 类(用于

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻