松鼠乐园 松鼠乐园
  • 注册
  • 登录
  • 首页
  • 快捷入口
    • Vue
    • Tensorflow
    • Springboot
    • 语言类
      • CSS
      • ES5
      • ES6
      • Go
      • Java
      • Javascript
    • 工具类
      • Git
      • 工具推荐
    • 服务器&运维
      • Centos
      • Docker
      • Linux
      • Mac
      • MySQL
      • Nginx
      • Redis
      • Windows
    • 资源类
      • 论文
      • 书籍推荐
      • 后端资源
      • 前端资源
      • html网页模板
      • 代码
    • 性能优化
    • 测试
  • 重大新闻
  • 人工智能
  • 开源项目
  • Vue2.0从零开始
  • 广场
首页 › 人工智能 › 模型评估的性能指标

模型评估的性能指标

迦娜王
3年前人工智能
1,656 0 3

在做模型优化的时候,我们必须要知道一些性能指标。不过,目前的人工智能水平,还不能达到像电影中那要,更多的是有场景约束。

错误率 & 精度

针对数据集D和学习器f而言:

  • 错误率:分类错误的样本数占总样本的比例
    file
  • 精度:分类正确的样本数占总样本的比例
    file

召回率 & 准确率

精度和错误率虽然常用,但还是不能满足所有的需求。举个例子:
信息检索中,我们经常会关系“检索出的信息有多少比例是用户感兴趣的”以及“用户感兴趣的信息中有多少被检索出来了”,用精度和错误率就描述出来了,这就需要引入准确率(precision,亦称查准)和召回率(recall,亦称查全)。

真实情况 预测为正 预测为反 召回率
正 TP(真正) FN(假反) file
反 FP(假正) TN(真反)
准确率 file
  • 准确率
    预测结果中,究竟有多少是真的正?(找出来的对的比例)
    file

-召回率
所有正样本中,你究竟预测对了多少?(找回来了几个)
file

P-R曲线

一般来说,我们希望上述两个指标都是越高越好,然而没有这么好的事情,准确率和召回率是一对矛盾的度量,一个高时另一个就会偏低,当然如果两个都低,那肯定时哪点除了问题。
file

当我们根据学习器的预测结果对样例进行排序(排在前面的时学习器认为“最可能”是正例的样本),然后按此顺序依次吧样本喂给学习器,我们把每次的准确率和召回率描出来就会得到一个P-R曲线(称为P-R图)。根据这个图怎么评估不同的学习器的好坏呢?
直观感受:如果一个学习器的P-R被另一个学习器的该曲线包围,则可以断言后面的要好些。
但是如果两个曲线有交叉,那就很难说清楚了。一个比较合理的判据是我比较下两个曲线下面的面积大小,他能在一定程度上反应P和R“双高”的比例,但问题是这个面积值不太容易估算啊。那有没有综合考虑这两个指标的指标呢?当然是有的,平衡点

平衡点(Break-Even Point, BEP)

就是找一个 准确率 = 召回率 的值,就像上面的PR图那样。

F1度量

F1是准确率和召回率的调和平均,即是
file
换算下:
file
然而,在更一般的情况下,我们对P和R的重视程度又是不同的,因此,F1度量的更一般的形式可以写作加权调和平均F ,即是
file
换算下:
file

mAP

  • mAP是什么
    多标签图像分类任务中图片的标签不止一个,因此评价不能用普通单标签图像分类的标准,即mean accuracy,该任务采用的是和信息检索中类似的方法—mAP(mean Average Precision),虽然其字面意思和mean accuracy看起来差不多,但是计算方法要繁琐得多。
  • 计算过程
    保存所有样本的confidence score

    首先用训练好的模型得到所有测试样本的confidence score,每一类(如car)的confidence score保存到一个文件中(如comp1_cls_test_car.txt)。假设共有20个测试样本,每个的id,confidence score和ground truth label如下:
    file

    对confidence score进行排序

    file

    计算precision和recall

    上面我们一共有20个测试样本,如果把这20个样本放在一起,按照表1给出的把他们分成4类,就可以得到下面的示意图:
    file
    其中,圆圈内(真正 + 假正)是我们模型预测为正的元素,比如对测试样本在训练好的car模型上分类(如果是car,输出label = 1,反之=0),现在假设我们想得到top-5的结果,也就是说圆圈内一共有5个数据,即排序好的表的前面5个:
    file
    好了,上表就是我们预测为正的元素啦,他的准确率是多少?file

召回率是多少呢?在这里请注意我们的所有测试样本一共有多少个car(也就是label=1有几条数据),在下表中很容易找到6条记录,那我们预测出来的结果找到几个car呢?上面的top-5中我们只找到了2个car。
file
也就是说,召回率为:
file
实际多类别分类任务中,我们通常不满足只通过top-5来衡量一个模型的好坏,而是需要知道从top-1到top-N(N是所有测试样本个数,本文中为20)对应的precision和recall。显然随着我们选定的样本越来也多,recall一定会越来越高,而precision整体上会呈下降趋势。把recall当成横坐标,precision当成纵坐标,即可得到常用的precision-recall曲线。这个例子的precision-recall曲线如下:
file

计算AP

接下来说说AP的计算,此处参考的是PASCAL VOC CHALLENGE的计算方法。首先设定一组阈值,[0, 0.1, 0.2, …, 1]。然后对于recall大于每一个阈值(比如recall>0.3),我们都会得到一个对应的最大precision。这样,我们就计算出了11个precision。AP即为这11个precision的平均值。这种方法英文叫做11-point interpolated average precision。​

当然PASCAL VOC CHALLENGE自2010年后就换了另一种计算方法。新的计算方法假设这N个样本中有M个正例,那么我们会得到M个recall值(1/M, 2/M, …, M/M),对于每个recall值r,我们可以计算出对应(r’ > r)的最大precision,然后对这M个precision值取平均即得到最后的AP值。计算方法如下:
file
注:这里倒数第二列,top-6的Max Precision应该为3/6(而不是4/7),上面图片有点问题。

AP衡量的是学出来的模型在给定类别上的好坏,而mAP衡量的是学出的模型在所有类别上的好坏,得到AP后mAP的计算就变得很简单了,就是取所有AP的平均值。

来源

https://blog.csdn.net/u014203453/article/details/77598997

3
本文系作者 @迦娜王 原创发布在 松鼠乐园。未经许可,禁止转载。
STN在手写数字识别中的实践
上一篇
前言
下一篇
评论 (0)

请登录以参与评论。

现在登录
  • 错误率 & 精度
  • 召回率 & 准确率
  • P-R曲线
  • 平衡点(Break-Even Point, BEP)
  • F1度量
  • mAP
  • 来源
3
相关文章
我收集了12款自动生成器,无聊人士自娱自乐专用
输入一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊
使用ONNX+TensorRT部署人脸检测和关键点250fps
基于 Keras 的烟火检测
松鼠乐园

资源整合,创造价值

小伙伴
墨魇博客 无同创意
目录
重大新闻 Centos CSS Docker ES5 ES6 Go Java Javascript Linux Mac MySQL Nginx Redis Springboot Tensorflow Vue Vue2.x从零开始 Windows 书籍推荐 人工智能 前端资源 后端资源 壁纸 开源项目 测试 论文
Copyright © 2018-2022 松鼠乐园. Designed by nicetheme. 浙ICP备15039601号-4
  • 重大新闻
  • Centos
  • CSS
  • Docker
  • ES5
  • ES6
  • Go
  • Java
  • Javascript
  • Linux
  • Mac
  • MySQL
  • Nginx
  • Redis
  • Springboot
  • Tensorflow
  • Vue
  • Vue2.x从零开始
  • Windows
  • 书籍推荐
  • 人工智能
  • 前端资源
  • 后端资源
  • 壁纸
  • 开源项目
  • 测试
  • 论文
热门搜索
  • jetson nano
  • vue
  • java
  • mysql
  • 人工智能
  • 人脸识别
迦娜王
坚持才有希望
1224 文章
35 评论
242 喜欢
  • 3
  • 0
  • Top