
结合GAN和矩阵分解(GANMF)
三个要点
✔️确定了使用cGAN进行协同过滤的两个主要问题,并解决了这些问题,开发了一个新的基于GAN的推荐系统,GANMF。
✔️在三个数据集上评估了推荐系统,取得了比以前所有方法更好的性能。
✔️使用特征匹配生成的用户档案的独特性得到了改善。
GAN-based Matrix Factorization for Recommender Systems
written by Ervin Dervishaj, Paolo Cremonesi
(Submitted on 20 Jan 2022)
Comments: Accepted at the 37th ACM/SIGAPP Symposium on Applied Computing (SAC '22)
Subjects: Information Retrieval (cs.IR); Machine Learning (cs.LG)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
介绍。
推荐系统是根据过去的客户行为和其他客户的数据,推荐客户可能喜欢的物品,例如Netflix或亚马逊有一个 "为你推荐 "部分。
推荐系统对于在各个领域提供个性化的体验至关重要。协同过滤(CF)是最准确的推荐方法之一。
矩阵分解(MF)是一种著名的协同过滤方法,它将用户和项目投射到一个潜在的空间,并从它们的相互关系中提取用户或项目的特定特征。
生成对抗网络(GANs)是一种生成与真实数据无异的数据的方法,但只有少数研究将GANs应用于推荐系统。
本文介绍的GANMF提出了一种将GAN与矩阵分解相结合的方法,并将其纳入协同过滤。
现有的研究使用GANs进行推荐。
IRGAN和CFGAN是现有研究中应用GAN进行推荐的代表性例子。
IRGAN是第一个将GANs应用于信息检索领域的模型,不限于推荐。生成器和判别器是以对抗的方式进行训练的,前者建立了给定查询选择文档的概率$p(d|q,r)$,后者确定了查询和文档是否相关,因此在查询时可以对具有一定程度相关性的句子进行采样。$.
CFGAN是一个模型,其中IRGAN中的离散采样是一个减少生成能力的因素,生成器被修改以生成用户的历史资料。问题是,当项目数量很大时,必须产生高维数据。
设置一个推荐问题。
在这种情况下设置的推荐问题是,给定一个用户$U$和一个物品$I$,根据每个用户过去的反馈,从他们尚未购买的物品中推荐N个物品给所有用户,他们可能会喜欢。
反馈信息以矩阵的形式给出,称为用户评价矩阵(URM),其中矩阵的元素是用户是否对该项目表示兴趣的二进制值。
将cGANs应用于建议方面的挑战。
作者指出,使用条件性GANs(Conditional GANs,cGANs),如CFGANs,来生成用户资料,有两个主要问题。
第一个问题是,正确的梯度很难传播到发电机。这是由于Discriminator的输入是高维的,而输出是标量的,这使得它很难获得一个梯度,正确地反映出所生成的剖面离真实事物有多远。
第二个问题是每个类别的样本数量。在以类标签为条件的数据生成中,需要大量属于单一类标签的数据,但在推荐问题的设置中,由于用户是类标签,所以每个类只需保证一个样本。
作者开发了一个名为GANMF的新模型,解决了上述两个问题。我们将在下一节中更详细地了解它。
GANMF的概述
GANMF的总体情况如下图所示:生成器接收用户的ID并生成一个配置文件,而鉴别器则对真实和生成的配置文件进行鉴别。
与传统的cGANs不同,Discriminator采用了一个自编码器。下式中显示的重建损失被用作区分真实和生成的剖面的指标,系统学会将这个重建损失视为一个能量函数,低值是真实的剖面,高值是虚假的剖面。
鉴别器损失函数使用铰链损失与重构损失。
另一方面,生成器与传统的cGANs不同的是,它不接受噪声作为输入。这是因为它为一个用户生成了一个配置文件。
生成器是一个简单的结构,由两个嵌入层组成,生成的用户资料如下。这是一种矩阵因式分解的形式。
在这个公式中,y是要生成的用户的ID,$V$是项目矩阵,$Sigma$是用户矩阵。
生成器损失函数有一个由生成轮廓的重建损失和一个特征匹配损失组成,以避免继续生成单用户样本的问题。
在这里,特征匹配损失与最大平均差异(MMD)密切相关,它经常被用作概率分布之间的距离,并作为GANs的损失函数。
从上面可以看出,GANMF是一个非常简单的模型,它结合了矩阵分解和GAN。
用GANMF进行推荐实验。
本节看一下使用GANMF作为推荐系统的实际结果。
在本实验的问题设置中,对以前没有与用户相关联的项目进行了排名:对于GANMF,为每个用户生成了一个配置文件,并通过对获得的数值进行排序来计算前N个项目。
以MovieLens 1M、MovieLens HetRec和LastFM三个数据集为数据,将那些根据数值大小反映用户偏好的数据,如评分和浏览次数,转换为0和1的二进制值。
归一化贴现累计收益(NDCG)和平均精度(MAP)被用来评估模型,并对前5个或前20个推荐项目进行计算。这些指标考虑到了项目的相关性以及它们的排名。
GANMF与现有的协作过滤方法在三个不同的数据集上的比较如下,其中GANMF中的u代表基于用户,i代表基于项目。
这些结果表明,GANMF在所有三个数据集上的表现都超过了其他方法。特别是,GANMF比CFGAN平均高出24%,尽管它和CFGAN一样,使用的是由GAN生成配置文件的训练方法。
ItemKNN、SLIM和$P^3\alpha$之间的性能差别不大,它们使用项目之间的相似性,GANMF平均取得了比这些模型好10%的性能。这些模型往往比基于矩阵因子化的方法要差一些。
GANMF中特征匹配的重要性。
作者研究了在GANMF中纳入生成器损失的特征匹配衍生术语对生成的配置文件的影响程度。
下图显示了在GANMF中生成有特征匹配和无特征匹配的用户资料并计算每个用户之间的余弦相似度的结果。
在没有特征匹配的情况下,两个数据集的余弦相似度都尽可能地接近1。这表明,特征匹配对于为每个用户生成一个独特的档案至关重要。
结论。
我以为,通过GAN生成以用户为条件的资料来选择下一个推荐项目的问题设置是非常具体的。另外,由于要生成的数据仍然是与CFGAN中相同的配置文件,我觉得它可能仍然难以处理项目数量增加和维度更高的数据格式,或者包括评价值(评级)的数据格式。
使用GANs进行推荐似乎仍处于发展阶段,因此我们期待着进一步的进展。
与本文相关的类别