站群导航· 游戏攻略 / 礼包码 / 配置 / 换算 / 查询 / 手册
导航菜单
首页 全部文章 留言本

AUC 0.82 却上线翻车:模型评估的 4 组对照实验

去年 11 月,一个 3 人小组做的排序模型离线 AUC 0.82,比线上基线高 2 个点,灰度 5% 跑了三天,人均点击反而降了 1.8%。复盘做了 4 组对照实验,结论对做模型评估的人应该有用。

对照一:换评估指标。同样的模型,AUC 0.82,GAUC(按用户分组的 AUC)只有 0.61,NDCG@10 0.53。AUC 高说明整体排序能力还行,GAUC 低说明对不同用户的区分度差。线上看到的是“千人一面”,头部内容被反复推。结论:排序模型评估至少看 AUC 和 GAUC 两个,差异超过 0.15 就要查用户特征。

对照二:换样本切分方式。随机切分 AUC 0.82,按时间切分掉到 0.76。差在哪?随机切分让模型看到了“未来”的行为模式,比如某热点在第 10 天爆发,训练集里已经有了第 12 天的数据。按时间切分(前 20 天训练,后 10 天验证)更接近线上。经验值:两个切分方式的 AUC 差距在 0.03 以内才算稳,超过 0.05 就得怀疑特征穿越。

对照三:换正负样本比例。原始比例 1:30,训练后模型打分集中在 0.01 到 0.05 之间,阈值不好定。下采样到 1:5 重训,AUC 微降 0.01,但打分分布拉开了,校准之后线上点击率提了 0.9%。这里有个细节:下采样后要把输出概率按原比例还原,公式是 p' = p/(p + (1-p)/k),k 是负采样倍数,忘了这一步阈值全错。

对照四:换评估人群。全量 AUC 0.82,但拆开看:老用户(注册超 90 天)0.84,新用户 0.68。新用户占比 18%,拉低了整体。上线后恰逢拉新活动,新用户占比冲到 35%,模型表现自然崩。评估报告不拆人群,等于把风险藏起来了。

还有一个容易忽略的:模型在不同曝光位置的排序能力不一致。位置 1 到 3 的 NDCG 是 0.71,位置 4 到 10 只有 0.48。说明模型更擅长挑头部,中间位置排序混乱。改法是训练时对中间位置的样本加权,权重 1.5,跑一周后位置 4 到 10 的 NDCG 到 0.55,人均点击涨 0.6%。

评估流程上建议固定 4 步:时间切分、分人群看指标、看打分分布、做小流量灰度。灰度流量别一上来就 10%,5% 跑满 7 天,样本量足够看出 1% 级别的差异。1% 以下的差异,多数是噪声。

站群互链

攻略窝 · 礼包窝 · 配置窝 · 换算窝 · 算法窝 · 查文窝 · 手册窝 · 问答窝 · 全文搜 · 手册库
上一篇 时差怎么算(装修预算场景) 下一篇 时差怎么算(示例20)