浅析神经协同过滤NCF在推荐系统的应用

2020 年 10 月 17 日 凡人机器学习


NCF在推荐领域应用背景


CF,也就是协同过滤,在推荐领域有极其广泛的应用,应该没有谁的智能推荐系统是没用到过CF的。CF其实就是挖掘user和item的交互关系,然后生成I2I或者U2I表示向量。传统的CF从数学角度上还是偏行为统计计算的,没有用到很复杂的网络。因为深度学习很火,也是有一些关于Neural Collaborative Filtering的工作。今天介绍一下最近看的叫《Neural Collaborative Filtering》这篇论文。也有一个对应的开源项目,地址:

https://github.com/hexiangnan/neural_collaborative_filtering


有兴趣的做推荐相关工作的同学,可以在自己的工作中用用。


隐式反馈vs显式反馈


其实把任何算法前面加个N,改成neural某某都是比较好发paper或者取得效果的。这篇文章比较有意思的一个点我觉得不在于将GMF或者MLP加在CF中,而是为CF构建了一套针对隐式反馈的建模理论。


说到这里先要提下隐式反馈和显式反馈。首先推荐业务一般都是按照有监督学习方式建模,也就是说要构建特征和目标列。在目标列的选择上一般会认为购买、点击、收藏这种行为是正样本,标记成label=1,其它行为全都是0。


但是这其中有一些问题,有的时候点击了的不一定是用户真正喜欢的,没点击的不一定是用户不喜欢的。


在虎扑上经常看到这样的问题:


以上9个女生哪个最好看,大部分人会给出最好看的那个选择,但是并不表明他觉得剩下8个不好看。如果只以他觉得最好看的那个女生作为正样本去构建他的审美模型,肯定是不能完全覆盖用户的兴趣,这是显式反馈的建模机制。


对应以上的问题,隐式反馈是另一种建模方案,在隐式反馈中只要用户去看了某个女生,就把这个女生当成正样本,不看的当成负样本,这样就减少了构建样本时的误差(毕竟不感兴趣的也不会去看)。也就是说隐式反馈更多地是算一个概率,user和item是否会发生交互。


NCF网络结构



网络结构如上,底层输入是user和item的one-hot编码结果。在网络训练层使用了两种网络结构,一种是GMF(Geberakuzed Matrix Factorization),另一种是MLP(Multi-Layer perceptron)。通过将GMF和MLP的输出特征结合,最终通过NeuMF Layer去产出user和item交互的概率。就不展开解释了,具体推导见论文。


总之,通过NCF可以比较快速的user和item的潜在交互概率,可以作为推荐系统中的一个重要的召回链路输入。


参考文献:

[1]https://blog.csdn.net/xxiaobaib/article/details/99116755

登录查看更多
15

相关内容

协同过滤(英语:Collaborative Filtering),简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人透过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。协同过滤又可分为评比(rating)或者群体过滤(social filtering)。其后成为电子商务当中很重要的一环,即根据某顾客以往的购买行为以及从具有相似购买行为的顾客群的购买行为去推荐这个顾客其“可能喜欢的品项”,也就是借由社群的喜好提供个人化的信息、商品等的推荐服务。除了推荐之外,近年来也发展出数学运算让系统自动计算喜好的强弱进而去芜存菁使得过滤的内容更有依据,也许不是百分之百完全准确,但由于加入了强弱的评比让这个概念的应用更为广泛,除了电子商务之外尚有信息检索领域、网络个人影音柜、个人书架等的应用等。
应用知识图谱的推荐方法与系统
专知会员服务
109+阅读 · 2020年11月23日
【KDD2020】 解决基于图神经网络的会话推荐中的信息损失
专知会员服务
31+阅读 · 2020年10月29日
【KDD2020】 半监督迁移协同过滤推荐
专知会员服务
19+阅读 · 2020年10月21日
【CIKM2020】学习个性化网络搜索会话
专知会员服务
14+阅读 · 2020年9月20日
个性化推荐系统技术进展
专知会员服务
65+阅读 · 2020年8月15日
【SIGIR 2020】 基于协同注意力机制的知识增强推荐模型
专知会员服务
88+阅读 · 2020年7月23日
【反馈循环自编码器】FEEDBACK RECURRENT AUTOENCODER
专知会员服务
22+阅读 · 2020年1月28日
专知会员服务
85+阅读 · 2020年1月20日
CFGAN:基于生成对抗网络的协同过滤框架
推荐系统之矩阵分解家族
图与推荐
13+阅读 · 2020年3月28日
“推荐系统”加上“图神经网络”
机器学习与推荐算法
12+阅读 · 2020年3月23日
【推荐系统】16篇最新推荐系统论文送你
深度学习自然语言处理
3+阅读 · 2020年3月7日
推荐系统中的矩阵分解技术
AINLP
9+阅读 · 2018年12月24日
推荐系统概述
Python开发者
11+阅读 · 2018年9月27日
深度学习在推荐系统上的应用
AI研习社
7+阅读 · 2018年1月24日
推荐系统经典技术:矩阵分解
LibRec智能推荐
8+阅读 · 2017年10月10日
Arxiv
8+阅读 · 2019年5月20日
Arxiv
10+阅读 · 2019年2月19日
Next Item Recommendation with Self-Attention
Arxiv
5+阅读 · 2018年8月25日
Arxiv
6+阅读 · 2018年5月18日
Arxiv
9+阅读 · 2018年1月30日
VIP会员
相关VIP内容
应用知识图谱的推荐方法与系统
专知会员服务
109+阅读 · 2020年11月23日
【KDD2020】 解决基于图神经网络的会话推荐中的信息损失
专知会员服务
31+阅读 · 2020年10月29日
【KDD2020】 半监督迁移协同过滤推荐
专知会员服务
19+阅读 · 2020年10月21日
【CIKM2020】学习个性化网络搜索会话
专知会员服务
14+阅读 · 2020年9月20日
个性化推荐系统技术进展
专知会员服务
65+阅读 · 2020年8月15日
【SIGIR 2020】 基于协同注意力机制的知识增强推荐模型
专知会员服务
88+阅读 · 2020年7月23日
【反馈循环自编码器】FEEDBACK RECURRENT AUTOENCODER
专知会员服务
22+阅读 · 2020年1月28日
专知会员服务
85+阅读 · 2020年1月20日
相关资讯
CFGAN:基于生成对抗网络的协同过滤框架
推荐系统之矩阵分解家族
图与推荐
13+阅读 · 2020年3月28日
“推荐系统”加上“图神经网络”
机器学习与推荐算法
12+阅读 · 2020年3月23日
【推荐系统】16篇最新推荐系统论文送你
深度学习自然语言处理
3+阅读 · 2020年3月7日
推荐系统中的矩阵分解技术
AINLP
9+阅读 · 2018年12月24日
推荐系统概述
Python开发者
11+阅读 · 2018年9月27日
深度学习在推荐系统上的应用
AI研习社
7+阅读 · 2018年1月24日
推荐系统经典技术:矩阵分解
LibRec智能推荐
8+阅读 · 2017年10月10日
Top
微信扫码咨询专知VIP会员