神经网络性能评价指标

对于一个好不容易训练出来的模型,我们需要用数学工具直观的了解它的性能好坏。

先来了解混淆矩阵

一.混淆矩阵

首先,所有的样本(数据)中,可以被分为正样本和负样本。

其次,我们在对样本进行分类的时候也会分出正样本和负样本,但我们的判断是有错误的,故存在以下情况:

True Positive(真正,TP):将正样本预测为正样本

True Negative(真负,TN):将负样本预测为负样本

False Positive(假正,FP):将负样本预测为正样本

False Negative(假负,FN):将正样本预测为负样本

所以,P为正样本,N为负样本,就有以下关系:
TP+FN=PFP+TN=NTP + FN = P \\ FP + TN = N TP+FN=PFP+TN=N
根据混淆矩阵提供的概念,我们可以延伸出准确率(Accuracy)错误率(Error rate)灵敏度(sensitive)特效度(sensitive)精确率、精度(Precision)召回率(recall)综合评价指标(F-Measure) 。这些指标是评价网络的基础要素。

1、准确率(Accuracy)

首先,它的计算公式:
ACC=TP+TNP+NACC = \frac{TP+TN}{P+N} ACC=P+NTP+TN​
直白的看,意思就是在所有样本中,我们判断对了多少。 显然是ACC越高越好(保持其他变量不变的话)。

但是!ACC很高(100%除外)并不一定代表网络优秀。这里提问自己,ACC的用途主要适用于那些方面,以及那些方面是不适用的。

打个比方:有10w个样本,其中9.999w都是正样本,剩下的只有10个负样本,你的网络只要在正样本中表现的好就能达到很高的准确率。所以那10个负样本的重要性被忽略了,如果那10个负样本才是重心的话,这个准确率就没有什么现实意义。(其中也暴露出另一个问题,数据的分布对网络的训练和评价也是非常重要的!)

2、错误率(Error rate)

首先,它的计算公式:
Er=FP+FNP+NEr = \frac{FP+FN}{P+N} Er=P+NFP+FN​
也就是:
1−ACC=Er1-ACC = Er 1−ACC=Er

3、灵敏度(Sensitive) 特效度(Specificity)**

灵敏度的计算公式:
Sensitive=TPPSensitive = \frac{TP}{P} Sensitive=PTP​
特效度的计算公式:
Specificity=TNNSpecificity = \frac{TN}{N} Specificity=NTN​
如计算公式所示,灵敏度和特效度分别是所有正样本中被判断正确的比例 和 所有负样本中被判断正确的比例,分别衡量了分类器对正负样本的识别能力。

这个分别计算 ‘准确率’ 我认为比单纯地计算准确率会来的更严谨,但前提应该是正样本和负样本的数量都足够大。

其中灵敏度等于召回率

4、精确率、精度(Precision)

公式:
Precision=TPTP+FPPrecision = \frac{TP}{TP+FP} Precision=TP+FPTP​
表示被分为正样本的数据中实际为正样本的比例。

5、综合评价指标(F-Measure)

精度和灵敏度有时候会出现矛盾的情况,所以需要被综合考虑,常用的有F-Measure(又称为F-Score)

F-Measure为Precision和Sensitive的加权平均:
F=(α2+1)∗P∗Rα2(P+R)F = \frac{(\alpha^2+1)*P*R}{\alpha^2(P+R)} F=α2(P+R)(α2+1)∗P∗R​
当α=1的时候,就是F1指标:
F1=2∗P∗RP+RF1 = \frac{2*P*R}{P+R} F1=P+R2∗P∗R​
可见F-Measure的计算调和了Precision和Sensitive,且F-Measure的值越高说明网络性能越强

现在来看一下另一个常见的指标

ROC曲线

ROC(Receiver Operating Characteristic)曲线是以假正率(FP_rate)和假负率(TP_rate)为轴的曲线。

通常我们称ROC曲线下面积为AUC,如图所示:

TP_rate指的就是灵敏度(相对无脑来说,越高越好)
TPrate=TPPTPrate = \frac{TP}{P} TPrate=PTP​
FP_rate指的是负样本中误判断为正样本的概率(相对无脑来说,越低越好)
FPrate=FPNFPrate = \frac{FP}{N} FPrate=NFP​

所以A的性能最好,B的性能最差。即:曲线越靠近A点(左上方)性能越好,曲线越靠近B点(右下方)曲线性能越差。

也可以判断出,L2的性能比L1要好。

其中,对角线CD的数学含义,指TP_rate==FP_rate,实际含义就是五五开,瞎猜的概率。(由此可知,对角线之下的点,就表明网络的性能。。。咳咳咳,还不如瞎猜)

*小总结:大部分的评价标准都建立在数据的合理分布之上

神经网络性能评价指标相关推荐

  1. 分类和目标检测的性能评价指标【转载】

    文章目录 1. mAP (mean Avearage Precision) 2. FLOPs (浮点运算数) 3. 模型参数大小 对于深度学习的网络模型,希望其 速度快, 内存小, 精度高.因此需要量 ...

  2. python评价指标_[Python人工智能] 六.神经网络的评价指标、特征标准化和特征选择...

    从本系列文章开始,作者正式开始研究Python深度学习.神经网络及人工智能相关知识.前五篇文章讲解了神经网络基础概念.Theano库的安装过程及基础用法.theano实现回归神经网络.theano实现 ...

  3. [Python人工智能] 六.神经网络的评价指标、特征标准化和特征选择

    从本系列文章开始,作者正式开始研究Python深度学习.神经网络及人工智能相关知识.前五篇文章讲解了神经网络基础概念.Theano库的安装过程及基础用法.theano实现回归神经网络.theano实现 ...

  4. 人脸识别 性能评价指标

    人脸识别常用的性能评价指标 一.什么是F1-score F1分数(F1-score)是分类问题的一个衡量指标.一些多分类问题的机器学习竞赛,常常将F1-score作为最终测评的方法.它是精确率和召回率 ...

  5. 分类模型的性能评价指标(Classification Model Performance Evaluation Metric)

    二分类模型的预测结果分为四种情况(正类为1,反类为0): TP(True Positive):预测为正类,且预测正确(真实为1,预测也为1) FP(False Positive):预测为正类,但预测错 ...

  6. 反向 Dropout,韩松团队最新工作NetAug:提高Tiny神经网络性能的新训练方法

    ​作者丨happy 编辑丨极市平台 本文首发于极市平台,转载请获得授权并标明出处. 论文链接:https://arxiv.org/abs/2110.08890 TinyNN的福音:韩松团队提出针对Ti ...

  7. 随机地址生成器_随机连接神经网络性能超过人工设计!何恺明等人发布新研究...

    选自arxiv 作者:Saining Xie.Alexander Kirillov.Ross Girshick.Kaiming He 机器之心编译 随机连接的神经网络性能居然比人工设计的网络(ResN ...

  8. Keras深度学习实战(3)——神经网络性能优化技术详解

    Keras深度学习实战(3)--神经网络性能优化技术详解 0. 前言 1. 缩放输入数据集 1.1 数据集缩放的合理性解释 1.2 使用缩放后的数据集训练模型 2. 输入值分布对模型性能的影响 3. ...

  9. 深度学习常用性能评价指标

    深度学习常用性能评价指标 前言 基于准确度的指标 基于排名的指标 基于图数据的指标 前言 深度学习性能指标是用于评价深度学习模型性能的依据,是设计模型的重要依据. 基于准确度的指标 对于模型而言仅统计 ...

最新文章

  1. [转载]:TRY...CATCH (Transact-SQL)
  2. 随机森林之oob error 估计
  3. 小东《迷路的情人》MV
  4. iOS.UITableView.SectionIndex
  5. 轮询锁使用时遇到的问题与解决方案!
  6. prototype.js 源码解读v1.3.1版本
  7. 关于网站注册账号时提示Server 对象 错误 'ASP 0177 : 800401f3'
  8. sql server 性能调优之 资源等待PAGEIOLATCH
  9. SEO:搜索引擎优化的35个技巧
  10. iOS开发中通知(Notification)快速入门及推送通知实现教程
  11. feign调用多个服务_SpringCloud服务间调用
  12. windbg学习23(!peb和PEB结构)
  13. js 导出Excel
  14. 详解数据治理体系(值得收藏)
  15. Wi-Fi6移动热点功能配置
  16. 调焦后焦实现不同距离成像_分辨率、调焦和景深
  17. html5诊断报告,放射科诊断报告模板.docx
  18. apmserv php7,apmserv
  19. win10系统获取管理员权限的设置方法一览
  20. 怎样远程控制别人的电脑

热门文章

  1. OpenCV 学习(四)之 将图片插入另一张图片中的实现(ROI)
  2. 小程序(十六)小程序仿微信聊天页面及功能
  3. Pod生命周期中的状态解释
  4. 网上如何赚钱?教你利用知识变现来赚钱!
  5. win10系统如何把U盘刷成FAT格式?
  6. 蓝湖类似的软件_发现一款即使不联网也可以和蓝湖一样好用的工具。PxCook(像素大厨)...
  7. 普通打印机如何在A4纸上打印不同内容的标签
  8. PID控制及位置式与增量式区别
  9. import 带{} 和不带的区别
  10. 利用pymupdf编辑修改pdf