M7-052M7: Retrieval, Ranking & RecSysRecommender Systems FoundationsEasy
Mastery:

Recommender Systems Foundations: 解释协同过滤的两种形式。

📐 Mathematical Definition
UserCF: r^ui=∑v∈N(u)wuv rvi;ItemCF: r^ui=∑j∈N(i)wij ruj\text{UserCF}:\ \hat r_{ui}=\sum_{v\in N(u)}w_{uv}\,r_{vi};\qquad \text{ItemCF}:\ \hat r_{ui}=\sum_{j\in N(i)}w_{ij}\,r_{uj}
⚡ Executive Summary
Core Concept: UserCF 找相似用户(按相似用户的行为推荐);ItemCF 找相似物品(推荐与用户历史相似的物品)。

📌 Key Takeaways

  • •
    UserCF:找'与你相似的用户',推荐他们喜欢的
  • •
    ItemCF:找'与你历史物品相似的物品'
  • •
    ItemCF 更稳定(物品的相似度比用户稳定)、工业界更常用

📐 Mathematical Derivations

数学机理:<strong>协同过滤(Collaborative Filtering)的两种形式</strong>——(1) <strong>UserCF(基于用户的协同过滤)</strong>——(a) <strong>找相似用户</strong>——对用户 u,找出与他行为最相似的 K 个用户 N(u);(b) <strong>推荐</strong>——把这些相似用户喜欢的、而 u 没见过的物品推荐给 u:r̂_ui=Σ_{v∈N(u)} w_uv·r_vi(w 为相似度)。(c) <strong>直觉</strong>——'和你口味相似的人还喜欢这些'。(2) <strong>ItemCF(基于物品的协同过滤)</strong>——(a) <strong>找相似物品</strong>——对用户历史中的每个物品 i,找出与它最相似的物品;(b) <strong>推荐</strong>——推荐'与用户历史物品相似的物品':r̂_ui=Σ_{j∈N(i)} w_ij·r_uj。(c) <strong>直觉</strong>——'你喜欢 A,那么与 A 相似的商品你也可能喜欢'。<strong>相似度计算</strong>——(a) <strong>余弦相似度</strong>(基于共现向量);(b) <strong>Jaccard</strong>(集合相似度,适合隐式反馈);(c) <strong>调整余弦</strong>(减去均值,处理评分偏置);(d) <strong>共现次数/PMI</strong>(隐式反馈常用)。(3) <strong>为什么 ItemCF 更常用</strong>——(a) <strong>物品更稳定</strong>(用户的兴趣会变、物品的属性不变)→ 物品相似度矩阵可<strong>离线预计算</strong>且稳定;(b) <strong>物品数通常少于用户数</strong>(电商:商品数 < 用户数)→ 相似度矩阵更小;(c) <strong>可解释</strong>('因为你买过 A,推荐相似的 B');(d) <strong>实时性好</strong>(只需查预计算的相似度表)。(4) <strong>UserCF 的适用</strong>——(a) <strong>用户少、物品多</strong>(如新闻推荐:用户数 < 新闻数);(b) <strong>时效性强</strong>(新闻的相似度变化快,而用户兴趣相对稳定);(c) 需要'社交/群体'信号。(5) <strong>两者的问题</strong>——(a) <strong>冷启动</strong>(新用户/新物品无历史 → 无法计算相似度);(b) <strong>稀疏性</strong>(共现少 → 相似度不准);(c) <strong>流行度偏置</strong>(热门物品被推荐过多);(d) <strong>可扩展性</strong>(用户/物品数大时相似度矩阵大)。<strong>与'矩阵分解'的关系</strong>——(a) <strong>邻域法(CF)</strong>——基于'共现'(局部);(b) <strong>矩阵分解(MF)</strong>——基于'隐因子'(全局、可泛化);(c) MF 能缓解稀疏性(因为隐因子可泛化);(d) 但 CF 可解释、无需训练。<strong>工业应用</strong>——(a) <strong>ItemCF/i2i</strong> 是推荐系统<strong>召回通道</strong>的核心('看了又看'、'买了又买');(b) 常与'向量检索'结合(把 i2i 相似度用于 ANN 召回)。<strong>评估</strong>——(a) Recall@k/NDCG;(b) 覆盖率(长尾);(c) 多样性。<strong>实践建议</strong>——(a) <strong>ItemCF 作为 i2i 召回通道</strong>(稳定、可解释);(b) <strong>UserCF 用于'用户少物品多'的场景</strong>(如新闻);(c) <strong>结合 MF/深度模型</strong>(缓解稀疏);(d) <strong>处理流行度偏置</strong>(归一化/去偏)。<strong>度量</strong>——(a) Recall@k;(b) 覆盖率;(c) 新颖性。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'ItemCF 更稳定'是它更常用的根本原因</strong>——物品属性不变、用户兴趣会变;面试中能指出这一点是深度理解的标志。② <strong>'i2i 是召回通道的核心'</strong>——'看了又看'/'买了又买'本质是 ItemCF;这是工业界的标准组件。③ <strong>'冷启动与稀疏性'是 CF 的固有局限</strong>——故需与内容/深度模型互补。④ <strong>'流行度偏置'</strong>——热门物品的共现多 → 相似度被高估;故需归一化(如用'余弦'而非'共现次数')或去偏。⑤ <strong>'UserCF 适合用户少物品多'</strong>——如新闻推荐(用户数 < 新闻数);这是场景依赖的选择。⑥ <strong>面试要点</strong>——被问'协同过滤的两种形式',应给出'<strong>UserCF(找相似用户)/ ItemCF(找相似物品)+ 为什么 ItemCF 更常用(物品稳定、可预计算、可解释)</strong>';能指出'i2i 是召回通道核心'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    在用户数远大于物品数时用 UserCF(矩阵过大)
  • ✕
    忽略流行度偏置(热门被过度推荐)
🎯 Interviewer Follow-ups
  • ?
    为什么 ItemCF 比 UserCF 更常用?
  • ?
    相似度如何计算?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM7-051: 学习排序 (LTR): 解释 LTR 的特征工程与特征重要性分析。📋Back to BankNext →M7-053: Recommender Systems Foundations: 解释矩阵分解与隐因子模型。