Logo
Section 1 / 3

问题陈述与评估指标

了解构建广告点击预测机器学习系统的问题陈述和评估指标。

检查点

问题陈述与评估指标

了解构建广告点击预测机器学习系统的问题陈述和评估指标。

广告点击预测

1. 问题定义

预测用户是否会点击某个广告,是数字广告领域中的一个关键问题。它直接影响收入和用户体验。请构建一个机器学习模型,用于预测广告是否会被点击。

我们聚焦于一个二分类问题:

  • 输入:关于用户、广告本身以及上下文环境的特征
  • 输出:用户点击该广告的概率(1 表示点击,0 表示未点击)

为了简化问题,我们不涉及复杂的多阶段广告排序流程(例如级联分类器),而是将其视为一个独立的预测任务。

...
广告推荐系统

背景:广告是如何投放的

在深入讨论评估指标和建模之前,先了解广告通常是如何被投放的。大多数广告投放系统采用“瀑布流”模型。

瀑布式收益模型

  1. 发布商优先通过直接交易以最高千次展示成本(CPM)出售广告展示机会;
  2. 若未售出,则将此次展示机会逐级下放至其他广告网络或交易平台;
  3. 此过程持续进行,直到广告展示最终被成功售卖。

越快且越准确地预测哪个广告会被点击,系统的整体表现就越好——不仅体现在点击率上,还包括收入和用户参与度。

...
瀑布式收益模型

2. 指标设计与需求

评估指标

在训练阶段,我们可以专注于机器学习相关的评估指标,而非直接使用收入或CTR等业务指标。以下是两类主要指标:

离线指标

  • 归一化交叉熵(NCE):NCE 是预测的对数损失(logloss)除以基准 CTR 对应的交叉熵。这种方式使得 NCE 不受整体背景点击率变化的影响。公式如下:

NCE=−1N∑i=1n(1+yi2log(pi))+1−yi2log(1−pi))−(p∗log(p)+(1−p)∗log(1−p))NCE = \frac{-\frac{1}{N} \sum_{i=1}^n (\frac{1+y_i}{2} log(p_i)) + \frac{1-y_i}{2}log(1-p_i))} {-(p*log(p) +(1-p)*log(1-p))}

其中:

  • 𝑦𝑖𝑦_𝑖:真实标签(0 或 1)
  • 𝑝𝑖𝑝_𝑖:模型预测的概率
  • 𝑝𝑝:全局平均点击率

该指标会对高置信度但错误的预测施加更重的惩罚,非常适合用于评估概率型分类器。

在线指标

  • 收入提升(Revenue Lift):指一段时间内收入的变化百分比。新模型上线时,会先在小部分流量上部署。关键在于权衡测试流量占比与 A/B 测试周期的长度。

系统需求

训练阶段

  • 数据不平衡:实际场景中点击率(CTR)极低(约 1%-2%),导致监督学习训练困难。需要采用能够处理高度不平衡数据的方法来训练模型。

  • 重训练频率:需具备一天内多次重新训练模型的能力,以应对线上数据分布的动态变化。

  • 训练/验证集划分:为模拟真实生产环境,训练集与验证集应按时间切分,确保无时间穿越。

推理阶段

  • 服务性能:广告点击预测需满足低延迟要求(50ms - 100ms)。

  • 延迟控制:由于广告请求经过瀑布流模型处理,因此机器学习模型的推荐响应必须足够迅速。

  • 防止预算超支:若广告投放模型反复推送相同广告,可能导致广告活动预算过早耗尽,造成发布商经济损失。

总结

类型目标要求
评估指标合理的归一化交叉熵和点击率表现
训练要求能有效处理类别不平衡数据
支持高吞吐量,可实现每日多次重训练
推理要求预测延迟控制在 50 至 100 毫秒之间
具备控制或避免广告活动预算超支的能力

Quiz

单选题

对于损失函数,为什么不能使用对数损失(logloss)函数?

1 / 1

信息流排序

广告点击预测模型