协同过滤的优势劣势

优点

无需任何领域知识

我们不需要领域知识,因为嵌入是自动学习的。

机遇

该模型可以帮助用户发现新的兴趣爱好。独立地,机器学习系统可以 不知道用户对给定项目感兴趣,但模型可能仍然 推荐它是因为类似用户对该产品感兴趣。

不错的起点

在某种程度上,系统只需要反馈矩阵来训练矩阵 分解模型。具体来说,该系统不需要上下文功能。 在实践中,这可以用作多个候选生成器中的一个。

缺点

无法处理新的内容

对于给定的(用户、推荐项)对,模型的预测结果以点号表示 对应嵌入的乘积。因此,如果系统未显示某一项 在训练期间,系统无法为其创建嵌入, 来查询模型。这个问题通常称为 冷启动问题。不过,以下技术 能够在一定程度上解决冷启动问题:

  • WALS 中的投影。假设有一个 \(i_0\) 未在训练中出现过, 只要系统与用户进行了几次互动 轻松计算嵌入的 \(v_{i_0}\) 嵌入,而无需 重新训练整个模型。系统只需要解决以下问题 等式或加权版本:

    \[\min_{v_{i_0} \in \mathbb R^d} \|A_{i_0} - U v_{i_0}\|\]

    上述等式对应于 WALS 中的一次迭代: 用户嵌入保持不变, 共 \(i_0\)项。也可以对新用户执行相同的操作。

  • 用于生成新项嵌入的启发法。如果系统 没有交互,则系统可以近似地将其嵌入 通过计算每个类别中相同类别项的嵌入的平均值, 同一上传者(在 YouTube 中)等。

难以为查询/商品添加辅助功能

侧边特征是指查询或商品 ID 之外的任何特征。电影专用 则侧边特征可能包括国家/地区或年龄。包括 可提高模型质量。虽然 在 WALS 中添加辅助功能可能并不容易, WALS 的泛化使这成为可能。

要泛化 WALS,请通过定义 块矩阵 \(\bar A\),其中:

  • 分块 (0, 0) 是原始反馈矩阵 \(A\)。
  • 分块 (0, 1) 是用户特征的多热编码。
  • 分块 (1, 0) 是项特征的 Multi-hot 编码。