Applied Scientist 2 · Phone Screen ML Fundamentals

Microsoft AS CTR 预测:曝光标签、时点特征与校准评估

从广告展示事件定义点击标签,控制位置/选择偏差与特征泄漏,用校准和线上实验检验 CTR 模型。

题目重点:从广告展示事件定义点击标签,控制位置/选择偏差与特征泄漏,用校准和线上实验检验 CTR 模型。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 训练版一条样本是某用户在某时刻的一次有效曝光,标签为曝光后预定窗口内是否点击;重复曝光/机器人流量与点击归因规则须业务确认。
  • 训练特征只来自曝光时已经可用的用户、广告、上下文和历史信息;点击后转化/未来浏览不得泄漏。
  • CTR 模型输出条件点击概率,而不仅是排序分数;可用于候选排序/出价时还要考虑业务目标。

解题路线

  1. 建立不可变曝光和点击事件,按 requestId/impressionId 对齐,定义 attribution window、跨设备限制和无点击负例何时成熟;缺失曝光的点击不能随意当正例。
  2. 特征包括用户历史偏好、广告文本/类目、时段、设备、位置和上下文;所有聚合按曝光时点截断,按时间切训练/验证/测试,去重同一次曝光。
  3. 先用逻辑回归/GBDT 等可解释基线,再评估 embedding/交叉特征模型,比较 log loss、PR-AUC/ROC-AUC、分桶校准、ECE 及不同广告主/新用户分层;CTR 常低基率,accuracy 无信息。
  4. 历史展示只覆盖旧策略挑选的候选和位置:记录候选集合、旧分数、position 与 propensity,必要时做受控探索;只在曝光样本上训练会有选择偏差。
  5. 上线 shadow 和 A/B 看点击、转化、用户负反馈、广告收入与公平护栏,监控预测 CTR 与实际 CTR 的校准漂移、特征新鲜度及反馈环。

手动走一遍

一条广告在列表第 1 位常被点击,在第 20 位很少被看见。若模型把两次曝光直接视为相同观察环境,会把位置效应误学成广告质量。某用户曝光后 24 小时才点击,而标签窗口只给 1 小时,按训练合同应记负例;窗口由业务目标决定。

规模与取舍

N 次曝光、F 个特征,数据 join 与按时点特征回放至少随 N 增长;模型推理成本依具体结构而异,轻量线性模型约 O(F) 每候选。低延迟线上路径还要预算特征服务、候选数与排序批量。

易错点与追问

容易失分的边界

  • 没有曝光日志,只拿点击事件和任意未点击广告凑训练集。
  • 使用点击后/转化后的特征预测曝光时点击。
  • 只报 accuracy,忽略低基率与概率校准。
  • 不记录旧展示位置,误把位置偏差当广告相关性。
  • 线下 log loss 改善就断言业务结果必然改善。

继续深挖

  • 没有完整 propensity 时可做到什么程度的去偏?
  • 新广告/新用户冷启动怎样表示?
  • 点击率提升但转化和用户满意度下降怎么办?
  • 如何区分概率校准和排序能力?
✓已复制微信号!