在人工智能领域,分类任务占据了很大的比例,例如物体识别(计算机视觉)、信用卡欺诈(数值型预测)、情感分析(自然语言处理)等等。针对众多的分类需求,模型的评价标准只是简单的准确率(Accuracy)吗? AUC和Macro F1,谁才是真正的分类评价标准呢?

对于业务用户来说,希望技术团队完成的是正确分类,区别无分是分成两类还是多类,是一个级别的分类还是多个级别的分类,然后要求准一点。那么什么是准一点呢?也许用户还没有意识到这个问题的复杂性,或者说没有意识到他们真正关心的是什么。由于多分类问题可以简化为多个二分类问题,我们直接来分析看似简单的二分类问题。

准一点就是准确度(Accuracy),也就是说用户给了我们数据,我们分好类把答卷交给用户,用户判卷子的结果。以二分类举例,75%就是每100个数据,被正确挑出的正类和负类一共有75个。一般情况下这样的评估方式是合理的,但也有特殊的例子,譬如真实的正负类比例是98比2,那么模型只要把所有的数据都判别为正类,准确率就是98%,非常高,但对业务没有任何意义,因为一个负类都挑不出来。

为了更方便描述问题,我们按下表把实际的正负类和判断的正负类分成四种情况,分别是TP、FP、FN、TN,那么准确率Accuracy就是 (TP+TN)/ ALL。要提升准确率,就要降低左下角的FP(也就是误判,把不该判断为正类的误判为了正类)和右上角的FN(也就是漏判,把应该判断为正类的漏判为了负类)。下表也被称作混淆矩阵(Confusion matrix)。

那么用户实际关注的是什么呢?举两个例子。例如各大网站的商品推荐,建立一个模型的目的是尽量将正确的商品推荐给感兴趣的用户,如果推了一个产品用户没有兴趣,也不会有很大损失,这种情境下用户对于错误的推荐并不会很在意。这是一种情境。

而如果是欺诈、垃圾邮件、还款逾期判别的模型,对识别的用户和邮件会直接进行处理,被错判为欺诈的用户可能非常恼怒,被错判为垃圾邮件也许会直接影响用户工作。这种情况下宁可遗漏,也要减少误判。这是第二种情境。

这两种情境,用户关注点并不相同,情境一关注的是不要遗漏,可推荐可不推荐的都要给用户推荐过去。情境二关注的是误判,拿不准的宁可漏掉,也不要错误判定。使用技术语言,情境一关注的是查全率: Recall or TPR = TP/(TP+FN),情境二关注的是精确率: Precision = TP/(TP+FP)。那有没有平衡这两种评价标准的指标呢?有,就是F Measure,简化版本为F1。在多分类中,又细化为Micro F1和Macro F1。

到此天下太平,拿到需求只要跟用户确认好关注的是Recall,还是Precision就好。然而,新的捣乱分子出现了,那就是AUC:Area Under Curve。

AUC是反映ROC曲线下面的面积,面积越大,模型质量越好。而这个面积是由ROC曲线决定的。而组成ROC曲线的每一个点,是由TPR和FPR来决定。TPR和FPR,指的是TP的比率和FP的比率。TPR = TP/(TP+FN),其实就是Recall。而FPR是个新面孔,FPR=FP/(FP+TN)。如果全部分类正确,则TPR为1,FPR为0,ROC曲线的左上角就是坐标为0,1的点,此时AUC为1。

那么AUC和F1的区别是什么呢?AUC关注的是混淆矩阵里左右两边的关系,即放到正类答卷里的数据多,还是放到负类卷子里的数据多。

而F1关注的是正类被误判的多还是漏判的多:

那么AUC里为什么正类答卷和负类答卷的数据是变化的呢?因为AUC是在并不假设阈值是固定的前提下判断模型质量。这里的阈值是指,模型判断一行数据是正类还是负类时,是概率大于50%判断为正类?还是大于60%判断为正类?在这个阈值不固定的情况下,AUC仍可以判断模型质量,并且可以使用KS(Kolmogorov-Smirnov)来帮助查找最优阈值:KS=max(TPR-FPR)。可以说ROC曲线是由多个阈值形成的多个混淆矩阵的结果组合成的。而F1是指在阈值已经固定的前提下,判断模型质量。因而AUC更公正和合理一些。

至于最终正确的阈值是什么,要考虑用户更关注TPR还是FPR,才能取舍。

还有一点,样本确定后,TPR、FPR分母就固定下来了,所以会随TP、FP增长单调递增。但Precision的变化情况会随着阈值调整而变化,且不可预测,或者说不稳定,而AUC会稳定很多。

总结一下,正确的做法是用AUC评价模型能力,选取好的模型之后根据实际需求确定阈值,再用Macro F1计算性能指标。

二分类最优阈值确定_分类模型评价标准,AUC还是Macro F1?相关推荐

  1. 二分类最优阈值确定_分类问题的评估指标一览

    前言 最近分类问题搞的有点多,但对一些指标依旧有模糊的地方(虽然做了笔记), 事实证明, 笔记笔记,没有进到脑子里呀. 因此,我想着肯定有跟我一样半生半熟的小伙伴在分类指标这块依旧有迷惑,毕竟常用的几 ...

  2. 二分类最优阈值确定_机器学习 | 详解GBDT在分类场景中的应用原理与公式推导...

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第31篇文章,我们一起继续来聊聊GBDT模型. 在上一篇文章当中,我们学习了GBDT这个模型在回归问题当中的原理.GBD ...

  3. 二分类最优阈值确定_一文搞懂分类算法中常用的评估指标

    导读 通常我们在解决某个问题的时候,会设计多种分类算法在训练的时候我们还会调节各种超参以及使用各种trick以获取最优的分类模型,那这时候我们应该如何来衡量这个最优呢? 分类算法的评估指标有很多种,选 ...

  4. 二分类最优阈值确定_机器学习-分类和聚类

    ## 机器学习-分类和聚类.分类和回归.逻辑回归和KNN 分类和聚类的概念: ** 1.分类:使用已知的数据集(训练集)得到相应的模型,通过这个模型可以划分未知数据.分类涉及到的数据集通常是带有标签 ...

  5. 二分类最优阈值确定_AI初识:深度学习模型评估,从图像分类到生成模型

    加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...

  6. 概论第7章_参数估计_点估计的评价标准_相合性_无偏性_有效性

    点估计的评价标准包括: 相合性, 无偏性, 有效性. 一. 相合性 衡量一个估计是否可行的必要条件, 就是估计的相合性. 本文不提其定义了.直接给出一些结论. 结论 设有正态总体N( μ , σ 2 ...

  7. 分类信息网站源码_分类信息网站如何增加搜索引收录

    互联网发展至今,分类信息仍然是网民重要的需求之一,伴随着"互联网+"的发展,分类信息的重要性越发突出,虽然互联网的流量被各类型的平台所瓜分,但通过搜索引获取分类信息仍然是网民重要的 ...

  8. [基本功]分类模型评价标准

    混淆矩阵: 预测阳性 预测阴性 总计 实际阳性 TP FN P 实际阴性 FP TN N 总计 X Y ntotaln_{total}ntotal​ 准确率(accuracy) TP+TNntotal ...

  9. 前端基础(八)_盒子模型(标准盒子模型和怪异盒子模型)

    盒子模型 什么是盒子模型 网页设计中常听的属性名:内容(content).内边距(padding).边框(border).外边距(margin), CSS盒子模型都具备这些属性.这些属性我们可以用日常 ...

最新文章

  1. nuxt静态部署_nuxt静态部署打包相对路径操作
  2. 设计模式之一:单例模式(Singleton Pattern)
  3. 小小的吹一下集结号~
  4. java中方法的参数传递
  5. 最小二乘法多项式曲线拟合原理与实现--转
  6. 1、LeetCode784 字母大小写全排列
  7. 大四 PHP《上传文件》
  8. Python中的ThreadLocal变量
  9. react 事件处理_在React中处理事件
  10. java启动密码,java - 用户验证密码后如何启动java applet程序? - SO中文参考 - www.soinside.com...
  11. linux怎么随机按行打散文件,linux shell 将文件按照行数以及顺序拆分成多个文件...
  12. iOS 蓝牙开发之NFC读写
  13. 解决ios微信小程序弹框点击穿透问题
  14. 2012最犀利语录大全
  15. android 窗口切换花屏,分享Android4平台二级页面滚动花屏问题的解决方案v1.0.0
  16. 分享一个07版的office, 有密匙的。
  17. 仿网易云音乐网站(加入个人社区)
  18. 手机屏幕坏了,如何连接电脑取资料?按照这几种办法操作即可
  19. iTunes C盘占用空间太大 解决方案
  20. java语言基础总结ppt_我的java基础知识总结ppt

热门文章

  1. 多媒体计算机探索 教案,多媒体的教学设计
  2. oracle绑定主键,oracle添加主键的四种方法:
  3. 智能高柜机器人_丰田公司推出新型助力机器人
  4. java 同步块 抛出异常_java问题合集(一)
  5. 路由器(结构、分组转发流程、路由选择协议(RIP、OSPF、BGP))
  6. exit()与_exit()的区别
  7. 启明云端分享|ESP32/ESP8266 烧录器 USB-TTL转接板开发工具ESP-T01的使用教程,视频可参考B站
  8. 全球大学生超级计算机竞赛排名,清华团队蝉联世界大学生超级计算机竞赛总冠军...
  9. php怎么克隆,利用php怎么对对象进行克隆
  10. 异步加载js的三种方法