趋近智
基于近邻的协同过滤面临一个基本的路径选择:是寻找相似的用户,还是寻找相似的物品?这个选择引出了该领域的两种主要策略:基于用户的协同过滤 (UBCF) 和基于物品的协同过滤 (IBCF)。虽然两者都使用用户-物品交互矩阵,但它们在寻找“近邻”和生成推荐的方法上截然不同。理解它们的运行机制和权衡取舍,是设计有效系统的进步。
基于用户的方法或许是现实生活中推荐方式最直接的转化。其核心原则是:“喜欢过和你相同东西的用户,很可能也会喜欢你同样会喜欢的其他东西。”它的工作原理是识别出一群与目标用户品味特征相似的用户近邻,然后推荐这些近邻喜欢过但目标用户尚未见过的物品。
该过程可以分解为以下步骤:
基于用户的方法通过物品 1 和 2 的共同偏好历史,识别出用户 A 和 B 与“你”相似。由于用户 A 也喜欢物品 3,因此将物品 3 推荐给“你”。
虽然直观,但基于用户的协同过滤有明显的缺点。随着用户数量增加,计算所有用户对之间的相似度会变得计算成本很高。此外,用户的品味可能经常变化,这意味着用户相似度矩阵需要不断重新计算以保持准确。
基于物品的方法改变了视角。它不再问“谁和你相似?”,而是问“哪些物品和你喜欢的物品相似?”。这种方法在电子商务中被广泛使用,例如“购买此商品的用户还购买了……”等功能。它根据物品之间的关系生成推荐,而不是根据用户之间的关系。
基于物品的协同过滤流程如下:
基于物品的方法观察到“你”喜欢物品 1。它发现物品 3 与物品 1 相似,因为其他用户(A 和 B)往往对两者都喜欢。因此,物品 3 被推荐。
在实际应用中,基于物品的协同过滤通常更受欢迎,原因有几点。系统中的物品数量通常比用户数量更稳定且更少。这意味着物品相似度矩阵不需要频繁更新,且可以离线计算,使系统在提供实时推荐时更具扩展性且速度更快。
选择基于用户还是基于物品的方法取决于数据集和应用的具体特征。以下是它们属性的直接对比:
| 属性 | 基于用户的协同过滤 (UBCF) | 基于物品的协同过滤 (IBCF) |
|---|---|---|
| 核心逻辑 | “找到和我相似的用户” | “找到和我喜欢的物品相似的物品” |
| 计算量 | 相似度矩阵随用户数增加 ()。对于用户众多的系统而言成本很高。 | 相似度矩阵随物品数增加 ()。如果物品少于用户,则更易处理。 |
| 稳定性 | 用户品味会变,因此相似性不稳定,需要频繁更新。 | 物品关系相对静态。矩阵较稳定,更新频率较低。 |
| 数据稀疏性 | 受影响较大,因为两个用户必须有足够数量的共同评分物品才能被视为相似。 | 适应性更强。即使单个用户的评分很少,也可以可靠地计算物品相似度。 |
| 扩展性 | 较低。随着用户基数增长,实时寻找用户近邻的速度会变慢。 | 较高。物品相似度可以预先计算,使实时推荐非常迅速。 |
| 惊喜度 | 通过借鉴相似用户的多样品味,可以产生更多新颖的推荐。 | 倾向于推荐与用户已知物品非常相似的东西,可能限制了探索空间。 |
在大多数现代应用中,特别是物品库比用户群更稳定的电子商务和媒体流媒体平台,基于物品的协同过滤是主流选择。它的扩展性和相似性模型的稳定性提供了显著的实际优势。正是出于这些原因,我们在本章的动手实践中将重点构建一个基于物品的过滤器。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•