• 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中模型预测概率的平均值。

  • 相关阅读:
    mingw32g++.exe: *: No such file or directory
    在Code:Blocks使用MinGW编译wxWidgets库
    能挂广告的博客大集合
    内存映射文件技术
    叉乘法求任意多边形面积
    C++中,如何使double不用科学计数法表示
    error: extra qualification 以及 error: no matching function for call to
    一个简单的C#委托小例子
    一个简单的C#多播委托的小例子
    控件生命周期 岁月无情
  • 原文地址:https://www.cnblogs.com/lsl1229840757/p/14381483.html
Copyright © 2020-2023  润新知