Neural Collaborative Filtering

  • 简述
  • 矩阵分解(MF)
  • NCF
    • 1.GMF 广义矩阵分解
    • 2.MLP(多层感知机)
    • 3.NeuMF
  • 实验

简述

这篇论文是何向南博士所写
论文地址:http://www.comp.nus.edu.sg/~xiangnan/papers/ncf.pdf
翻译链接:https://www.cnblogs.com/HolyShine/p/6728999.html

本文主要讨论隐式反馈协同过滤。先说明了传统MF方法的局限性,然后提出了一种通用框架NCF并提出了三种实现方法(GMF、MLP、NeuMF)。之后从三个角度对本文提出的方法进行实验

矩阵分解(MF)


MF模型是用户和项目的潜在因素的双向互动,它假设潜在空间的每一维都是相互独立的并且用相同的权重将它们线性结合。因此,MF可视为隐向量(latent factor)的线性模型。

(a)是user-item交互矩阵,(b)是用户的隐式空间,论文中强调了两点来理解这张图片:
1)MF将user和item分布到同样的隐式空间中,那么两个用户之间的相似性也可以用二者在隐式空间中的向量夹角来确定。
2)使用Jaccard系数来作为真实的用户相似性。
通过MF计算的相似性与Jaccard系数计算的相似性也可以用来评判MF的性能。

NCF



这张图包含了三种方式分别为:

1.GMF 广义矩阵分解

在图中的GMF layer
PTvUu 表示用户的潜在向量 pu ,QTvIi 表示项目的潜在向量 qi ,其中 ⊙ 表示向量的逐元素乘积。我们定义第一层神经CF层的映射函数为 将向量映射到输出层,aout 和 h 分别表示输出层的激活函数和连接权

2.MLP(多层感知机)

也就是图中的右边MLP layer

简单地对向量的连接不足以说明用户和项目之间的潜在特征,这对协同过滤建模来说是不够的。
为了解决这个问题,我们提出在向量连接上增加隐藏层,使用标准的MLP(多层感知机)学习用户和项目潜在特征之间的相互作用。在这个意义上,我们可以赋予模型高水平的灵活性和非线性建模能力,而不是GMF(广义矩阵分解)那样的简单使用逐元素相乘的内积来描述用户和项目之间的潜在交互特征。更确切地说,我们的NCF框架下的MLP模型定义为

3.NeuMF

这种方法结合了GMF和MLP,使他们共享相同的嵌入层(Embedding layer),然后再结合它们分别对相互作用的函数输出。

为了使得融合模型具有更大的灵活性,我们允许GMF和MLP学习独立的嵌入,并结合两种模型通过连接他们最后的隐层输出。

实验

QR1 我们提出的NCF方法是否胜过state-of-art的隐性协同过滤方法?
QR2 我们提出的优化框架(消极样本抽样的log loss)怎样为推荐系统服务?
QR3 更深的隐藏单元是不是有助于对用户项目交互 数据的学习?
从以上三个角度进行实验。
数据集:
MovieLens4和 Pinterest
Baselines,论文将NCF方法与下列方法进行了比较:ItemPop,ItemKNN,BPR,eALS。
实验结果见论文。

神经协同过滤Neural Collaborative Filtering(NCF)相关推荐

  1. 论文笔记:Neural Collaborative Filtering(NCF)

    前言 论文链接:https://arxiv.org/abs/1708.05031 github:https://github.com/yihong-chen/neural-collaborative- ...

  2. 协同过滤(Collaborative Filtering):UserCF and Item CF

    具体的学习资料可以参考王喆老师的<深度学习推荐系统>,已经梳理好了知识体系,我也将按照这个路线再次梳理一遍,同时做一些拓展和加深理解 一.前言 系统过滤曾是多年前推荐系统领域的应用最广泛的 ...

  3. 基于用户的协同过滤(user-based collaborative filtering)

    姓名:wagsyang  日期:星期四, 08. 十二月 2016 03:25下午 简介 本文是集体智慧编程一书的学习笔记. 一个协作型过滤算法通常是对一大群人进行搜索,并从中找出与我们品味相近的一小 ...

  4. Neural Collaborative Filtering(NCF) 学习笔记

    前置知识: 矩阵分解MF: 把user–item交互矩阵分为两个子矩阵,用两个子矩阵相乘来重构关联矩阵,优化目标是使重构矩阵和真实矩阵之间的误差最小.常用的损失函数是均方误差.通过这种方式得到二者的向 ...

  5. 个性化排序的神经协同过滤

    个性化排序的神经协同过滤 Neural Collaborative Filtering for Personalized Ranking 这一部分将超越显式反馈,介绍神经协作过滤(NCF)框架,用于推 ...

  6. Neural Collaborative Filtering【论文笔记】

    文章目录 1 文章为了解决什么问题? 2 文章提出了什么方法? 3 模型架构以及原理? 3.1 推荐问题基本描述 3.2 矩阵分解(Matrix Factorization, MF) 3.3 NCF通 ...

  7. 【科研导向】Neural Collaborative Filtering 神经协同过滤 <论文理解代码分析>

    Neural Collaborative Filtering--WWW'17 文章简介 一.摘要解析 二.技术要点 三.实验部分 代码解析 一.模型构建 二.难点问题 未来展望 文章简介 该文由何向南 ...

  8. FedNCF:Federated Neural Collaborative Filtering | 联邦神经协同过滤

    论文信息 标题:FedNCF: Federated Neural Collaborative Filtering 作者:Vasileios Perifanis ∗ ^* ∗, Pavlos S. Ef ...

  9. 【科研导向】Outer Product-based Neural Collaborative Filtering (ConvNCF)基于外积的神经协同过滤<论文理解代码分析>

    Outer Product-based Neural Collaborative Filtering--IJCAI'18 文章简介 一.摘要解析 二.技术要点 三.实验部分 代码解析 一.模型构建 二 ...

最新文章

  1. sed及awk显示指定行内容
  2. 能解决80%故障的排查思路
  3. ARP的超时重新请求
  4. 关于电脑的几十个单词及其缩写
  5. 批量删除Excel文档中的超链接
  6. spring条件注解有哪些_Spring4有条件
  7. 2021 Pycharm汉化教程,两种方法,带图讲解,简洁明了
  8. Asterisk 对VoiceXML 及CSTA的支持
  9. PyTest 生成多种格式的 测试报告 report
  10. 在vs2013下利用vb.net简单使用WebService实例
  11. 哈夫曼编码原理分析及代码实现(有注释)
  12. 三菱plc pwm指令_三菱PLC高速处理指令编程(新手教学)
  13. Birt分类汇总报表(CUBES)空值转换为0
  14. 安卓Web Service实现天气预报功能
  15. 如何批量将word转换成excel表格
  16. 华为官方模拟器eNSP_B500高速网盘下载——带CE系统
  17. Windows开启IIS服务器,并发布网站
  18. 第1章第7节:如何通过大纲级别批量创建幻灯片 [PowerPoint精美幻灯片实战教程]
  19. 通过“microbenchmark”解谜GPU的微架构
  20. 【ROS】将odom里程计数据转换为path路径消息

热门文章

  1. js 第1步:随机生成json对象,格式为:“[[{“text“:XXXX},{“text“:XXXX}],[{“text“:XXXX},{“text“:XXXX},{“text“:XXXX}]]“
  2. Request 详解
  3. R语言简单的频数统计图
  4. Ubuntu+Pytorch开发入门整理——环境搭建
  5. JS——正则表达式(超详细)
  6. 竞远安全冲刺创业板:拟募资4亿 启元投资与云游软件是股东
  7. 在类树莓派的ARM开发板上组建大数据集群
  8. 一个公开了源码的Android UI 设计器,很好很强大,不知道的可以看看
  9. 循环神经网络:循环神经网络
  10. Knockout绑定语法