推荐算法Chapter2.1 协同过滤基础与邻域方法


1.协同过滤推荐 vs 基于内容的推荐

1. 协同过滤的核心思想:矩阵分解与相似度

协同过滤本质上是在处理一个用户-物品交互矩阵 $R$。矩阵的行代表用户(Users),列代表物品(Items),单元格的值代表行为(评分、点击等)。

2. 两种主要的协同过滤路径

User-based CF (基于用户的协同过滤)

  • 逻辑: 找到与目标用户 $A$ 兴趣相似的 Top-N 用户,把他们喜欢过但 $A$ 没见过的东西推给 $A$。
  • 场景: 适用于用户少、物品多,且时效性强的场景(如新闻推荐)。

    Item-based CF (基于物品的协同过滤)

  • 逻辑: 如果用户喜欢物品 $a$,而物品 $a$ 与 $b$ 经常被同一群人购买(相似),则把 $b$ 推给该用户。
  • 场景: 适用于物品少、用户多,且兴趣相对稳定的场景(如电商、电影)。
    注意: 工业界 Item-based 往往比 User-based 更常用,因为物品的属性通常比人的性格更稳定。

3. 对比

协同过滤 (CF) 基于内容 (CB)
核心逻辑 找相似的人/物(群体智慧) 找属性相似的物(内容匹配)
特征工程 不需要物品属性特征,只需 ID 极度依赖物品的标签、文本、元数据
惊喜感 高(能推出来你没见过的领域) 低(推荐的东西通常很相似)
冷启动 劣势:新用户/新物品无法处理 优势:只要有内容标签,新物品就能推
可解释性 弱(“因为买了它的人也买了…”) 强(“因为你喜欢动作片,这又是一部…”)

基于用户的协同过滤 vs 基于物品的协同过滤

1. 核心思想 (Core Idea)

协同过滤的核心在于 “协同” 二字,即利用群体智慧进行预测。其核心假设是:在过去有相似偏好的人,在未来也会有相似的偏好。


2. 基于用户的协同过滤 (UserCF)

2.1 核心原理

通过寻找与目标用户 $u$ 兴趣相似的 Top-K 邻居,将邻居喜欢而 $u$ 没见过的物品推荐给 $u$。

2.2 数学表达

  1. 用户相似度计算(以余弦相似度为例):

    其中 $N(u)$ 是用户 $u$ 评价过的物品集合,$r_{ui}$ 是用户 $u$ 对物品 $i$ 的评分。

  2. 预测评分

    这里减去均值 $\bar{r}$ 是为了消除不同用户打分尺度(宽松或严格)的影响。

2.3 适用场景

  • 代表领域:新闻推荐、社交动态。
  • 原因:新闻时效性强,物品更新极快,但用户兴趣相对稳定,通过“邻居”可以快速发现热点。

3. 基于物品的协同过滤 (ItemCF)

3.1 核心原理

根据用户历史行为,计算物品间的相似度,推荐与用户曾喜欢的物品最相似的其他物品。

3.2 数学表达

  1. 物品相似度计算

    $N(i)$ 是喜欢物品 $i$ 的用户集合。该公式意味着:如果两个物品被同一群人喜欢,它们就相似。

  2. 预测评分

3.3 适用场景

  • 代表领域:电商(亚马逊、淘宝)、电影(Netflix、优酷)。
  • 原因:物品库相对稳定,且用户的长期兴趣通常围绕特定品类展开。

4. UserCF vs. ItemCF 对比总结

维度 UserCF ItemCF
推荐逻辑 人以群分(像你的人也喜欢这些) 物以类聚(你喜欢的物品关联这些)
可解释性 弱(很难解释另一个用户是谁) (因为你买过 A,所以推 B)
计算复杂度 用户多时,计算压力大 物品多时,计算压力大
惊喜感 (跨领域推荐能力强) 低(倾向于推荐相似领域的物品)
存储压力 维护用户相似度矩阵 维护物品相似度矩阵

5. 协同过滤 vs. 基于内容推荐 (CB)

区别维度 协同过滤 (CF) 基于内容 (CB)
数据源 用户行为(评分、点击) 物品属性(标签、文本、类别)
特征提取 自动(通过交互自动捕捉) 手动/显式(需要 NLP/图像处理)
新物品处理 冷启动困难(无交互无法推荐) 友好(只要有标签就能推)
核心挑战 数据稀疏性、冷启动 特征提取质量、推荐过于狭窄

6. 面试避坑指南

  1. 数据稀疏性问题:如果矩阵太稀疏(用户只买过一两个东西),CF 效果会极差。此时应提到 矩阵分解 (Matrix Factorization)
  2. 热门物品长尾效应:对于像“大米”或“周杰伦”这种全网热门,会导致相似度计算偏离。
    • 优化:在计算相似度时给热门物品降权(添加处罚因子)。
  3. 实时性:CF 算法通常涉及大矩阵运算,工业界常通过 “离线计算相似度矩阵 + 在线召回” 的流程实现。

Author: YANG
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source YANG !
  TOC