M7-051M7: Retrieval, Ranking & RecSys学习排序 (LTR)Hard
Mastery:
学习排序 (LTR): 解释 LTR 的特征工程与特征重要性分析。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 特征需归一化/分桶/交叉;重要性用 GBDT gain 或 SHAP 分析;注意'重要性≠因果'与'高成本特征'的剔除。
📌 Key Takeaways
- •特征工程:归一化、分桶、交叉特征、时序统计
- •重要性分析:GBDT 的 gain、SHAP(可解释、能看方向)
- •注意:重要性≠因果(相关特征分摊)、需考虑成本
📐 Mathematical Derivations
数学机理:<strong>特征工程</strong>——(1) <strong>归一化</strong>——(a) 树模型<strong>不需要</strong>归一化(基于阈值分裂,对尺度不敏感);(b) 线性模型/神经网络<strong>需要</strong>归一化(否则尺度大的特征主导)。(2) <strong>分桶/离散化</strong>——(a) 树模型天然处理(通过分裂点);(b) 但对'长尾分布'(如 CTR)分桶可提升稳定性;(c) <strong>对数变换</strong>(处理重尾);(d) <strong>等频分桶</strong>(每桶样本数相近)。(3) <strong>交叉特征(feature crossing)</strong>——(a) '查询类型 × 文档类型';(b) '用户年龄 × 品类';(c) 手工交叉需要领域知识;(d) <strong>自动交叉</strong>(FM/DeepFM 的隐向量内积——见深度推荐模型);(e) <strong>树模型可自动学交叉</strong>(通过多层分裂)。(4) <strong>时序统计</strong>——(a) 近 1 天/7 天/30 天的 CTR/曝光/点击;(b) <strong>滑动窗口</strong>(平滑);(c) <strong>趋势</strong>(上升/下降);(d) <strong>注意</strong>——时序特征易泄漏(见训练-服务一致性)。(5) <strong>缺失值处理</strong>——(a) 填充(均值/中位数);(b) <strong>作为独立类别</strong>('缺失'可能本身有信息);(c) 树模型可处理缺失(默认方向)。<strong>特征重要性分析</strong>——(1) <strong>GBDT 的 gain</strong>——特征在所有分裂中的'信息增益之和'(或使用次数);<strong>优点</strong>——快、内置于训练;<strong>缺点</strong>——(a) 偏向'高基数'特征(如 id 类,容易分裂);(b) 不反映'方向'(增大还是减小目标);(c) 相关特征会'分摊'重要性。(2) <strong>SHAP(SHapley Additive exPlanations)</strong>——用博弈论的 Shapley 值分配'每个特征对预测的贡献';<strong>优点</strong>——(a) 有理论保证(满足一致性、对称性等);(b) <strong>能看方向</strong>(正值/负值);(c) 可做'局部解释'(单个样本)与'全局解释';<strong>缺点</strong>——(a) 计算慢(尤其精确 SHAP);(b) 对相关特征仍会分摊。(3) <strong>置换重要性(permutation importance)</strong>——随机打乱某特征后看性能下降;<strong>优点</strong>——直观;<strong>缺点</strong>——(a) 打乱会破坏特征相关性(可能高估);(b) 计算成本(需多次评估)。(4) <strong>消融(ablation)</strong>——直接去掉特征重训;<strong>最可靠但最贵</strong>。<strong>'重要性 ≠ 因果'</strong>——(a) 相关特征会'分摊'重要性(两个高度相关的特征各得一半);(b) 重要性反映'模型的使用'而非'真实世界的因果';(c) 若要因果需实验(A/B)。<strong>成本感知的特征选择</strong>——(a) <strong>重要性 / 计算成本</strong> 的比值(剔除'低重要性高成本'的特征);(b) <strong>分阶段</strong>(召回用廉价特征、精排用昂贵特征);(c) <strong>在线延迟预算</strong>(特征计算不能超预算)。<strong>实践建议</strong>——(a) <strong>树模型不需归一化、线性/神经需归一化</strong>;(b) <strong>自动交叉用 FM/树</strong>(手工交叉成本高);(c) <strong>重要性用 gain 快速筛 + SHAP 深入分析</strong>;(d) <strong>注意相关特征的分摊</strong>;(e) <strong>成本感知的选择</strong>(重要性/成本);(f) <strong>消融验证关键特征</strong>。<strong>度量</strong>——(a) 特征重要性(gain/SHAP);(b) 加入/剔除特征后的 NDCG;(c) 特征的计算延迟;(d) 缺失率。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'树模型不需归一化'是实用常识</strong>——但'线性/神经需归一化';面试中能区分是深度理解的标志。② <strong>'gain 偏向高基数特征'是已知缺陷</strong>——如 id 类特征容易'分裂'但不泛化;故需结合 SHAP/消融。③ <strong>'SHAP 能看方向'</strong>——这比 gain 信息更多('该特征增大时目标如何变化');故适合深入分析。④ <strong>'重要性≠因果'</strong>——相关特征会分摊;若要因果需 A/B。⑤ <strong>'成本感知的特征选择'很实用</strong>——重要性/成本比值是剔除特征的标准;尤其在线系统(延迟预算)。⑥ <strong>面试要点</strong>——被问'怎么做特征工程与选择',应给出'<strong>工程(归一化/分桶/交叉/时序)+ 重要性(gain/SHAP/置换/消融)+ 注意(≠因果、成本感知)</strong>';能指出'gain 偏向高基数'与'重要性≠因果'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕对树模型做归一化(无必要)
- ✕用 gain 直接判断因果(相关特征分摊)
🎯 Interviewer Follow-ups
- ?为什么树模型喜欢分桶特征?
- ?SHAP 与 gain 的差异?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.