NeuMF推荐算法

背景

随着深度学习的飞速发展,深度学习已经渗透到推荐系统领域。深度学习相比于传统机器学习算法有自动发现特征,模型能力强等多种优势。深度学习往往需要大量的数据训练才能得到较好的结果,推荐系统正是一种基于大数据的应用,其往往有能满足深度学习的海量数据。

模型

NeuMF是一个典型的基于深度学习推荐算法。它结合了传统矩阵分解和多层感知机,可以同时抽取低维和高维的特征,具有不错的推荐效果。

NeuMF模型如上图所示。左半部分是矩阵分解,右半部分是多层感知机。接下来分别介绍这两个部分。

左边的矩阵分解部分名称叫GMF(Generalized Matrix Factorization),即通用矩阵分解。其输入是用户id和物品id,并经过一个嵌入层,将其转化成用户特征矢量和物品特征矢量。中间部分是一个矩阵分解公式,将用户特征矢量和物品特征矢量对位相乘,得到GMF层。

右边的深度神经网络部分叫MLP(Multi-Layer Perceptron),即多层感知机。其输入同样也是用户id和物品id经过嵌入后得到对应的特征矢量。中间部分是多个全连接层串联起来并对每层的输出加上一个激活函数(relu),这样可以学习非线性关系。最后一层是MPL层。

最后NeuMF模型将GMF层和MPL层进行连接(concat),并经过最后一个激活函数为sigmoid的全连接层,输出一个0到1之间的推荐值。

训练

在论文Neural Collaborative Filtering中,提出了一种预训练的方式。首先单独训练GMF模型和MLP模型,接下来直接用训练好的参数直接初始化NeuMF模型再进行一轮训练。这种预训练的方式在实验中已经被验证,可以得到比直接训练NeuMF模型的方式更好的推荐质量。

实现

tensroflow2代码实现:https://github.com/SSSxCCC/Recommender-System

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SSSxCCC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值