基于物品的协同过滤
概述
通过计算物品之间的相似度而非用户之间的相似度来生成推荐,将推荐系统的计算瓶颈从在线实时搜索相似用户转化为离线预计算物品相似度表,实现数量级的性能提升。
关键内容
-
核心思想:不再寻找与目标用户相似的用户,而是寻找与目标用户已评价物品相似的其他物品。算法分为两阶段:离线构建物品相似度模型,在线查表生成推荐。
-
相似度计算方法:主要包括余弦相似度、调整后余弦相似度和皮尔逊相关系数。其中调整后余弦相似度表现最优,通过减去每个用户的平均评分来消除用户评分尺度差异的干扰。
-
预测评分公式:采用加权求和或回归模型。加权求和公式为:P(u,i) = Σ(r_uj × sim(i,j)) / Σ|sim(i,j)|,其中 S_i 是与物品 i 最相似的 K 个物品中用户 u 已评价过的子集。
-
离线预计算优势:物品之间的相似度关系远比用户之间的相似度关系更加稳定。用户行为动态变化,而物品属性相对静态,因此物品相似度矩阵可以完全离线预计算并以低频更新,时间复杂度从 O(M) 降至 O(K)。
-
局限性:依赖显式评分数据;存在新物品和新用户的冷启动问题;推荐结果缺乏多样性和意外发现(serendipity);在极度稀疏场景下物品相似度计算不可靠。
-
现代应用定位:在当今工业级推荐系统中,Item-Based CF 通常作为召回阶段的候选生成器、多路召回中的一路信号、冷启动 fallback 策略,以及电商"看了又看/买了又买"模块的核心算法。
-
与 Embedding 方法的关系:Item-Based CF 的物品相似度矩阵可被视为一种基于共现统计的稀疏物品嵌入。现代 Embedding 方法(矩阵分解、Item2Vec、双塔模型)用更稠密、更具泛化能力的向量来替代它,但核心思想一脉相承。
来源
相关
- 基于用户的协同过滤 — compares_to
- Adjusted Cosine Similarity — uses
- Item-Based Collaborative Filtering Recommendation Algorithms — implements
- 平均绝对误差 MAE — uses
- GroupLens — part_of