7. 评价指标
7.1. 常用指标
当评估机器学习模型或信息检索系统的性能时,常用的评价指标包括:
- AUC(Area Under the Curve)
分类器把一个随机抽取的正例排在一个随机抽取的负例之前的概率。
- GAUC(Group Area Under the Curve)
以 User 为 Group,计算每个 User 样本的 AUC,然后根据用户的样本量做加权平均(需要剔除只有正样本/负样本的用户)。
\[\mathrm{GAUC} = \frac{\sum_{k=1}^{K} n_k \times \mathrm{AUC}_k}{\sum_{k=1}^{K} n_k}\]- MRR(Mean Reciprocal Rank)
衡量相关 Item 的倒数排名。
\[\mathrm{MRR} = \frac{1}{N} \sum_{i=1}^{N} \frac{1}{rank_i}\]- MAP(Mean Average Precision)
平均精度均值,针对每个 User/Query 计算 AP 再求均值。
\[\mathrm{MAP} = \frac{1}{U} \sum_{u=1}^{U} \frac{ \sum_{i=1} P(u,i) \times rel_{u,i} }{R_u}\]- NDCG(Normalized Discounted Cumulative Gain)
归一化折损累计增益,思想:高相关性的结果比一般相关性的结果更影响最终的指标得分;有高相关性的结果出现在更靠前的位置的时候,指标会越高。
\[\begin{split}\mathrm{DCG}_p & = \sum_{i=1}^{p} \frac{2^{rel_i} - 1}{\log_2(rank_i + 1)} \\ \mathrm{IDCG}_p & = \sum_{i=1}^{\left\Vert REL_p \right\Vert} \frac{2^{rel_i} - 1}{\log_2(rank_i + 1)} \\ \mathrm{NDCG}_p & = \frac{\mathrm{DCG}_p}{\mathrm{IDCG}_p}\end{split}\]
此外,还会计算 Q 值来评价预估的高低估情况:
离线评估的目的在于快速定位问题,快速排除不可行的思路,为线上评估找到靠谱的候选者。
在分析线上效果时,可能需要分场景、类目等计算细分指标。
7.2. AUC 离在线不一致问题
特征维度
- 特征出现穿越
一般是使用了和 Label 强相关的特征,或者序列特征使用了“未来”的数据(请求时间之后)。
- 离在线不一致
特征处理不一致(比如线上有做量化、半精度),或者数据来源没对齐。
对于一些强 Bias 特征,离在线的使用方式也是特别重要的,如果使用不当往往离线收益很大而线上纹丝不动或者反向。 比如 Position Bias,在推荐领域一般放到 Wide & Deep 模型的 Wide 侧,离线训练时按实际曝光位置来训练;线上 Serving 时统一置为 0,这对于只追求序关系正确的推荐场景是没有问题的。但是放到广告 CTR 模型中就存在问题,因为广告场景中还需要依赖 pCTR 做出价计算去收取广告主的钱。
可参考 Youtube Shallow Tower 对 Bias 的处理。
训练维度
训练集与测试集是否存在重叠部分。
训练集是否出现了过拟合。
线上结果置信度
线上指标统计时间窗口:不同指标达到可置信水平的统计窗口有较大区别,这跟业务和指标稳定性有很大关系。
实验平台分桶是否足够随机(对比线上 AUC 的时候需要注意,不同模型的 AUC 是在不同流量下计算的,不一定具有可比性)。
实验模型 Serving 状态:模型请求是否超时、模型更新时效性。
数据分布
实验模型线下评估时拟合的是 Base 模型跑出来的数据分布,到上线后训练样本里既有 Base 模型跑出来样本也有实验模型跑出来的样本,且占比在不断变化,相当于数据分布在变。
有效的经验:
对无偏数据进行上采样,比如随机流量/探索流量产生的样本,或者新模型产生的样本。
Base 模型和新模型融合:模型预估分数 \(p_{new}\) 和 Base 模型预估分数 \(p_{base}\) 直接在线上做线性融合;刚上线的时候 \(\alpha\) 选取比较小的值,随着迭代 \(\alpha\) 慢慢放大。
\[p = \alpha \cdot p_{new} + (1 - \alpha) \cdot p_{base}\]
流量抢夺,链路纠缠
关注系统链路上下游的变化,收益可能被其他模块拿走了。
特殊时间点的漂移
大促/活动时间节点的数据分布会发生较大变化。
7.3. 参考资料
“AUC提升了效果指标下降了”之原因分析
推荐系统,离线 AUC 涨了,线上 CTR 等效果没涨,可能有哪些原因?
KDD’23 | 转化率预估新思路:基于历史数据复用的大促转化率精准预估
Youtube 排序系统:Recommending What Video to Watch Next