本页包含 Recommendation Systems 的术语表术语。如需查看所有术语表术语,请点击此处。
C
候选生成
推荐系统选择的初始推荐集。例如,假设一家书店有 10 万本书。候选版本生成阶段会为特定用户创建一个小得多的合适图书列表,例如 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 对《卡萨布兰卡》的评分为 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
矩阵分解通常会生成用户矩阵和项矩阵,这两个矩阵合在一起要比目标矩阵更紧凑。
R
推荐系统
一种系统,从大型语料库为每位用户选择相对较小的所需推荐项集。例如,视频推荐系统可能会从包含 10 万个视频的语料库推荐两个视频,为一位用户选择《卡萨布兰卡》和《费城故事》,并为另一位用户选择《神奇女侠》和《黑豹》。视频推荐系统可能会根据以下因素进行推荐:
- 类似用户评过分或观看过的影片。
- 类型、导演、演员、目标受众特征...
重排序
推荐系统的最后阶段,在此期间,可能会根据一些其他(通常是非机器学习)算法对已评分项进行重新评分。重排序会对在评分阶段生成的一系列推荐项进行评估,然后采取以下操作:
- 移除用户已购买的商品。
- 提高较新项的得分。
南
评分
推荐系统的一部分,用于为候选生成阶段生成的每个项提供值或排名。
U
用户矩阵
在推荐系统中,由矩阵分解生成的嵌入向量,用于保存有关用户偏好的潜在信号。用户矩阵的每一行都包含单个用户的各种潜在信号的相对强度的信息。以电影推荐系统为例。在该系统中,用户矩阵中的潜在信号可能表示每个用户对特定类型的兴趣,也可能是更难以解读的信号,其中涉及到多种因素的复杂互动。
在用户矩阵中,每个潜在特征对应一行,每个用户对应一行。也就是说,用户矩阵与要进行分解的目标矩阵具有相同的行数。例如,假设某个电影推荐系统有 100 万位用户,用户矩阵将有 100 万行数据。
西
加权交替最小二乘 (WALS)
一种算法,用于在推荐系统中进行矩阵分解期间最大限度减小目标函数,允许对缺失的样本进行降权重。WALS 交替修复行分解和列分解,可最大限度地减小原始矩阵和重构矩阵之间的加权平方误差。这些优化中的每一项优化都可以通过最小二乘凸优化来实现。如需了解详情,请参阅推荐系统课程。