M7-053M7: Retrieval, Ranking & RecSysRecommender Systems FoundationsEasy
Mastery:
Recommender Systems Foundations: 解释矩阵分解与隐因子模型。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 把用户-物品评分矩阵分解为'用户隐因子 × 物品隐因子';用内积预测评分,用 ALS/SGD 优化。
📌 Key Takeaways
- •分解:R ≈ P·Qᵀ(用户隐因子 × 物品隐因子)
- •预测:内积(+ 全局均值 + 用户/物品偏置)
- •优化:SGD 或 ALS(交替最小二乘);加 L2 正则
📐 Mathematical Derivations
数学机理:<strong>矩阵分解(Matrix Factorization,MF)</strong>——(1) <strong>核心思想</strong>——把稀疏的用户-物品评分矩阵 R(用户 × 物品)<strong>近似分解</strong>为两个低秩矩阵:R ≈ P·Qᵀ,其中 P(用户 × k)是<strong>用户隐因子</strong>、Q(物品 × k)是<strong>物品隐因子</strong>(k 是隐因子维度,如 32~256)。(2) <strong>预测</strong>——用内积预测评分:r̂_ui=⟨p_u, q_i⟩(+ 偏置项,见下)。(3) <strong>偏置项(重要)</strong>——实际的评分有系统性偏差:(a) <strong>全局均值 μ</strong>(整体平均分);(b) <strong>用户偏置 b_u</strong>(该用户倾向打高分还是低分);(c) <strong>物品偏置 b_i</strong>(该物品普遍受欢迎还是不受欢迎);故完整模型:r̂_ui = μ + b_u + b_i + ⟨p_u, q_i⟩;<strong>为什么重要</strong>——不加偏置时,模型要用隐因子去'解释'这些系统性偏差(浪费容量);加偏置后隐因子专注'个性化的偏好'(效果显著提升)。(4) <strong>优化</strong>——最小化带 L2 正则的平方误差:min Σ(r_ui − r̂_ui)² + λ(‖p_u‖²+‖q_i‖²+...)。<strong>求解方法</strong>——(a) <strong>SGD</strong>——对每个观测(u,i)计算误差、更新 p_u 与 q_i(简单、易加正则、支持在线);(b) <strong>ALS(交替最小二乘)</strong>——固定 Q 解 P(闭式解:p_u=(QᵀQ+λI)⁻¹Qᵀr_u)、再固定 P 解 Q,交替迭代;<strong>优点</strong>——(i) 可<strong>并行</strong>(各用户/物品独立求解);(ii) 适合<strong>隐式反馈</strong>(用加权 ALS);(iii) 无需调学习率;<strong>缺点</strong>——需'全量数据'(不适合流式)。(5) <strong>与 SVD 的关系</strong>——经典 SVD 要求矩阵<strong>完整</strong>;而推荐矩阵<strong>稀疏</strong>(大量缺失);故用'只对观测值做最小二乘'(<strong>FunkSVD</strong>)——这是'MF 在推荐中的关键调整'。(6) <strong>优势</strong>——(a) <strong>缓解稀疏性</strong>(隐因子可泛化:即使 u 与 i 没有共现,只要它们的隐因子相近就能预测);(b) <strong>降维</strong>(k ≪ 用户/物品数);(c) 可扩展(ALS 并行);(d) 可加'隐式反馈'(见下一题)。(7) <strong>局限</strong>——(a) <strong>内积的表达力限制</strong>(内积满足'三角不等式'的隐含假设,可能不适合'非传递'的偏好);(b) <strong>冷启动</strong>(新用户/物品无隐因子);(c) <strong>线性模型</strong>(无法捕捉'用户-物品的交互'——深度模型更强)。<strong>后续发展</strong>——(a) <strong>BPR</strong>(贝叶斯个性化排序——用 pairwise 损失优化排序而非评分);(b) <strong>隐式反馈的加权 ALS</strong>;(c) <strong>神经 MF(NCF)</strong>(用 MLP 替代内积);(d) <strong>双塔模型</strong>(用户塔/物品塔——可视为'神经化的 MF',且可用 ANN 检索)。<strong>实践</strong>——(a) <strong>显式评分</strong> → MF + 偏置 + SGD/ALS;(b) <strong>隐式反馈</strong> → BPR 或加权 ALS;(c) <strong>大规模召回</strong> → 双塔 + ANN(MF 的神经网络化);(d) <strong>排序</strong> → 深度模型。<strong>度量</strong>——(a) RMSE(评分预测);(b) Recall@k/NDCG(排序)。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'偏置项显著提升效果'</strong>——μ+b_u+b_i 解释了大部分'系统性偏差';面试中能指出这一点是深度理解的标志。② <strong>'只对观测值做最小二乘'是关键调整</strong>——经典 SVD 要求完整矩阵,而推荐矩阵稀疏;这是 FunkSVD 的贡献。③ <strong>'ALS 可并行'</strong>——各用户/物品独立求解;这是大规模 MF 的实用选择。④ <strong>'内积的表达力限制'</strong>——有工作(如'距离度量学习')指出内积的隐含假设可能不适合某些偏好;但实践中 MF 仍有效。⑤ <strong>'双塔是 MF 的神经化'</strong>——用户塔/物品塔可视为'非线性隐因子',且可用 ANN 检索(这是 MF 在现代召回中的形态)。⑥ <strong>面试要点</strong>——被问'矩阵分解',应给出'<strong>R≈PQᵀ + 偏置项(μ+b_u+b_i)+ 只对观测值最小二乘 + ALS/SGD</strong>'与'<strong>缓解稀疏性、可泛化</strong>';能指出'偏置项的重要性'与'双塔是神经化 MF'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕用完整 SVD(推荐矩阵稀疏,需 FunkSVD)
- ✕不加偏置项(浪费隐因子容量)
🎯 Interviewer Follow-ups
- ?为什么加偏置项?
- ?ALS 与 SGD 的差异?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.