本页面包含推荐系统术语表。如需了解所有术语表术语,请点击此处。
C
生成候选人
由推荐系统选择的第一组建议。例如,假设有一家书店提供 100,000 本图书。候选生成阶段为特定用户创建的合适图书列表要少得多,例如 500。但即使是 500 本图书,也很难向用户推荐。后续、更昂贵的推荐阶段(例如评分和重新排名)将这 500 个推荐范围缩减为一个小得多、更实用的推荐集。
协同过滤
基于许多其他用户的兴趣对一位用户的兴趣做出预测。协同过滤通常用于推荐系统。
I
项矩阵
在推荐系统中,一个由矩阵分解生成的嵌入向量,包含有关每个项的潜在信号。项矩阵的每一行都存储一个潜在特征的所有特征的值。以电影推荐系统为例。项矩阵中的每一列表示一部电影。潜在信号可能代表流派,或者可能更难以理解,其中涉及类型、明星、电影年龄或其他因素之间的复杂互动。
项矩阵与要分解的目标矩阵的列数相同。例如,假设某个电影推荐系统评估了 10000 部电影片,则项矩阵将具有 10000 列。
items
在推荐系统中,系统推荐的实体。例如,视频是应用商店推荐的项,而图书是书店推荐的项。
M
矩阵分解
在数学中,一种用来查找点积接近目标矩阵的矩阵的机制。
在推荐系统中,目标矩阵通常包含用户对项目的评分。例如,电影推荐系统的目标矩阵可能如下所示,其中正整数表示用户评分,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 会喜欢《黑豹》吗?
推荐系统采用的一种方法是使用矩阵分解生成以下两个矩阵:
例如,对三个用户和五个项使用矩阵分解可以生成以下用户矩阵和项矩阵:
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
矩阵分解通常会生成用户矩阵和项矩阵,两者一起会比目标矩阵小得多。
(右)
推荐系统
一个系统,为每位用户选择来自大型语料库的相对较少的推荐项。例如,视频推荐系统可能会推荐一个包含 100,000 个视频视频的语料库中的两个视频,为一个用户选择 Casablanca 和 The Philadelphia Story,为另一个用户选择 Wonder Woman 和 Black Panther。视频推荐系统可能会根据多种因素提供建议,例如:
- 类似用户已评分或观看过的电影。
- 类型、导演、演员、目标受众...
重新排名
推荐系统的最后阶段,在此期间,系统可能会根据其他一些(通常是非机器学习)算法重新对这些得分项进行重新评分。重新排名会评估评分阶段生成的内容列表,并执行如下操作:
- 消除用户已购买的商品。
- 提高时下菜品的得分。
S
评分
推荐系统的一个部分,为候选生成阶段生成的每一项提供值或排名。
U
用户矩阵
在推荐系统中,一种由矩阵分解生成的嵌入向量,其中包含有关用户偏好设置的潜在信号。用户矩阵的每一行都包含某一用户的各种潜在信号的相对强度信息。以电影推荐系统为例。在这个系统中,用户矩阵中的潜在信号可能代表每个用户对特定类型的兴趣,或者可能更难以解读,因为其中涉及到多个因素的复杂互动。
用户矩阵包含每项潜在特征的列,以及每位用户的一行。也就是说,用户矩阵与要分解的目标矩阵具有相同的行数。例如,假设某个电影推荐系统有 1,000,000 名用户,那么用户矩阵将有 1,000,000 行。
W
加权交替最小二乘 (WALS)
一种算法,用于在推荐系统中的矩阵分解期间最大限度地降低目标函数,从而降低缺失样本的权重。WALS 交替修正行分解和列分解,以尽量减少原始矩阵和重建之间的加权平方误差。每一项优化都可以通过最小二乘凸优化来解决。如需了解详情,请参阅推荐系统课程。