论文笔记 : NCF( Neural Collaborative Filtering)
ABSTRACT
主要点为用MLP来替换传统CF算法中的内积操作来表示用户和物品之间的交互关系.
INTRODUCTION
NeuCF设计了一个基于神经网络结构的CF模型.文章使用的数据为隐式数据,想较于显性数据,implicit feedback更容易获取但比较难处理.文章的主要贡献有以下三点:
(1) 使用神经网络结构对用户以及物品的latent features进行建模,设计了一个通用的NCF框架.
(2) 文章证明了MF是NCF的一个特例,使用MLP赋予NCF获取高阶非线性交互的能力.
(3) 文章对两个真实数据集进行了大量实验,以证明我们的NCF方法的有效性以及深度学习协同过滤的前景。
PRELIMINARIES
隐式数据的描述参照DeepCF中implicit feedback的描述.目标函数的选择有以下两类:
(1) pointwise learning.使用回归框架来计算预测值$\hat{y}_{ui}$以及真实值$y_{ui}$之间的误差.对于隐性反馈的处理,有两种方案:把所有未观测数据当作负样本;从未观测数据中进行负采样获取负样本.
(2) pairwise learning. pairwise核心思想是有用户对有观测的数据(产生过行为的数据)偏好度高与未观测数据.因此pariwise loss是最大化用户产生过行为的物品预测值$\hat{y}_{ui}$以及用户没有产生过行为的物品的预测值$\hat{y}_{uj}$.
使用神经网络来预测的NCF具备pointwise and pairwise learning的特性.
MF的详细介绍点这里,MF的主要局限性在于其使用线性的方法结合用户和物品的latent factor,下图举例论证了该观点:
有学者尝试增加MF隐因的个数来提高其表达能力,这么做会影响MF的泛化能力.
NEURAL COLLABORATIVE FILTERING
流程图如下所示:
文章仅考虑不考虑辅助信息的情况,对于后续可能产生的冷启动问题,可以通过添加辅助信息来解决. hidden layerX的维度决定了模型的容量,模型的预测公式如下:
其中$P\in\Re^{M{\times}K},Q\in\Re^{N{\times}K}$表示的是users以及items的latent factor,$\theta_f$为函数f的参数.
NCF学习问题 文章使用pointwise的方案来计算损失,对应的损失函数如下:
平方损失可以假设观测值是从高斯分布采样出来的,但这假设在implicit data不太行的通. 这里用一个概率的方式来描述这个implicit feedback,$y_{ui}$为用户u与物品i有关系的概率,在上述假设的前提下,模型的似然函数如下:
对应的损失函数如下所示:
这部分的记号和DeepCF中的类似,处理的一个大致的思想也类似,不多说了.(这里负样本的获取是从未观测数据集合从采样而来,采样的比例是一个超参数)
GMF(Generalized Matrix Factorization)是MF在NCF的一个扩展,定义user latent vector $P_u$为${P^T}{V_{u}^{U}}$, item latent vector$q_i$为$Q^T{V_{i}^l}$
定义第一个neural CF layer为:
这里$\odot$表示向量的追元素乘积(不是内积),输出层如下:
文章中设定$a_{out}$为sigmoid函数learns h from data with the log loss.当$a_{out},{h}$分别为激活函数以及输出层边的权重,当$a_out$为实体函数,$h$为值全为1的向量的时候,GMF就退化成朴素的MF.
MLP 结构的描述和DeepCF中类似,文章MLP的激活函数选择的是RELU主要考虑的是函数的饱和性问题,以及RELU激活函数比较适合稀疏的数据.(留个坑)在网络结构的设计上,文章遵循通用的塔形结构(输入层有较多神经元,从输入层到输出层神经元个数逐渐减少).这么做的前提是高层次的较少数的神经元能够从数据中学到较为抽象的数据.
GMF以及MLP的融合
GMF如果和MLP共享embedding layer的话会限制embedding layer的表达能力(两者对embedding layer起码size要求不一样).论文中GMF以及MLP有着独有的embedding layer.通过对两个模型最后的隐层级联来对两个模型进行融合,公式如下所示:
p,q对应user,item的latent factor.通过融合使得NeuCF即有GMF的线性表达能力也有MLP的非线性表达能力.模型的概念图如下所示:
论文笔记 : NCF( Neural Collaborative Filtering)的更多相关文章
- 论文笔记系列-Neural Network Search :A Survey
论文笔记系列-Neural Network Search :A Survey 论文 笔记 NAS automl survey review reinforcement learning Bayesia ...
- 【RS】:论文《Neural Collaborative Filtering》的思路及模型框架
[论文的思路] NCF 框架如上: 1.输入层:首先将输入的user.item表示为二值化的稀疏向量(用one-hot encoding) 2.嵌入层(embedding):将稀疏表示映射为稠密向量( ...
- 论文笔记系列-Neural Architecture Search With Reinforcement Learning
摘要 神经网络在多个领域都取得了不错的成绩,但是神经网络的合理设计却是比较困难的.在本篇论文中,作者使用 递归网络去省城神经网络的模型描述,并且使用 增强学习训练RNN,以使得生成得到的模型在验证集上 ...
- 阅读笔记:Item-based Collaborative Filtering Recommendation Algorithms
概要: 推荐系统通过信息获取技术解决在线的个人的消息.产品或者服务的推荐问题.这些系统,特别是基于k临近协同过滤算法,在网络上取得了广泛的成功.可用信息和访问人数的巨大增加成了推荐系统一个难题.基于商 ...
- 论文笔记: Deep Learning based Recommender System: A Survey and New Perspectives
(聊两句,突然记起来以前一个学长说的看论文要能够把论文的亮点挖掘出来,合理的进行概括23333) 传统的推荐系统方法获取的user-item关系并不能获取其中非线性以及非平凡的信息,获取非线性以及非平 ...
- 【翻译】Neural Collaborative Filtering--神经协同过滤
[说明] 本文翻译自新加坡国立大学何向南博士 et al.发布在<World Wide Web>(2017)上的一篇论文<Neural Collaborative Filtering ...
- 【论文笔记】SamWalker: Social Recommendation with Informative Sampling Strategy
SamWalker: Social Recommendation with Informative Sampling Strategy Authors: Jiawei Chen, Can Wang, ...
- 【论文笔记】 Denoising Implicit Feedback for Recommendation
Denoising Implicit Feedback for Recommendation Authors: 王文杰,冯福利,何向南,聂礼强,蔡达成 WSDM'21 新加坡国立大学,中国科学技术大学 ...
- 【论文笔记】Malware Detection with Deep Neural Network Using Process Behavior
[论文笔记]Malware Detection with Deep Neural Network Using Process Behavior 论文基本信息 会议: IEEE(2016 IEEE 40 ...
随机推荐
- centos7 安装 bugfree3
. 安装apache yum install httpd . 安装mysql wget -i -c http://dev.mysql.com/get/mysql57-community-release ...
- 转载:关于思科交换机、路由器如何关闭telnet 开启ssh服务
等保测评要求: 必须关闭telnet服务,开启ssh服务 即用ssh方式登录网络设备,而不允许用telnet. 输入密码.en 再次输入密码.sh run 这些常规动作就不再赘述. 1.关闭telne ...
- Mybatis27题
1.什么是Mybatis? Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动.创建连接.创建statement等繁杂 ...
- 冰多多团队-第五次Scrum会议
冰多多团队-第五次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 zpj 部分Action整合, 接入语音接口,整合项目解决兼容性问题 ASR bug修复 牛雅哲 跑通了科大讯飞语法识别的 ...
- wordpress 本地环境安装
1. 下载xmapp 2. 安装mysql 3. 启动xmapp的数据库与Apache,通常无法启动原因. mac的先关闭自己的数据库,系统偏好设置-MySQL Apache的端口默认是80,一般会被 ...
- python skimage图像处理(二)
python skimage图像处理(二) This blog is from: https://www.jianshu.com/p/66e6261f0279 图像简单滤波 对图像进行滤波,可以有两 ...
- List和数组的互转
list转数组: /要转换的list集合 List<String> testList = new ArrayList<String>(){{add("aa" ...
- FreeSWITCH视频直播
大家都知道,如今,视频直播比较火啊. 今天,在FreeSWITCH精英群里分享了FreeSWITCH做视频直播相关的技术. 首先,要做直播就得有好机器.笔者买了一台阿里云的主机,买的是按量付费的,4核 ...
- 用GEOquery从GEO数据库下载数据--转载
https://www.plob.org/article/9969.html Gene Expression Omnibus database (GEO)是由NCBI负责维护的一个数据库,设计初衷是为 ...
- PHP 动态输出 svgz 格式图片
使用PHP动态生成SVGZ图片(gzip压缩的SVG) 经测试SVG的动画性能很差,简单的动画CPU都能占到 30%左右. 可能的用途: 动态天气图片 访问统计计数图片 文字验证生成 动态头像 静态外 ...