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

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

相关文章

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用