Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009

1 基本信息

项目信息
名称Matrix factorization techniques for recommender systems
作者Yehuda Koren, Robert Bell, Chris Volinsky
期刊Computer
年份2009
42
8
页码30–37
DOIhttps://doi.org/10.1109/MC.2009.263
引用量10063

2 引言

正如 Netflix 奖竞赛所证明的那样,矩阵分解模型在生成产品推荐方面优于经典的最近邻技术,允许结合其他信息,例如隐式反馈、时间效应和置信度。

推荐系统的目标是使得不同的用户都尽可能得到满足,也即是个性化推荐,使得服务提供者获取用户的满意度和忠诚度。

3 推荐系统策略

从广义上讲,推荐系统基于两种策略之一。

  • 内容过滤(content filtering) 方法为每个用户或产品创建一个画像(配置文件)以表征其性质。
  • 协同过滤(collaborative filtering) 方法分析用户之间的关系和产品之间的相互依赖关系,以识别新的用户-项目关联。

协同过滤相比内容过滤,有两点优势

  • 不需要刻画画像,应用更广泛。
  • 通常更准确。

协同过滤相比内容过滤,有一点劣势

  • 遭遇冷启动问题。

协同过滤的两个主要领域是邻域方法(neighborhood methods)潜在因子模型(latent factor models)

  • 邻域方法的中心是计算项目之间或用户之间的关系。
  • 潜在因素模型是一种替代方法,它试图通过对项目和用户进行表征,例如从评分模式推断出的 20 到 100 个因素来解释评分。


图 1 展示了面向用户的邻域方法。Joe 喜欢最左侧的 3 部电影。为了给 Joe 做预测,系统先找到同样喜欢这些电影的 3 个用户(中间)。那么如何向 Joe 推荐(预测)呢?这 3 个用户都喜欢 Saving Private Ryan 这部电影,那么最建议推荐就是它。其次,有两个用户喜欢 Dune,那么这个是第二推荐的。以此类推。


图 2 展示了潜在因子方法在 2 维下的一个简化例子。考虑两个假设维度,即女性(左)与男性(右)导向以及严肃(上)与逃避现实(下)。该图显示了几部知名电影和少数虚构用户可能落在这两个维度上的位置。对于这个模型,用户对电影的预测评分,相对于电影的平均评分,将等于电影和用户在图表上的位置的点积。例如,我们希望 Gus 喜欢 Dumb and Dumber,讨厌 The Color Purple,并对Braveheart 评分一般。

4 矩阵分解方法

潜在因子模型的一些最成功的实现是基于矩阵分解(Matrix Factorization)。在其基本形式中,矩阵分解通过从项目评分模式推断出的因子向量来表征项目和用户。项目和用户因子之间的高度对应导致推荐。

推荐系统依赖不同类型的输入数据,通常表示为一个矩阵,矩阵的一个维度表示用户,另外一个维度表示感兴趣的项目。最方便的数据是高质量的显式反馈,其中包括用户关于他们对产品的兴趣的明确输入。文中以评分(ratings) 作为显式用户反馈。通常,显式反馈包含一个稀疏矩阵,因为任意单一用户可能只对一小部分可能的项目进行了评分。

矩阵分解的一个优点是它允许合并额外的信息。当显式反馈不可用时,推荐系统可以使用隐式反馈推断用户偏好,隐式反馈通过观察用户行为间接反映意见,包括购买历史、浏览历史、搜索模式,甚至鼠标移动。 隐式反馈通常表示事件的存在或不存在,因此它通常由一个密集填充的矩阵表示。

5 基本矩阵分解模型

符号表如下所示

符号含义
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009联合潜在因子空间维度
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009项目
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 相关联的向量
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009用户
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 相关联的变量
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009用户 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 对项目 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 的评分

对于给定的项目 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 的元素衡量该项目拥有这些因素的程度,无论是积极的还是消极的。
对于给定的用户 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 的元素衡量用户对相应因素高的项目的兴趣程度,同样,积极或消极。
结果的点积 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 捕获了用户 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 和项目 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 之间的交互——用户对项目特征的整体兴趣。

Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 评分的一个估计:
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009
这种模型与奇异值分解 (SVD) 密切相关,奇异值分解是一种在信息检索中识别潜在语义因素的成熟技术。在协同过滤域中应用 SVD 需要考虑用户项目评分矩阵。由于用户项目评分矩阵中的稀疏性导致缺失值的比例很高,这通常会带来困难。

为了学习因子向量(Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009),系统最小化一组已知评分的正则化平方误差:
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009其中 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 是已知 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 的(训练集)Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 对的集合。常数 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 控制正则化的程度,通常由交叉验证确定。

Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009
真实评分 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009,预测评分 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009,两者误差为 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009。那么,为了模型预测更准确,肯定希望误差越小越好。误差有正有负,为了避免正负误差互相抵消,所以使用误差平方来衡量。对于已知 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 对来讲,有 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009。对于所有的 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009,有 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 是机器学习中常使用的正则项,用于调整模型拟合,避免过拟合(overfitting)。常数Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 控制正则化的程度。

6 学习算法

最小化方程 2 的两种方法是随机梯度下降(Stochastic Gradient Descent)交替最小二乘法(Alternating Least Squares,ALS)

6.1 随机梯度下降

随机梯度下降算法循环遍历训练集中所有的评分。对于每一个给定的训练样例,系统预测 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 并计算相关的预测误差
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009

Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009
将上式代入公式 (2) 中,记为 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009

对上式 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 求偏导,得到梯度:
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009
它在梯度的相反方向将参数修改为与 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 成比例的幅度,产生:

  • Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009
  • Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009

这种流行的方法结合了易于实施和相对较快的运行时间。然而,在某些情况下,使用 ALS 优化是有益的。

6.2 交替最小二乘

因为 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 都未知,公式 (2) 不是凸的。但是,如果我们固定其中一个未知数,优化问题就会变成二次问题并且可以得到最优解。因此, ALS 在固定 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 之间轮转。当所有的 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 固定时,系统通过解决最小二乘问题重新计算 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009,反义亦然。

一般来讲,随机梯度下降比交替最小二乘简单且运行更快。但交替最小二乘在两种情况下更好:

  • 并行化。
  • 针对隐式数据为中心的系统。

7 增加偏差

式子 (1) 试图捕捉产生不同评分值的用户和项目之间的交互。然而,观察到的评分值的大部分变化是由于与用户或项目相关的影响,称为偏差(biases)截距(intercepts),与任何交互无关。例如,典型的协同过滤数据表现出很大的系统倾向,即某些用户给出的评分高于其他用户,而某些项目的评分高于其他项目。毕竟,一些产品被广泛认为比其他产品更好(或更差)。

因此,通过 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 形式的交互来解释完整的评分值是不明智的。相反,系统会尝试识别这些值中单个用户或项目偏差可以解释的部分,只对数据的真实交互部分进行因子建模。
评分 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 所涉及的偏差的一阶近似如下:
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009
评分 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 中包含的偏差用 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 表示,并计算用户和项目的效应。总体平均评分用 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 表示,参数 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 分别表示观察到的用户 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 和项目 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 的与平均值的偏差。
举个例子:
Joe 对电影 Titanic 评分的一阶估计。现在,假设所有电影的平均评分 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 为 3.7 颗星。此外,泰坦尼克号比一般电影要好,因此它的评分往往比平均水平高 0.5 星。另一方面,Joe 是一个挑剔的用户,他的评分往往比平均水平低 0.3 星。因此,Joe 对 Titanic 评分的估计可能是 3.9(3.7 + 0.5 – 0.3)。

偏差将式 (1) 扩展如下:
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009
观察评分被分解为四个成分:全局平均值、项目偏差、用户偏差和用户项目交互。这允许每个组件仅解释与其相关的信号部分。

在式 (4) 的基础上,系统通过最小化平方误差函数来学习:
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009

8 额外的输入源

系统通常必须处理冷启动问题,其中许多用户提供的评级很少,因此很难就他们的品味得出一般性结论。缓解此问题的一种方法是合并有关用户的其他信息源。推荐系统可以使用隐式反馈来深入了解用户偏好。事实上,无论用户是否愿意提供明确的评级,他们都可以收集行为信息。除了客户可能提供的评级外,零售商还可以使用客户的购买或浏览历史来了解他们的倾向。
为了简介,考虑一个带有布尔隐式反馈的情况。Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 表示用户 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 表达隐含偏好的项目集。这样,系统通过他们隐式偏好的项目来描述用户。在这里,需要一组新的项目因素,其中项目 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 相关联。因此,对 $N(u)$0 中的项目表现出偏好的用户的特征是向量
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009
归一化总和通常是有益的,例如,使用
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009
另一个信息源是已知的用户属性,例如人口统计。同样,为简单起见,考虑布尔属性,其中用户 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 对应于属性集 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009,可以描述性别、年龄组、邮政编码、收入水平等。

一个不同的因子向量 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 对应于每个属性,通过用户相关属性的集合来描述一个用户:
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009

矩阵分解模型应集成所有信号源,并增强用户表示:
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009

9 时间动态

目前为止,提出的模型都是静态的。实际上,随着新选择的出现,产品的认知度和受欢迎程度会不断变化。同样,顾客的喜好也在演变,导致他们重新定义自己的品味。因此,系统应该考虑反映用户项目交互的动态、时间漂移性质的时间效应。
随时间变化的项:项目偏差 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009、用户偏差 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 和用户偏好 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 解决了项目受欢迎程度可能随时间变化的事实。Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 允许用户随时间改变他们的基线评分。Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 可能反映了几个因素,包括用户评分量表的自然漂移、用户分配评分相对于其他最近评分的事实,以及评分者在家庭中的身份可能随时间变化的事实。不同于人类,项目本质上是静态的。

时变参数的参数的精确参数化导致将公式 (4) 替换为时间 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 评分的动态预测规则:
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009

10 具有不同置信水平的输入

在几种设置中,并非所有观察到的评级都应具有相同的权重或置信度。例如,大量广告可能会影响对某些项目的投票,这不能恰当地反映长期特征。同样,系统可能会面对试图倾斜某些项目评级的敌对用户。

矩阵分解模型可以很容易地接受不同的置信水平,这使得它对不太有意义的观察给予较少的权重。
如果观察 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009 的置信度表示为 Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009,然后模型增强成本函数(等式 (5))以说明置信度,如下所示:
Matrix factorization techniques for recommender systems,Yehuda Koren et al.,2009
有关涉及此类方案的实际应用程序的信息,请参阅 “隐式反馈数据集的协作过滤”。

11 Netflix 大奖赛

略……

参考

  1. Y. Koren, R. Bell, C. Volinsky, Matrix factorization techniques for recommender systems. Computer 42, 30–37 (2009).
  2. Latex 颜色设置…

修改

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2022年5月22日
下一篇 2022年5月22日

相关推荐