机器学习术语表:推荐系统

本页面包含推荐系统术语表。如需了解所有术语表术语,请点击此处

C

生成候选人

#recsystems

推荐系统选择的第一组建议。例如,假设有一家书店提供 100,000 本图书。候选生成阶段为特定用户创建的合适图书列表要少得多,例如 500。但即使是 500 本图书,也很难向用户推荐。后续、更昂贵的推荐阶段(例如评分重新排名)将这 500 个推荐范围缩减为一个小得多、更实用的推荐集。

协同过滤

#recsystems

基于许多其他用户的兴趣对一位用户的兴趣做出预测。协同过滤通常用于推荐系统

I

项矩阵

#recsystems

推荐系统中,一个由矩阵分解生成的嵌入向量,包含有关每个的潜在信号。项矩阵的每一行都存储一个潜在特征的所有特征的值。以电影推荐系统为例。项矩阵中的每一列表示一部电影。潜在信号可能代表流派,或者可能更难以理解,其中涉及类型、明星、电影年龄或其他因素之间的复杂互动。

项矩阵与要分解的目标矩阵的列数相同。例如,假设某个电影推荐系统评估了 10000 部电影片,则项矩阵将具有 10000 列。

items

#recsystems

推荐系统中,系统推荐的实体。例如,视频是应用商店推荐的项,而图书是书店推荐的项。

M

矩阵分解

#recsystems

在数学中,一种用来查找点积接近目标矩阵的矩阵的机制。

推荐系统中,目标矩阵通常包含用户对项目的评分。例如,电影推荐系统的目标矩阵可能如下所示,其中正整数表示用户评分,0 表示用户未评分影片:

  卡萨布兰卡 费城故事 Black Panther 神奇女侠 小说小说
用户 1 5.0 3.0 0.0 2.0 0.0
用户 2 4.0 0.0 0.0 1.0 5.0
用户 3 3.0 1.0 4.0 5.0 0.0

电影推荐系统旨在预测未评级电影的用户评分。例如,用户 1 会喜欢《黑豹》吗?

推荐系统采用的一种方法是使用矩阵分解生成以下两个矩阵:

  • 用户矩阵,形状为用户数 X 嵌入维度数。
  • 项矩阵,其形状为嵌入维度数量 X 项数。

例如,对三个用户和五个项使用矩阵分解可以生成以下用户矩阵和项矩阵:

User Matrix                 Item Matrix

1.1   2.3           0.9   0.2   1.4    2.0   1.2
0.6   2.0           1.7   1.2   1.2   -0.1   2.1
2.5   0.5

用户矩阵和项矩阵的点积会生成推荐矩阵,其中不仅包含原始用户评分,还包含针对每位用户未看过的电影的预测。例如,假设用户 1 的评分为 Casablanca,为 5.0。与推荐矩阵中该单元格对应的点积应该约为 5.0,即:

(1.1 * 0.9) + (2.3 * 1.7) = 4.9

更重要的是,用户 1 会喜欢黑豹吗?计算第一行和第三列对应的点积会生成 4.3 的预测评分:

(1.1 * 1.4) + (2.3 * 1.2) = 4.3

矩阵分解通常会生成用户矩阵和项矩阵,两者一起会比目标矩阵小得多。

(右)

推荐系统

#recsystems

一个系统,为每位用户选择来自大型语料库的相对较少的推荐项。例如,视频推荐系统可能会推荐一个包含 100,000 个视频视频的语料库中的两个视频,为一个用户选择 CasablancaThe Philadelphia Story,为另一个用户选择 Wonder WomanBlack Panther。视频推荐系统可能会根据多种因素提供建议,例如:

  • 类似用户已评分或观看过的电影。
  • 类型、导演、演员、目标受众...

重新排名

#recsystems

推荐系统的最后阶段,在此期间,系统可能会根据其他一些(通常是非机器学习)算法重新对这些得分项进行重新评分。重新排名会评估评分阶段生成的内容列表,并执行如下操作:

  • 消除用户已购买的商品。
  • 提高时下菜品的得分。

S

评分

#recsystems

推荐系统的一个部分,为候选生成阶段生成的每一项提供值或排名。

U

用户矩阵

#recsystems

推荐系统中,一种由矩阵分解生成的嵌入向量,其中包含有关用户偏好设置的潜在信号。用户矩阵的每一行都包含某一用户的各种潜在信号的相对强度信息。以电影推荐系统为例。在这个系统中,用户矩阵中的潜在信号可能代表每个用户对特定类型的兴趣,或者可能更难以解读,因为其中涉及到多个因素的复杂互动。

用户矩阵包含每项潜在特征的列,以及每位用户的一行。也就是说,用户矩阵与要分解的目标矩阵具有相同的行数。例如,假设某个电影推荐系统有 1,000,000 名用户,那么用户矩阵将有 1,000,000 行。

W

加权交替最小二乘 (WALS)

#recsystems

一种算法,用于在推荐系统中的矩阵分解期间最大限度地降低目标函数,从而降低缺失样本的权重。WALS 交替修正行分解和列分解,以尽量减少原始矩阵和重建之间的加权平方误差。每一项优化都可以通过最小二乘凸优化来解决。如需了解详情,请参阅推荐系统课程