一句话定义:ECE(Expected Calibration Error,期望校准误差)衡量的是模型的"信口开河程度"——当它说自己有 80% 把握时,实际正确率是不是真的接近 80%。
把置信度分桶,再逐桶算账
做法很朴素。拿一批有标准答案的样本,让模型给出预测和置信度(通常是 softmax 输出或模型自报的概率)。然后把置信度切成若干区间,比如 [0, 0.1)、[0.1, 0.2)……[0.9, 1.0],像把考卷按分数段分堆。
每个桶里做两件事:算这一桶样本的平均置信度,再算这一桶的实际准确率。两者之差就是这一桶的"吹牛幅度"。最后按每桶样本数加权平均,就得到 ECE。差值越大,说明模型越不靠谱。
生活化的比方:天气预报说"明日降水概率 70%"。一年下来把所有说过 70% 的日子挑出来,如果真的约有七成下了雨,预报就是校准的;如果只有四成下雨,那就是自信过头(overconfident)。ECE 就是这个"预报员吹牛指数",只不过换成了模型。
和相邻概念的区别
很多人会把它和准确率混为一谈,其实两者关注点完全不同。
| 指标 | 关心什么 | 类比 |
|---|---|---|
| 准确率 Accuracy | 猜对多少 | 考了多少分 |
| ECE | 说出的把握和实力是否匹配 | 估分是否诚实 |
| Brier Score / 对数损失 | 同时惩罚猜错与盲目自信 | 综合评分 |
| AUC | 排序能力,谁比谁更可能为正 | 会不会排序 |
关键区分是校准(calibration)与区分度(discrimination)。一个模型可以把正负样本排得清清楚楚,但整体概率偏高一截;反过来,一个永远输出 50% 的模型校准极好,却毫无用处。校准和排序是两件事,看指标时别搞混。
对从业者的实际意义
ECE 的价值在于:当置信度被当作决策依据时,它直接决定系统行为。医疗辅助诊断把 0.9 当作"可以放心提示医生",风控把 0.95 当作"自动放行",客服机器人把 0.8 当作"不用转人工"——如果这些阈值背后的概率是虚的,规则就全错了。
大模型时代这个问题尤其突出:生成式模型常被观察到"自信地胡说"。常见做法是事后校准,比如温度缩放(temperature scaling),用一批验证数据拟合一个缩放参数,让输出概率更贴近现实;也有人把低置信样本路由给人工复核。
需要留个心眼:ECE 依赖分桶方式,桶太多每桶样本少、噪声大,桶太少又会掩盖局部偏差。因此实践中常配合最大校准误差(MCE)、自适应校准误差(ACE)等一起看,具体实现细节以所用库的文档为准。对普通职场人来说,记住一句话就够了:模型给出的"置信度 95%"是个待验证的声明,不是事实。
