ItemCF
8/23/26About 1 min
ItemCF
Item-based Collaborative Filtering 根据“被相似用户共同消费”计算物品关系,再从用户近期交互物品扩展候选。它实现简单、可解释、无需复杂训练,是推荐召回的重要基线。
相似度
喜欢物品 的用户集合记为 ,常用 cosine-style 共现相似度:
分母抑制热门物品,但仍可能有流行度偏差。可进一步降低高活用户贡献:
其中 是用户交互物品集合。
候选打分
对用户历史 ,候选 的得分可写为:
可编码行为强度、时间衰减和负反馈。线上通常只保留每个物品 top-M 邻居,并从最近或高价值历史中取种子,控制延迟。
工程实现
- 用 MapReduce/Spark 统计共现并定期构建邻接表;
- 对新交互做流式增量,控制离线索引滞后;
- 过滤已消费、不可见、过期和不安全内容;
- 对热门、长尾和新品设置独立配额;
- 记录 seed item 与相似边,支持解释和归因。
局限
ItemCF 依赖行为共现,冷启动和稀疏物品表现较弱;它容易重复用户已有兴趣并强化热门偏差,也难以直接利用文本与图像语义。实际系统常把它与内容向量、双塔和探索路径组合。
