推荐系统
原文网盘分享:链接:https://pan.baidu.com/s/1YyRKEY-5FlpcM1dkWQ1NTQ
提取码:k6xj
DELF: A Dual-Embedding based Deep Latent Factor Model for Recommendation 总结
Abstract
- 在各种推荐方法中,潜因子模型通常被认为是最先进的技术,其旨在学习user和item的嵌入以预测uesr-item偏好。
- 存在的问题
- 当将潜因子模型应用于隐式反馈的推荐时,嵌入的质量总是受到不充分的正反馈和噪声负反馈的影响。
- 受NSVD中基于交互的item来表示user的思想的启发,本文提出一种基于对偶嵌入的深度潜在因子模型DELF,用于隐式反馈的推荐。
- 除了为user学习单个嵌入之外,我们还从交互item的角度为每个user提供一个附加的嵌入。
Introduction
- 在各种协同过滤方法中,潜因子模型被广泛使用,并被认为是最先进的推荐解决方案。
- 潜因子模型通常在相同的潜在空间中用特征向量描述user和item,并基于相应的向量估计每个user-item偏好。
- 例如:矩阵分解(MF)直接计算user和item向量的内积作为偏好得分。
- 神经协同过滤(NCF)利用非线性函数来模拟user和item潜因子之间的相互作用。
- 早期的潜因子模型主要关注的是显式反馈,例如用户在所有item上的评分表达了用户的偏好,在这些研究工作中,推荐被公式化为评分预测问题,并且通过最小化预测和观察到的评分之间的误差来迭代更新user和item的嵌入。
- 问题:
- 在很多实际应用中难以获得显式评分,这促使推荐系统利用来自user的行为历史的更丰富的隐式反馈进行推荐。
- 一个重要的问题是:
- 一直以来,仅利用正反馈学习user和item的嵌入将导致严重的过拟合
- 当给出稀疏的负反馈时,如何为user和item学习适当的嵌入
- 解决:
- 将所有未观察到的user-item交互都作为负反馈
- 问题:由于并非所有未观察到的item都是真正的负反馈,因此解决方案可能会降低user和item嵌入的质量
- 将所有未观察到的user-item交互都作为负反馈
- 本文思路:
- 根据NSVD是根据user评价的item对user进行参数化。在NSVD中,user的嵌入由与user交互的所有item的嵌入确定。其不受负反馈的影响而且对user交互的数量更加鲁棒。
- 这激励我们根据用于user交互的item的特征向量来表示user,以便通过隐式反馈进行推荐。
- 此外,NSVD只是平均与其交互的item的嵌入来表示user,但不同的item可能对同一个user建模有不同的贡献,因此,我们结合了注意力机制来自动区分不同交互item的重要性。
- 并且可以通过聚合具有非均匀权重的item嵌入来计算基于item的user嵌入。同样,我们可以获得基于user的item嵌入,从user的角度来描述item。
- 总结:
- 本文提出了一种基于对偶嵌入的深度潜因子模型,命名为DELF,用于隐式反馈的推荐。
- 我们引入了一种基于注意力机制的神经方法来为每个user(相应的item)构建基于item的(基于user的)嵌入,它自动区分不同user和item的重要性。
- 然后,我们将这些嵌入与一个基本的嵌入相结合,使用深度神经网络架构建模非线性的user-item交互关系。 DELF的一个新尝试就是我们使用对偶嵌入来为每个user-item对学习四种深度交互,这使得DELF能够推广两种有原则的CF方法,即NCF和NSVD。
Preliminaries
- Rui = 1表示user u 和 item i之间有交互, Rui = 0表示没有观察到交互。
- Neural Collaborative Filtering
- 诸如矩阵因子分解(MF)的潜在因子模型通常用潜在特征的实值向量表示每个user/item。
- 我们分别用pu和pi表示user u和item i在K维潜在空间中的向量。 u和i之间的偏好得分Rui由pu和qi的内积计算。
- 内积运算线性地聚合成对潜在特征的乘法,这不足以捕获复杂的user-item交互。
- 因此使用更高级的神经协同过滤
- 其中X是神经网络中隐藏层的数量,⊕是向量的串联,Wl,bl和δl分别是第l层的权重矩阵,偏置向量和非线性激活函数。
- NSVD
- NSVD根据user评分的item对user进行建模。
- 形式上,每个item与两个潜在向量qi和yi相关联。
- 估计user u对item i的偏好分数。其中R(u)是user u评定的item集合,bu和bi是偏差项。
- NSVD通过使用item因子的线性组合来表示user来减少user因子的冗余。
- 然而,NSVD的主要问题是,对具有完全不同评级的相同item集合评级的两个user具有相同的表示。
- SVD++
- 为了解决NSVD的问题,SVD++建议用于具有显式评级的推荐。其中pu是user的潜因子。 SVD ++利用基于NSVD的表示来调整user的潜因子,而不是代表user。
DELF
Model
DELF大体上是基于潜因子模型的传统框架,其假设偏好得分Rui可以由底层user和item潜因子生产,其中Θ表示u和i的潜在因子,f表示交互函数
Input Layer
- DELF的输入层由user u和item i的特征向量组成。
- 基于单嵌入的潜因子模型,简单地将u和i与它们的one-hot表示user和item相关联。
- 除了one-hot向量之外,DELF还从观察到的u和i的交互关系中分别得到二进制交互向量的集合Ru*和R*i。
为此,我们从输入层获得user和item两种特征向量。
Embedding Layer
- 嵌入层将来自输入层的每个特征向量投影到密集向量表示中(从稀疏向量=>密集向量)
- u 和i 的one-hot向量通过嵌入矩阵来获得原始特征向量的嵌入。
- 对于交互向量Ru和R\i,我们采用一种注意力机制来学习相应的嵌入表示。 (原因前面已经提到)
- 其中mu是基于item的user嵌入,αi是user u评定的item i的注意分数,yi是潜因子
- 其中Wa,ba分别表示权重矩阵和偏差向量,ha是上下文向量。
- 也就是说,我们首先将item的潜因子yi提供给单层MLP,其产生转换成hi作为yi的潜在表示。
- 然后,我们基于hi和上下文向量ha之间的相似性来度量item i的重要性,并通过softmax函数导出归一化的重要性权重αi。
Pairwise Neural Interaction Layers
- 将对偶嵌入成对的输入到神经交互层中以模拟u和i之间的特征交互。
- 不是使用单一的网络结构,而是分别为两种user/item嵌入模拟交互,并为不同的嵌入交互获得四种深度表示。
- hj是第j个前馈神经网络学习嵌入交互的深层表示;
- φjl是网络j中的第l层; Wlj,bj l和δlj分别表示网络j中层l的权重矩阵,偏置向量和激活函数;
- z0包括user和item双嵌入的成对拼接。
Fusion and Prediciton
- 融合层位于成对神经交互层之上,其将嵌入交互的四个深度表示组合成单个。
- 融合方案:
- MLP(DELF-MLP)
- 其中Wf,bf,δf分别是权重矩阵,偏差,激活函数; zf是这四个潜在的交互表示的拼接。
- 经验方案(DELF-EF)
- 根据经验将非均匀的权重分配给四个深度表示
- 其中λu和λi是要在验证集上调的超参数
- 最后,融合层的输出hf转换为最终的预测分数
- 其中Wp,bf分别是权重矩阵和偏差项; δp是sigmoid函数,因为我们期望预测分数在[0,1]。
- MLP(DELF-MLP)