机器学习评判指标


0.背景

机器学习通常评判一个算法的好坏,是基于不同场景下采用不同的指标的。通常来说,有:

  • [x] 准确度PR (Precision Recall)
  • [x] F测量
  • [ ] MCC
  • [ ] BM
  • [ ] MK
  • [ ] Gini系数
  • [x] ROC
  • [ ] Z score
  • [x] AUC
  • [ ] Cost Curve
  • [ ] BLEU
  • [ ] Matthews correlation coefficient
  • [ ] METEOR
  • [ ] Brier score
  • [ ] NIST (metric)
  • [ ] ROUGE (metric)
  • [ ] S?rensen–Dice coefficient
  • [ ] Uncertainty coefficient, aka Proficiency
  • [ ] Word error rate (WER)

从wiki获取一个很重要的二分类混淆矩阵来说明后续的内容。

图0.1 wiki上的图

图0.1为wiki上针对2分类的一个混淆矩阵,及对应的各种指标表示。其中:

  • true condition:列表示真实类别;predicted condition:行表示预测的类别;
  • 真实正类=true positive+false negative;真实负类=false positive+true negative;
  • 预测的正类=true positive+false positive; 预测的负类=false negative+true negative。

1. 不同指标的含义

1.1 accuracy&Precision Recall

如图0.1所示:

  • accuracy:(图0.1中ACC)即最常用的准确度,表示\(\frac{所有预测对了的样本个数}{总的样本个数}\);
  • Precision:(图0.1中PPV),精确率,表示预测的正类中预测对的样本个数比例\(\frac{true\, positive}{预测的正类}\);
  • Recall:(图0.1中TPR),召回率,表示真实正类中预测对的样本个数比例\(\frac{true\, positive}{真实正类}\).

1.2 F measure&&G measure

1.2.1 F measure

传统的F measure(balanced F score,\(F_1\) score)就是关于precision和recall的Harmonic均值(是数学上一种均值算法),其公式如下:

其中:

  • 当F score为0的时候最差:即precision和recall中某个值或者都接近0,则该模型越差;
  • 当F score为1的时候最好:即precision和recall同时越接近1则该模型越好。

ps:F1 score同样也被称为S?rensen–Dice coefficient或者说叫Dice similarity coefficient (DSC).

将上述式子表示成更通用的形式如下图:

其中\(F_2\),\(F_{0.5}\)是相对\(F_1\)两个常用的F measure:

  • 当\(\beta=2\),则表示recall的影响要大于precision;
  • 当\(\beta=0.5\),则表示precision的影响要大于recall.

如果以图0.1中的type I error和type II error来表示F measure,则如下面式子:

1.2.2 G measure

相对于F measure 是一种Harmonic均值,G measure是一种geometric mean,同时也被称为 Fowlkes–Mallows index

1.3 PR Curve

针对2分类,以Recall为横轴,Precision为纵轴的曲线。如图2.1.1

1.4 Cost Curve

1.5 ROC

针对2分类,以图0.1中FPR为横轴,图0.1中TPR(也就是Recall)为纵轴的曲线。如图2.1.1

AUC:Aera under curve,即表示曲线下面积的意思

2. 不同指标之间的关系

早在1998年,Provost等人就认为简单的使用accuracy去评价算法的性能是完全不够的,因为会出现acc很高,而算法却相对是差的情况。所以他们推荐使用ROC来对算法进行评价。

2.1. PRC和ROC之间的关系

当不同类别中样本的个数差别很大的时候,ROC曲线是无法正确的描述算法性能的,Jesse Davis以及前人就通过PRC来代替ROC进行算法性能描述。而这两种曲线之间一个很重要的区别就在于视觉上的体现,如图2.1.1所示。

图2.1.1 PR与ROC的曲线图

图2.1.1是基于同一个高度不平衡的数据集和同样的2个算法基础上,得到的ROC和PRC。ROC表示的算法当在拐角越接近左上角越好(即<左下-左上-右上>这样的顺序);PRC表示的算法在拐角越接近右上角越好(即<左上-右上-右下>这样的顺序)。从中可以看出PRC更能给人以算法2要好于算法1的感觉。而ROC中虽然算法2的AUC更大,可是整体给人以这两种算法都很好了,只有细微差别的感觉。所以PRC不但可以放大2个算法之间的差别,还能看出这两种算法的发展空间还是很大的。

2.2 ROC与CC(cost curves)之间的关系

如果不同类别中样本个数存在较大的偏差,则ROC曲线可能对算法的性能过分的乐观。Drummond等人推荐使用CC来替代ROC进行算法评价

2.3 AUC的探讨

参考文献

  1. [F1] wiki.F1_score
  2. [ROC] J. A. Hanley and B. J. McNeil. The meaning and use of the area under a receiver operating characteristic (ROC) curve. Radiology, 1982.
  3. [ROC] Hanley J A, McNeil B J. A method of comparing the areas under receiver operating characteristic curves derived from the same cases[J]. Radiology, 1983, 148(3): 839-843.
  4. [ROC] McNeil B J, Hanley J A. Statistical approaches to the analysis of receiver operating characteristic (ROC) curves[J]. Medical decision making, 1984, 4(2): 137-150.
  5. [ROC] DeLong E R, DeLong D M, Clarke-Pearson D L. Comparing the areas under two or more correlated receiver operating characteristic curves: a nonparametric approach[J]. Biometrics, 1988: 837-845.
  6. [ACC&ROC] Provost, F., Fawcett, T., & Kohavi, R. (1998). The case against accuracy estimation for comparing induction algorithms. Proceeding of the 15th International Conference on Machine Learning (pp. 445{453). Morgan Kaufmann, San Francisco, CA.
  7. [ROC&CC] Chris Drummond and Robert C. Holte, ‘Explicitly representing expected cost: An alternative to roc representation’, in Proceedings of the Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 198–207, (2000).
  8. [ROC] wiki.Receiver_operating_characteristic
  9. [AUC] Cortes, C., & Mohri, M. (2003). AUC optimization vs. error rate minimization. Neural Information Processing Systems 15 (NIPS). MIT Press
  10. [ROC&CC] Drummond, C., & Holte, R. C. (2004). What ROC curves can‘t do (and cost curves can). ROCAI (pp. 19{26).
  11. [ROC] Zhang, Jun; Mueller, Shane T. (2005). "A note on ROC analysis and non-parametric estimate of sensitivity". Psychometrika. 70: 203–212.
  12. [ROC] Fan J, Upadhye S, Worster A. Understanding receiver operating characteristic (ROC) curves[J]. Canadian Journal of Emergency Medicine, 2006, 8(1): 19-20.
  13. [ROC] Fawcett, Tom (2006). An Introduction to ROC Analysis. Pattern Recognition Letters. 27 (8): 861–874.
  14. [PR&ROC] .The Relationship Between Precision-Recall and ROC Curves, Jesse Davis and Mark Goadrich, ICML 2006
  15. [ROC] Brown C D, Davis H T. Receiver operating characteristics curves and related decision measures: A tutorial[J]. Chemometrics and Intelligent Laboratory Systems, 2006, 80(1): 24-38.
  16. [ROC] Weng C G, Poon J. A new evaluation measure for imbalanced datasets[C]//Proceedings of the 7th Australasian Data Mining Conference-Volume 87. Australian Computer Society, Inc., 2008: 27-32.
  17. [ROC] Powers, David M W (2011). Evaluation: From Precision, Recall and F-Measure to ROC, Informedness, Markedness & Correlation . Journal of Machine Learning Technologies. 2 (1): 37–63.
  18. [ROC] Flach P A. ROC analysis[M]//Encyclopedia of machine learning. Springer US, 2011: 869-875.
  19. [ROC] Hernandez-Orallo, J. (2013). "ROC curves for regression". Pattern Recognition. 46 (12): 3395–3411 .
  20. [ROC] Using the Receiver Operating Characteristic (ROC) curve to analyze a classification model: A final note of historical interest" (PDF). Department of Mathematics, University of Utah. Department of Mathematics, University of Utah. Retrieved May 25, 2017.
  21. [CC] Drummond C, Holte R C. Cost curves: An improved method for visualizing classifier performance[J]. Machine learning, 2006, 65(1): 95-130.
时间: 2024-10-07 08:10:49

机器学习评判指标的相关文章

EasyPR--开发详解

我正在做一个开源的中文车牌识别系统,Git地址为:https://github.com/liuruoze/EasyPR. 我给它取的名字为EasyPR,也就是Easy to do Plate Recognition的意思.我开发这套系统的主要原因是因为我希望能够锻炼我在这方面的能力,包括C++技术.计算机图形学.机器学习等.我把这个项目开源的主要目的是:1.它基于开源的代码诞生,理应回归开源:2.我希望有人能够一起协助强化这套系统,包括代码.训练数据等,能够让这套系统的准确性更高,鲁棒性更强等等

EasyPR--开发详解(6)SVM开发详解

在前面的几篇文章中,我们介绍了EasyPR中车牌定位模块的相关内容.本文开始分析车牌定位模块后续步骤的车牌判断模块.车牌判断模块是EasyPR中的基于机器学习模型的一个模块,这个模型就是作者前文中从机器学习谈起中提到的SVM(支持向量机). 我们已经知道,车牌定位模块的输出是一些候选车牌的图片.但如何从这些候选车牌图片中甄选出真正的车牌,就是通过SVM模型判断/预测得到的.   图1 从候选车牌中选出真正的车牌 简单来说,EasyPR的车牌判断模块就是将候选车牌的图片一张张地输入到SVM模型中,

聚类算法--K-means和k-mediods/密度聚类/层次聚类

目录 简述 K-means聚类 密度聚类 层次聚类 一.简述 聚类算法是常见的无监督学习(无监督学习是在样本的标签未知的情况下,根据样本的内在规律对样本进行分类). 在监督学习中我们常根据模型的误差来衡量模型的好坏,通过优化损失函数来改善模型.而在聚类算法中是怎么来度量模型的好坏呢?聚类算法模型的性能度量大致有两类: 1)将模型结果与某个参考模型(或者称为外部指标)进行对比,个人觉得认为这种方法用的比较少 2)另一种是直接使用模型的内部属性,比如样本之间的距离(闵可夫斯基距离)来作为评判指标,这

【ML-7】聚类算法--K-means和k-mediods/密度聚类/层次聚类

目录 简述 K-means聚类 密度聚类 层次聚类 一.简述 聚类算法是常见的无监督学习(无监督学习是在样本的标签未知的情况下,根据样本的内在规律对样本进行分类). 在监督学习中我们常根据模型的误差来衡量模型的好坏,通过优化损失函数来改善模型.而在聚类算法中是怎么来度量模型的好坏呢?聚类算法模型的性能度量大致有两类: 1)将模型结果与某个参考模型(或者称为外部指标)进行对比,个人觉得认为这种方法用的比较少 2)另一种是直接使用模型的内部属性,比如样本之间的距离(闵可夫斯基距离)来作为评判指标,这

推荐系统绝对不会向你推荐什么

(文/Joseph A. Konstan & John Riedl) 讲完了推荐算法是如何"猜你喜欢"的,现在,你对于每回上网购物时在线零售商是如何打量你,并努力把你的喜好和其他人的相匹配有了一个基本的概念. 推荐系统还有另外两大特点,也对你最终看到的推荐结果有着显著的影响:第一,在弄清楚你和其他购物者的相似度有多高之前,推荐系统必须先弄明白你真正喜欢什么:第二,推荐系统依照一组商业规则运行,以确保推荐结果既让你觉得有用,也使商家有利可图. 推荐算法是如何赢得你的信任,又让商家

DevOps企业实践与架构

原文地址:http://www.sohu.com/a/112351816_355140 什么是DevOps及其误区 DevOps概念从2009年提出已有8个年头.可是在8年前的那个时候,为什么DevOps没有迅速走红呢?即便是在2006年Amazon发布了ECS,微软在2008年和2010年提出和发布了Azure,DevOps的重要性似乎都没有那么强烈.我分析其原因主要有: 第一个很重要的原因是因为那时候云计算还是小众产品,更多的与虚拟化.虚拟机相关,它们还是重量级的IT基础设施. 第二个很重要

推荐系统多样性

来自于:Joseph A. Konstan & John Riedl 推荐系统还有另外两大特点,也对你最终看到的推荐结果有着显著的影响:第一,在弄清楚你和其他购物者的相似度有多高之前,推荐系统必须先弄明白你真正喜欢什么:第二,推荐系统依照一组商业规则运行,以确保推荐结果既让你觉得有用,也使商家有利可图. 推荐算法是如何赢得你的信任,又让商家有钱可赚的? 一.采集你的上网数据 举个例子,来看亚马逊的艺术品商店,上次我们去看的时候那里有 900 多万册印刷品和海报在降价促销.亚马逊的艺术品商店有这样

华云数据:云服务5分钟快速响应

从云计算的技术标准到服务标准,标准的建立将有利于规范处于初级阶段的中国云计算产业的健康发展.华云数据开行业先河,以"5分钟快速响应服务新标准"实现了差异化竞争,进一步确立了自己的优势. 在云计算的概念刚刚出现时,人们已经在热议,围绕云计算应该建立一系列标准.只不过当时,大家更关注的是云计算的技术标准.但是现在,随着云计算应用逐步落地,以及提供各类云服务的厂商不断涌现,业界又在谈论,云计算服务也应该进一步规范,做到有章可循.作为专业的云服务提供商,无锡华云数据技术服务有限公司(以下简称华

解构推荐系统:“猜你喜欢”是怎么猜中你的心思

如今,到网上购物的人已经习惯了收到系统为他们做出的个性化推荐.Netflix 会推荐你可能会喜欢看的视频.TiVo 会自动把节目录下来,如果你感兴趣就可以看.Pandora 会通过预测我们想要听什么歌曲从而生成个性化的音乐流. 所有这些推荐结果都来自于各式各样的推荐系统.它们依靠计算机算法运行,根据顾客的浏览.搜索.下单和喜好,为顾客选择他们可能会喜欢.有可能会购买的商品,从而为消费者服务.推荐系统的设计初衷是帮助在线零售商提高销售额,现在这是一块儿规模巨大且不断增长的业务.与此同时,推荐系统的