Expected Calibration Error (ECE)模型校准原理解析

Expected Calibration Error (ECE)模型校准原理解析

 对于高风险应用来说,机器学习模型对其预测的置信度是至关重要的。model calibration(模型校准)就是要让模型结果预测概率和真实的经验概率保持一致。模型校准这个话题比较小众,博主也是在看一篇Self-KD的论文时才看到的。模型校准的metrics有很多,这里博主仅仅讨论Expected Calibration Error (ECE)这一个比较经典的模型校准metric。

参考资料

1. 什么是模型校准?

 模型校准就是要让模型结果预测概率和真实的经验概率保持一致。说人话也就是,在一个二分类任务中取出大量(M个)模型预测概率为0.6的样本,其中有0.6M个样本真实的标签是1。总结一下,就是模型在预测的时候说某一个样本的概率为0.6,这个样本就真的有0.6的概率是标签为1。

 上面是一个正面的例子,下面我再来举一个反面的例子说明模型校准的重要性。还是在一个二分类任务中取出大量(M个)模型预测概率为0.6的样本,而这些样本的真实标签全部都是1。虽然从accuracy的角度来考察,模型预测样本概率为0.6最后输出时会被赋予的标签就是1,即accuracy是100%。但是从置信度的角度来考察,这个模型明显不够自信,本来这些全部都是标签为1的样本,我们肯定希望这个模型自信一点,输出预测概率的时候也是1。

2. Expected Calibration Error (ECE)

 有了前面对模型置信度的感性了解,我们接下来看看该怎么用Expected Calibration Error去定量度量。首先来一张原论文On Calibration of Modern Neural Networks的图:
在这里插入图片描述
 为了能够定量地度量置信度,作者将[0, 1]区间划分为多个bin(这里划分为了5个bin),所有的二分类样本都将根据模型对其预测的结果分别落入这5个bin之中的1个。在每个bin之中计算平均的模型confidence,再与该bin中样本真实标签的平均accuracy进行对比,两者之差的绝对值就能度量模型的置信度,差距越大代表模型置信度越小。公式如下:
E C E = ∑ b = 1 B n b N ∣ a c c ( b ) − c o n f ( b ) ∣ (1) ECE = sum_{b=1}^B frac{n_b}{N} |acc(b) - conf(b) | ag{1} ECE=b=1BNnbacc(b)conf(b)(1)

 其中,b代表第b个bin,B代表bin的总数, n b n_b nb代表第b个bin中样本的总数,acc(b)代表第b个bin中样本真实标签的平均值,conf(b)代表第b个bin中模型预测概率的平均值。

原文地址:https://www.cnblogs.com/lsl1229840757/p/14381483.html