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

本页面包含推荐系统术语表中的术语。如需查看所有术语表术语,请点击此处

C

候选集生成

#recsystems

推荐系统选择的初始推荐集。例如,假设某家书店有 10 万本书。在候选集生成阶段,推荐系统会针对特定用户生成一个小得多的合适书籍列表,比如 500 本。但即使向用户推荐 500 本也太多了。推荐系统的后续阶段(例如评分重排序)会将这 500 本书列表逐渐缩小为一个小得多且更实用的推荐集。

如需了解详情,请参阅推荐系统课程中的候选生成概览

协同过滤

#recsystems

基于许多其他用户的兴趣,对某个用户的兴趣进行预测。协同过滤通常用在推荐系统中。

如需了解详情,请参阅推荐系统课程中的协同过滤部分。

I

项矩阵

#recsystems

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

项矩阵与要进行分解的目标矩阵具有相同的列数。例如,假设某个影片推荐系统要评估 10,000 部影片,则项矩阵会有 10,000 个列。

项目

#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 对《卡萨布兰卡》的评分为 5.0。Casablanca对应于推荐矩阵中该单元格的点积应该在 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

矩阵分解通常会生成用户矩阵和项矩阵,这两个矩阵合在一起明显比目标矩阵更为紧凑。

R

推荐系统

#recsystems

一种系统,从大型语料库为每位用户选择相对较小的所需推荐项集合。例如,视频推荐系统可能会从包含 100000 部视频的语料库推荐两部视频,为一位用户选择《卡萨布兰卡》和《旧欢新宠:费城故事》,而为另一位用户选择《神奇女侠》和《黑豹》。视频推荐系统可能会根据以下因素进行推荐:

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

重排序

#recsystems

推荐系统的最后阶段,在此期间,可能会根据其他(通常是非机器学习)算法,对已获得评分的推荐项重新评分。重排序会对在打分阶段生成的推荐项列表进行评估,然后采取以下操作:

  • 消除用户已购买的推荐项。
  • 提高较新推荐项的得分。

S

评分

#recsystems

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

U

用户矩阵

#recsystems

推荐系统中,由矩阵分解生成的嵌入向量,用于存储与用户偏好相关的潜在信号。用户矩阵的每一行都包含关于单个用户的各种潜在信号的相对强度的信息。以影片推荐系统为例。在该系统中,用户矩阵中的潜在信号可能表示每个用户对特定类型的兴趣,也可能是更难以解读的信号,其中涉及多个因素之间的复杂互动关系。

用户矩阵包含的列和行分别对应每个潜在特征和每位用户。也就是说,用户矩阵与要进行分解的目标矩阵具有相同的行数。例如,假设某个影片推荐系统要为 1000000 名用户推荐影片,则用户矩阵有 1000000 行。

W

加权交替最小二乘 (WALS)

#recsystems

一种算法,用于在推荐系统中执行矩阵分解期间最小化目标函数,以便对缺失的样本进行权重下调。WALS 交替修复行分解和列分解,以尽可能减小原始矩阵和重构矩阵之间的加权平方误差。这些优化皆可通过最小二乘凸优化实现。如需了解详情,请参阅推荐系统课程