Advertisement

【论文导读】MATRIX FACTORIZATION TECHNIQUES FOR RECOMMENDER SYSTEMS

阅读量:

点击上方蓝字“小透明的推荐之路”一起学习吧

MATRIX FACTORIZATION TECHNIQUES FOR RECOMMENDER SYSTEMS

前言(Foreword)

这篇论文由Yahoo Research团队于2009年发布于《IEEE计算机汇刊》。最初是由Simon和Funk等研究者针对Netflix竞赛中的评分问题提出的矩阵分解方法。随后的研究对矩阵分解进行了改进,并开发出了多种变体方法;其中一种方法正是本文所介绍的技术。

背景(Background)

面对信息爆炸的问题时, 传统社会中的多数人会被大量不良信息所覆盖, 这种情况下, 给予人们推送最适合的商品能够显著提升用户体验. 由此可见, 很多商家纷纷关注个性化推荐系统的开发与应用. 这种技术如今,在电影流媒体平台等娱乐在线服务领域中得到了广泛应用

总的来说,推荐系统基于两个策略(当时):构建一个轮廓(profile),以描述用户的特征或物品的基本信息,并采用该种方式进行过滤;同时采用协同过滤方法进行推荐。

基于内容的过滤(Content Filtering Approach)

比如一个电影概况可能涵盖其类型参与演员及其票房吸引力等因素。用户的资料可能包含人口统计数据或通过调查表格收集的回答。这些概况使得程序能够将用户与相应的匹配产品相关联。当时一种非常成功的音乐分类系统是Music Genome Project它已在Pandora.com上应用。

协同过滤(Colaborative Filtering)

仅基于用户的过去行为(比如以前交易或物品的评分),而无需构建显式的轮廓配置信息。这种方法被称为协同过滤算法(由Tapestry开发人员创造的一个术语)。Tapestry是第一个推荐系统。该方法通过分析用户间的关系以及产品间的相互依赖性(即协同关系),以识别新的用户-物品关联。其主要优点是高度灵活(能够跨越不同的领域),能够解决数据方面的挑战(这些问题通常难以通过内容过滤来解决)。尽管协同过滤在准确性方面通常优于基于内容的方法(即内容推荐),但它存在所谓的"冷启动问题"(即无法处理新上架的产品和用户),这方面内容推荐则表现更好。

协同过滤两个主要的方法是:基于邻域方法和隐语义模型。

基于邻域的方法(Neighborhood Methods )

领域的方法根据计算依据的不同被划分为基于物品的协同过滤和基于用户的协同过滤

基于同一用户的评分行为来判断对特定物品的偏好程度的方法被称为物品基于邻近度推荐系统。其工作原理是将每个物品与其潜在相关联的其他物品进行比较和分类。其邻居被定义为与其他该用户打分相近的物品。例如,在电影领域,《大兵瑞恩》可能与战争片、斯皮尔伯格导演的作品以及汤姆汉克斯主演的影片等具有较高的相关性。在预测某位观众对《大兵瑞恩》的具体评分时,则需要分析该用户的打分记录来识别与其具有高度相似性的电影,并通过分析这些电影的特征来进行预测

针对用户的策略是识别出具有相似评价习惯的群体成员,并通过分析他们的评分数据来构建完整的评价体系。

隐语义模型(Latent Factor Model)

隐语义模型基于评分模式推导出的一系列(20至100)因子用于表征物品和用户的特性,并以期揭示评分背后的潜在规律。在电影领域中这些因素可能反映了几个显而易见的方向例如喜剧与戏剧性动作量以及适合儿童的程度;同时也有某些模糊的方向例如角色发展深度或是奇怪的行为特征;还有完全无法被现有理论解释的因素。从用户角度来看每个因素都会评估用户的偏好程度

此二维图表通过简化的示例说明了这一概念。探讨两个关键维度:一是基于性别区分(x轴),二是情感倾向性(y轴)。此图表展示了这两个维度上可能涉及的一些知名电影以及虚拟用户代表。在此模型中, 用户对电影的预测评分等于其在坐标系上的位置与电影坐标的点积。例如,在Gus的例子中, 他偏好于'Dumb and Dumber'等作品却rejects'The Color Purple', 并将其《Braveheart》评价为中性。

矩阵分解方法(MatRix Factorization Methods)

一些最成功的潜在因素模型基于矩阵分解进行构建,在其基本形式中矩阵分解通过隐向量从物品评分模式中推导出以表征物品与用户推荐系统依赖于多种类型的输入数据这些数据通常组织在一个矩阵中其中一维代表用户另一维代表物品

输入的数据集分为两类:

最易获取的数据是高质量的显式反馈中其中一项就是指用户对其物品兴趣的具体输入例如Netflix就采用以星级形式进行评分的方式将用户的明确偏好称为rating通常情况下这些偏好会被表示为一个稀疏矩阵这是因为任何一个普通用户都有可能只是对少数几个潜在商品进行了具体评分

在缺乏明确的用户反馈的情况下

最基础的矩阵分解模型(Basic Matrix Factorization Model)

矩阵分解模型将用户与物品都嵌入到一个维数为d的共同潜在因子空间中,并通过计算两者之间的内积来建模用户的与物品之间的互动关系。

注:我的改写遵循以下原则:

  1. 每句话仅做表达方式调整
  2. 调整了部分词汇(如"表征为"→"用")
  3. 句式做了适当变换
  4. 保持了数学公式的原样
  5. 增加了一些必要的修饰词以使表述更精确
  6. 确保段落数量不变

为了学习隐向量( 和 ),系统通过最小化正则化后的均方误差:

该文章采用两种方法以...的方式进行上式的最小化:随机梯度下降法(stochastic gradient descent)以及交替最小二乘法(alternating least squares)。

随机梯度下降法

在每一个训练样本的基础上,系统所预测的实际评分与其计算所得评分为其差值

然后沿着梯度的反方向以步长 来修改其中的参数:

最小二乘法

采用轮流的方式进行 拟合过程 和 拟合模型 。每当 拟合过程 被激活时,在系统中会通过解决最小二乘问题来重新计算 变量值 ,反之亦然。

添加偏置(Adding Biaes)

虽然基本矩阵分解揭示了用户与物品间的互动关系,然而观察到的常见评分数值差异主要源于与用户或物品相关的偏差。这些偏差通常与任何具体的互动无关。例如,在协同过滤数据中,某些群体的评分数值普遍高于其他群体,在某些项目则表现出较高的平均分(这是因为这些项目往往被认为比其他项目更好(或更差)。)

因此仅通过内积交互来解析一个评分值并不够精细。为了更全面地理解用户和物品的特点及其相互作用机制,则可引入偏置项

其中 被定义为全体评价值(如单个用户对所有电影的评均分),参数 和 分别代表物品与用户的偏置,并将其偏置值纳入最终评价结果中

评分被分解为四项:总平均得分,物品偏置,用户偏置和物品用户的交互。

故损失函数为:

隐式反馈----额外的输入源(AdditionaL Input Sources)

推荐系统常常会遇到冷启动问题,并且一种解决方案是通过引入额外的信息源来缓解这一问题。推荐系统能够基于隐式反馈机制深入分析用户的偏好情况;实际上,在不询问用户明确评分的情况下,默认情况下人们也会留下某种线索供其参考;此外,在没有直接询问的情况下,默认情况下人们也会留下某种线索供其参考;此外,在没有直接询问的情况下,默认情况下人们也会留下某种线索供其参考

简明扼要地定义一个变量来表示用户隐式偏好的物品集。对于每个物品i来说,请考虑将其与相应的向量v_i联系起来(即相当于对每个物品i的隐式偏好进行one-hot编码)。因此,在上述变量中所涉及的所有i项都可以用来描述用户的偏好

归一化后,

另一个数据来源是用户的属性。为此需要定义一个二元标记用来表示与用户的相关信息。例如我们可以使用性别年龄等字段以及组群所在地的邮编和收入水平等信息对于每个属性都可以用向量来表示最后将这些用户的各个特征组合起来

矩阵分解模型整合输入源,最后的评分形式为:

时间的动态性(TemporaL Dynamics)

当新选择出现时(随着新选择的出现),其受欢迎程度可能会发生变化(其受欢迎程度可能会发生变化)。同样地(同样地),在线消费者的行为模式在不断调整以适应新的消费习惯(在线消费者的行为模式在不断调整以适应新的消费习惯)。矩阵分解方法特别适合用来建模时间效应(矩阵分解方法特别适合用来建模时间效应),并且显著提升了系统的准确性(并且显著提升了系统的准确性)。通过将评分细分为若干部分(将评分分解为不同的项),系统能够分别处理不同时间段的影响因素(使系统分别处理不同的时间方面)。

一个评分项中随着时间的改变发生变化的有:物品偏置 ,用户偏置 以及用户偏好 。最终评分形式可以变为:

输入中不同的置信度水平(Inputs With Varying Confidence Levels)

并不是所有的评分都不具有一致性或可靠性。例如,在大规模广告中可能出现某些物品被投出票数,并且这些票数可能无法准确反映长期特征。同样地,在系统中也可能遇到试图扭曲某些商品评分的敌对用户

另一个案例是基于隐式反馈构建的系统。在持续解释用户的这种行为中(即用户的显式或隐式的行动),用户的精确偏好难以量化。因此,在这种系统中使用“对产品感兴趣”或“不太感兴趣”来表示用户的偏好(即他们的兴趣程度)。在这种情况下(即当无法直接获取明确信息时),将信任度得分与预期偏好的估计相关联具有重要意义。这些数值可源自描述行动频率的数据(例如,在某个平台上观看特定节目的时间或购买特定物品的数量)。这些数据点代表了观察结果的信任程度(即其可靠性)。然而,在不影响用户体验的相关因素都可能导致单次事件的发生(例如,在某个平台上仅浏览某项内容一次)。但是频繁发生的行为更能反映出用户的看法(即他们的整体倾向)。

该矩阵分解模型设定一个置信度阈值,在赋予那些无意义数据点较低的关注度后,在每个评分值所对应的置信度水平下计算其损失函数。

实验(Experiment)

通过分析Netflix用户的电影观众群体及其行为数据矩阵进行因子分解研究,从而揭示出最能刻画其偏好特征的关键维度组合,进而预判不同观众可能的观影偏好趋势.通过进一步分析矩阵分解结果,提取出关键维度并深入研究这些特征在新维系空间中的分布特征,如图所示,研究者特别关注了这两个核心维度的作用权重

该种多维分析模型将电影按照其核心因子向量进行分类定位。在x轴维度上(左侧区域),这类因子向量对应的是以男性观众或青少年群体为主的低俗搞笑及恐怖题材影片(包括如《半杯黄酒》与《弗雷迪 VS. 杰森》等)。而在x轴右侧,则集中展示了带有严肃叙事深度并强调女性主角魅力的作品类型(如《Sophie的选择》与《月光 Previa》)。从y轴维度来看,在y轴顶端区域集中分布着广受好评的独特风格影片(如《击退战前love》,以及《我心 Huckabees》),而底端位置则主要包含那些遵循传统公式化创作路径的经典影片(如《Apocalypse Now》,以及《跑出头 Wedge》)。在二维坐标系中各象限之间存在有趣的交叉特征:左上方区域中既具有独立精神又不失低俗趣味的作品包括了如《KILL BILL》,以及《NATURAL BORN KILLERS》等作品;右下方区域中的严肃女性导向作品与主流观众群体之间产生共鸣的现象,则通过经典影片如《The Sound of Music》得以体现;而位于中央位置的艺术性作品则能够吸引不同年龄层及性别背景的观众群体共同欣赏。

下图展示了不同模型及其参数数量对RMSE的影响,在基于矩阵分解技术的发展路径中评估了多种实现方式:包括普通矩阵分解、加入偏置项、引入隐式反馈机制以及两种基于时间因素的不同变体。

我们深入研究显示结果:更为复杂的矩阵分解模型(其参数组合更加丰富)在预测精度上表现得更为精确。实际上,在建模过程中充分考虑时间成分具有十分重要的作用,在这种情况下由于数据表现出明显的时序特性会影响预测效果

总结(Conclusion)

在协同过滤机制中,矩阵分解方法被广泛采用作为一种主流的技术。同时能够自然整合数据的关键要素,并如多种反馈形式、时间动态变化以及信任关系等多种关键因素。

End

▼更多精彩内容,请长按二维码▼

全部评论 (0)

还没有任何评论哟~