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的图:

Expected Calibration Error (ECE)模型校准原理解析
为了能够定量地度量置信度,作者将[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) | \tag{1}E C E =b =1 ∑B ​N n b ​​∣a c c (b )−c o n f (b )∣(1 )

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

Original: https://blog.csdn.net/qq_42718887/article/details/113695473
Author: PyBigStar
Title: Expected Calibration Error (ECE)模型校准原理解析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/544990/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球