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