深度矩阵分解

Deep Matrix Factorization Models for Recommender Systems

作者:Hong-Jian Xue, Xin-Yu Dai, Jianbing Zhang, Shujian Huang, Jiajun Chen
原文链接:https://www.ijcai.org/proceedings/2017/0447.pdf

Abstract

推荐系统通常使用用户-项目交互评分、隐式反馈和辅助信息进行个性化推荐。矩阵因式分解是预测一个用户在一组项目上的个性化排序的基本思想,它利用了用户和项目之间的相似性。本文提出了一种基于神经网络结构的矩阵因子分解模型。首先,我们构造了一个具有显式评分和非偏好隐式反馈的用户-项目矩阵。以这个矩阵为输入,我们提出了一个深层结构学习架构来学习用户和项目表示的公共低维空间。其次,我们设计了一个新的基于二元交叉熵的损失函数,其中我们考虑了显式评级和隐式反馈来进行优化。实验结果表明了模型的有效性和损失函数的有效性。在几个基准数据集上,我们的模型超越了最先进的方法。我们还进行了大量的实验,以评估在不同的实验设置下的性能。

1. Introduction

矩阵分解(matrix factorization, MF)是各种协同过滤技术中最流行的一种方法,它利用潜在空间来表示用户或项目,由于其可扩展性、简单性和灵活性而成为推荐的标准模型。在潜在空间中,推荐系统根据用户和项目之间的相似性,对每个用户的一组项目进行个性化排序。
早期推荐系统广泛使用显式评分数据,由于用户评分值会发生变化,因此,biased matrix factorization 被用于提供准确度。为了克服数据稀疏问题,辅助数据被集成到矩阵分解中,比如社会关系数据、评论文本数据等。
然而,仅对observed ratings数据建模不足以做出的优秀的top-N推荐,隐式反馈数据开始被应用与推荐系统。
近年来,由于其强大的表示学习能力,深度学习方法已成功应用于计算机视觉、语音识别和自然语言处理等多个领域。在推荐系统中应用深度学习模型也做了一些努力。限制玻尔兹曼机首先被提出用于对用户对项目的显式评分进行建模。自编码器和去噪自编码器也被推荐使用。这些方法的核心思想是通过学习隐藏的结构,用明确的历史评分来重建用户的评分。隐式反馈也被应用于基于深度学习的推荐系统研究领域上。但是协同降噪自编码器CDAE和神经协同过滤NCF仅使用了隐式反馈而并未使用显式评分数据。
为了利用显式评分和隐式反馈,本文提出了一种用于top-N推荐的神经矩阵分解模型。我们首先构造了一个包含显式评分和非偏好隐式反馈的用户-项目矩阵,它不同于其他只使用显式评分或只使用隐式评分的相关方法。利用该矩阵作为输入(显式评分和隐式反馈为零),提出了一种神经网络结构来学习表示用户和项目的常见潜在低维空间。该体系结构的灵感来自于深层结构化语义模型,该模型已被证明对web搜索非常有用,它可以通过多层非线性投影映射潜在空间中的查询和文档。此外,我们设计了一个新的基于交叉熵的损失函数,该函数同时考虑了显式评价和隐式反馈。总之,我们的主要贡献概述如下。

  • 我们使用一个神经网络来建立一个深度矩阵分解模型,该神经网络将用户和项目映射到一个具有非线性投影的低维空间。我们使用一个矩阵,包括显式评级和非优先级隐含反馈作为模型的输入。
  • 我们设计了一个新的损失函数,考虑了显式评级和隐式反馈,以实现更好的优化。
  • 实验结果表明,所提出的模型在top-N推荐方面优于其他现有方法。

2. Problem Statement

推荐系统常被理解为估计交互矩阵中未观察到的评分数据的问题,假设有一个潜在的模型可以产生所有的评分:
图1θ为带预测参数,F是将模型参数映射为评分数据的函数,接下来的任务是如何定义这个函数F。
潜在因素模型LFM简单利用向量点乘来预测评分矩阵Y, p i p_i pi q j q_j qj代表了 u i u_i ui v j v_j vj的潜在向量表示
图2
NCF使用多层感知机来自动学习这个函数F,这种方法的目的是为了学习用户与物品之间的非线性交互。
在本文中,我们遵循潜在因素模型(使用内积来计算用户和项目之间的交互),我们没有遵循神经协同过滤,因为我们试图通过一个深度表示学习结构来获得用户和项目之间的非线性连接。

3. Our Proposed Model

3.1 Deep Structure Semantic Model

深度结构化语义模型(DSSM)被用于网络搜索。它使用深度神经网络对给定查询的一组文档进行排序。DSSM首先利用非线性多层投影将查询和文档映射到一个共同的下语义空间。然后通过查询和文档的低维向量之间的余弦相似度来计算查询与文档的相关度,从而进行网页搜索排序。对深度神经网络进行判别训练,使查询和匹配文档的条件似然最大。DSSM已被应用于用户建模。与我们的工作不同,它侧重于用丰富的额外功能(如web浏览历史和搜索查询)为用户建模。由于我们关注的是传统的topN推荐问题,所以我们只使用观察到的评级和观察到的反馈。

3.2 Deep Matrix Factorization Models(DMF)

模型结构:
图3
对于交互矩阵Y来说,每一个用户 u i u_i ui被表示为一个行向量 Y i ∗ Y_{i*} Yi,代表第i个用户对所有项目的评价,每一个项目 v j v_j vj被表示为一个列向量 Y ∗ j Y_{*j} Yj,代表了所有用户对他的评价。在每一层中,每个输入向量都映射到新空间中的另一个向量,在输出层和隐藏层使用ReLU函数。
在我们的架构中,我们有两个多层网络来分别转换u和v的表示。通过神经网络,最终将用户 u i u_i ui和项目 v j v_j vj映射为低维向量空间,如式(7)所示。然后根据公式8测量用户 u i u_i ui和项目 v j v_j vj之间的相似度。
图4
图5
在我们的架构中,除了多层表示法学习之外,我们想再次强调,在我们的知识范围内,这是第一次直接使用交互矩阵作为表示法学习的输入。如前所述, Y i ∗ Y_{i*} Yi代表用户对所有项目的评分,它在一定程度上可以反映用户的全局偏好; Y ∗ j Y_{*j} Yj表示所有用户对某一物品的评分,它可以在一定程度上表示一个项目的概况。我们认为,用户和项目的这些表示对于最终的低维表示非常有用。

3.3 Loss Function

一个常见的目标函数如下:
图6
对于推荐系统,通常使用两种目标函数,分别是point-wise和pair-wise。简单地,我们在本文中使用point-wise目标函数,把pair-wise留给我们以后的工作。
损失函数是目标函数中最重要的部分。平方损失主要在许多现有的模型中使用,如下:
图7
平方损失函数的使用时基于这样的假设:观察样本服从高斯分布。然而,平方损失函数在隐式反馈方面的效果不好,因为隐式反馈数据是二值的,He et al. 提出了一个对隐式数据的二值属性给予特殊关注的损失函数:
图8
这种损失实际上是二进制交叉熵损失,将隐含反馈推荐修正作为一个二元分类问题来解决。
综上所述,square loss关注的是显性评分,cross entropy loss关注的是隐性评分。在本文中,我们设计了一个新的损失函数,将显式的评价合并到交叉熵损失中,从而使显式和隐式信息可以同时用于优化。我们将新的损失命名为归一化交叉熵损失(简写为nce),如公式12所示。
图9
我们使用 m a x ( R ) max(R) max(R)(5 in a 5-star system)进行归一化,即所有评级的最大值,因此不同的 Y i j Y_{ij} Yij值对损失的影响也不同。

3.4 Training Algorithm

对于交叉熵来说,预测评分可能是负的,我们需要用式13来转换原来预测,μ设为一个很小的数字,此处设为 1.0 e − 6 1.0e^{-6} 1.0e6
图10
算法流程见Algorithm 1,为了在每一层上训练权矩阵WU和WV的参数,我们使用反向传播来批量更新模型参数,算法的复杂度与矩阵的大小和网络的层数成线性关系。
图11

4. Experiments

我们在四个推荐系统中广泛使用的数据集上评估我们的模型:MovieLens 100K(ML100k)、MovieLens 10M(ML1m)、Amazon music(Amusic)、Amazon movies(Amovie)。它们可以在网站上公开访问。对于MovieLens数据集,我们不处理它,因为它已经被过滤,而对于Amazon数据集,我们过滤了数据集,因此与MovieLens数据类似,只有那些至少有20个交互的用户和至少有5个交互的条目被保留。

Evaluation for Recommendation

为了评估项目推荐的性能,我们采用了“遗漏评估”,该方法已广泛应用于各个领域。我们将最新的交互作为每个用户的测试项,并利用剩余的数据集进行培训。由于在评估过程中对每个用户的所有项目进行排序太耗时,因此我们随机抽取了100个未与用户交互的条目。在这100个和测试项目中,我们根据预测得到排名。因此,HR会直观地衡量测试项目是否出现在前10名的列表中,而NDCG会衡量排名靠前的项目的质量。
我们实现了基于Tensorflow3的算法,为了确定DMF方法的超参数,我们为每个用户随机抽取一个交互作为验证数据并调整超参数。在我们的模型中,我们对每个正实例抽样7个负实例。对于神经网络,我们采用高斯分布(均值为0,标准偏差为0.01)随机初始化模型参数,利用mini-batch Adam对模型参数进行优化,我们将batch size设置为256,并将学习率设置为0.0001。

Performance Comparison

DMF-2-ce:两层网络和用交叉熵作为损失函数的深度矩阵分解模型
DMF-2-nce:两层网络和用归一化交叉熵作为损失函数的深度矩阵分解模型。
并将上述两种矩阵分解模型与基线模型ItemPop、ItemKNN、eALS、NeuMF-p进行比较。
比较结果见表2。它证明了我们提出的架构和损失功能的有效性。对于所提出的体系结构,在几乎所有的数据集上,我们的两个模型在NDCG和HR两方面都达到了最好的性能。即使与最先进的NeuMF-p方法相比,DMF-2-nce在NDCG和HR指标上也分别获得了2.5-7.4%(平均5.1%)和1.4-6.8%(平均3.8%)的相对改进。对于损耗函数,我们比较了两种模型的性能。DMF-2-nce比DMF-2-ce获得更好的结果,除了在音乐数据集上。
图12
后续试验测试了输入矩阵、负采样率、网络深度、最终潜在空间因子等参数对实验结果的影响。

Conclusion

提出了一种基于神经网络结构的矩阵因子分解模型。通过神经网络结构,将用户和项目投射到低维向量空间中。在我们的模型中,我们充分利用了显性评分和隐性反馈。我们提出的模型的输入矩阵包括显式评分和非偏好反馈。另一方面,我们也设计了一个新的损失函数来训练我们的模型,其中包括了显式和隐式反馈。在多个基准数据集上的实验证明了该模型的有效性。今后,我们的工作有两个方向。 pairwise 目标函数是推荐系统的另一种可选方法。我们将用 pairwise 目标函数来验证我们的模型。由于这些数据的稀少性和大量的未观测数据,许多工作试图将辅助的额外数据整合到推荐系统中,如社会关系、评论文本、浏览历史等。这为我们提供了另一个有趣的方向,即使用额外的数据扩展我们的模型。

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值