GMF,它应用了一个线性内核来模拟潜在的特征交互; MLP,使用非线性内核从数据中学习交互函数。 接下来的问题是:我们如何能够在NCF框架下融合GMF和MLP,使他们能够相互强化,以更好地对复杂的用户-项目交互建模? 为了使得融合模型具有更大的灵活性,我们允许GMF和MLP学习独立的嵌入(embedding)[ instead of 让GMF和MLP共享...
通过用神经结构代替内积这可以从数据中学习任意函数,据此我们提出一种通用框架,我们称它为NCF(Neural network-based Collaborative Filtering,基于神经网络的协同过滤)。NCF是一种通用的框架,它可以表达和推广矩阵分解。为了提升NFC的非线性建模能力,我们提出了使用多层感知机去学习用户-项目之间交互函数(interaction function...
GMF,它应用了一个线性内核来模拟潜在的特征交互; MLP,使用非线性内核从数据中学习交互函数。 接下来的问题是:我们如何能够在NCF框架下融合GMF和MLP,使他们能够相互强化,以更好地对复杂的用户-项目交互建模? 为了使得融合模型具有更大的灵活性,我们允许GMF和MLP学习独立的嵌入(embedding)[ instead of 让GMF和MLP共享...
并且在Neural NCF层的设计上,作者根据经验采用了塔式结构,即最底层最宽,往上一次减少隐藏单元的个数,本文中是依次为下一层神经元个数的0.5。 那上面介绍的两种实现方式如何选择呢?有没有一种方式能将两种统一起来呢? 答案是肯定的!!! 作者通过图2的结构将GMF和MLP两种方式融合在一起。 图2 在图2结构中,首先...
通过将内积运算替换为可以从数据中学习任意函数的神经体系结构,本文提出了一个名为NCF(Neural network based Collaborative Filtering)的通用框架。 NCF是通用的,可以在其框架下表示和推广矩阵分解。 为了使NCF建模具有非线性效果,我们提出利用多层感知器来学习用户与物品的交互函数。 在两个真实世界的数据集上进行的大量...
user和item的embedding向上进入全连接的神经网络结构,称为neural collaborative filtering layers,将latent vector映射成预测的score。(对于不同的问题,这里的每一层layer也是可以定制的) layer X的维度决定了模型的capability。 通过最小化y^u,i和yu,i的pointwise loss来训练模型。(文中提到另一种训练模型的方法,使用...
在这项工作中,我们在 NCF 下实现了 MF 的通用版本,它使用 sigmoid 函数 σ(x) = 1/(1 + e−x) 作为 aout,并从具有对数损失的数据中学习 h(第 3.1.1 节)。我们将其称为 GMF,是广义矩阵分解的缩写。 多层感知器(MLP 由于NCF采用两种路径来对用户和项目进行建模,因此通过连接两种路径的特征来组合它们...
3、NCF 论文先提出了一种通用框架: 针对这个通用框架,论文提出了三种不同的实现,三种实现可以用一张图来说明: image GMF: 上图中仅使用GMF layer,就得到了第一种实现方式GMF,GMF被称为广义矩阵分解,输出层的计算公式为: MLP: 上图中仅使用右侧的MLP Layers,就得到了第二种学习方式,通过多层神经网络来学习user...
我们提出了一种神经网络结构来建模用户和项目的潜在特征,并设计了一个基于神经网络的协同过滤通用框架NCF。 我们表明,MF可以解释为NCF的一种特化,并利用多层感知器赋予NCF建模高度的非线性。 我们在两个真实世界的数据集上进行了大量实验,以证明我们的NCF方法的有效性以及深度学习用于协同过滤的前景。
下面是一个通过keras画的模型结构图,为了更好的显示,数值特征和类别特征都只是选择了一小部分,画图的代码也在github中。 NCF 4.思考 如何用双塔结构实现NeuralCF? 5.参考资料 deepctr 论文原文 AI上推荐 之 NeuralCF与PNN模型(改变特征交叉方式) 论文笔记:Neural Collaborative Filtering(NCF) 谷歌双塔模型...