本文从模型的角度出发,分析通用框架NCF及其实例化后的GMF、MLP、NeuMF并对其实现协同过滤推荐过程中涉及的如对用户-项目交互的交互函数的学习及交互隐特征的建模的原理及作用机制进行简要概述。内容如下图所示:
首先,为了方便对各实例化模型进行分析,我们先形式化问题即将用户-项目交互矩阵定义为如公式所示。
在对神经协同过滤通用框架进行简要概述后,引入现有解决对包含隐式反馈的协同过滤的推荐系统中应用普遍的隐语义模型LFM中的常用基本技术,矩阵分解及其局限性。
神经协同过滤通用框架NCF
NCF框架实例化过程可概括为以下两点:
(1) 在中间的关键部分,神经协同过滤层,使用乘法层通过基本积(element-wise)替换原有传统的基于内积的矩阵分解方式或者使用深层神经网络多层感知机,然后加上激活函数实现线性或非线性建模,层与层之间通过上层(靠近输入层)作为下层(靠近输出层)的输入实现交互或隐特征的学习及建模。
(2) NCF框架中底层的输入层分别用两个特征向量来描述用户u和项目i,同时不使用具体的人和物的特征而是仅使用一个用户和一个项目作为下一层全连接层即嵌入层的输入特征向量。
我们采用如图所示的神经协同过滤层构成的框架通过不同的实例化方式来学习用户-项目间的交互函数或建模其交互的隐特征。
首先,NCF框架具体可分为两部分来说,(1)嵌入层与输入层;(2)神经协同过滤层。
(1)第一部分输入层到嵌入层如图所示:
其一,嵌入层为NCF框架中传入神经协同过滤层的最后一层的全连接层,而传入嵌入层的是经过独热编码的二值化稀疏向量。前者将后者的稀疏向量表示为稠密向量的这个过程类似于本文开头提及的LFM中的基于描述信息的用户或项目隐向量。
其二,经过稀疏性二值这类通用的特征表示使得我们更容易使用内容特征表示用户和项目,来缓解通常矩阵分解遇到的冷启动和可解释性不强的问题带来的影响。
其三,经过嵌入的输