机器学习常用评价指标

机器学习常用评价指标

在机器学习任务中,如何对模型的好坏对模型的优化/定量评价/改进具有重大的作用,通过不同的指标对模型进行评价,我们可以快速地判断模型是否过拟合,欠拟合。此外,在不同的任务中,通过利用带阈值的评价方法,我们可以快速地判断某个模型针对哪些类型的数据处理效果不好,并且做出针对性的改进。因此对评价指标的数学意义上的了解对于机器学习/深度学习至关重要。

本文将从几个指标对机器模型的评价方式进行介绍,并且会结合一些计算机视觉中的任务,描述各种指标是如何进行实际应用的,并且如何通过更改某些阈值,对计算机视觉任务的缺陷进行判定,判断任务在何处存在问题。

1.基本术语

误差:学习器预测输出与真实输出之间的差距

训练误差/经验误差:学习器在训练集上预测输出与真实输出之间的差距

泛化误差:学习器在新样本上初测输出与真实输出之间的差距

错误率:假设m个样本中有a个样本分类错误,则错误率为a/m

精度:1-错误率

过拟合:训练误差小,泛化误差大

欠拟合:训练误差大,泛化误差大

2.评估方法

待更新

3.性能度量

3.1 精度与错误率

常用于分类任务中,即适用于二分类任务,也适用于多分类任务

错误率的定义:在分类任务中,分类错误的样本占总样本D数量的比例
E(f;D)=\frac {1}{M} \sum_{i=1}^M(f(x_i)\ne y_i)
精度的定义:在分类任务中,分类正确的样本占总样本数量的比例
E(f;D)=\frac {1}{M} \sum_{i=1}(f(x_i)=y_i)

3.2 准确率(Precision)与召回率(Recall)

1.理解准确率与召回率

首先以二分类任务为例,

真实情况 预测结果
正例 P 反例 N
正例 P 真正例 TP 假反例 FN
反例 P 假正例 FP 真反例 TN

准确率(Precision)的定义为:预测出来为正例的样本中,真实情况下也是样本的比例,表征预测的准不准
Precision=\frac {TP}{TP+FP}
召回率(Recall)的定义为:在所有真实正例的样本中,被正确预测出来的正例样本的比例,表征预测的全不全
Recall=\frac {TP}{TP+FN}
下面用一个实际的例子去理解以下准确率于召回率之间的关系

假设在医院中,一个人为患者标记为正例,为正常人标记为反例

则上面的表格为:

真实情况 预测结果
正例 P 反例 N
正例 P 诊断正确的患者 TP 未被诊断出来的患者 FN
反例 P 被诊断为患者的正常人 FP 正常人,也没被诊断 TN

此时

准确率表征 被诊断为患者的人中,真正患病的人的比例

召回率表征 在所有患病的人中,被诊断出来的比例

2.准确率与召回率之间的关系

首先从感性的逻辑角度对两者关系进行理解:

当诊断的准确率达到100%时,被诊断出来的患者一定是100%的确信率,说明有一些疑似的患者没有被包括进来,相应的召回率一定是最低的。同理,当召回率达到100%,准确率也一定是最低的。

从数学角度来讲:

当Precision=1时,TP=TP+FP,FP=0,此时FN最大,因此召回率最低。

结论:两者之间为反比关系

3.PR曲线

实际情况下,当然是准确率与召回率越高越好,但是两者往往不能兼得,通过上面的讨论可以看出,随着准确率的升高,召回率对随之下降,两者都高,不可兼得。实际上,通过设定分类阈值的方法,可以改变相应TP,FP,FN样本的数量进而逐点画出准确率随召回率的变化曲线

具体算法如下:

  1. 将学习器的预测结果按照 置信度 进行从大到小的排序
  2. 按此顺序逐个把样本作为正例进行预测,计算出当前的Precision和Recall
  3. 以查准率 Precision 为y轴,召回率 Recall 为x轴,对P-R曲线进行绘制

4.如何基于准确率与召回率对模型进行评价

  1. 基于P-R曲线,PR曲线的下面的包络面积越大,模型的效果越好 ——缺点:计算量大

  2. 基于P-R曲线,寻找其平衡点(Break-Even Point, BEP),也就是x=y时相应的坐标点的取值

  3. F1 Score:
    F_1 score=\frac {2PR}{P+R}=\frac{2TP}{样例总数-TN}

  4. 带偏斜的F1 Score

F_\beta = \frac {(1+\beta^2)PR}{\beta^2 P+R}

\beta=1,上式与F1 Score无异

\beta<1时,准确率在评判中占比更大。特殊地,当\beta=0时,上式可以化简为P,即此时准确率最重要。

\beta<1时,召回率在评判中占比更大。特殊地,当\beta\to\infty时,上式可以化简为R,即此时召回率最重要。

5.多分类任务中的准确率与召回率

在多分类任务中,由于存在多个类别不能简单地通过二分类的方式进行P/R值的计算,因此主要有两种方式计算P/R值

第一种方法:

遍历每个类别,将其分类视为二分类问题,因此可以求得每种类别的(P,R)元组

此时,多分类任务中的准确率与召回率计算公式为:
macroP=\frac 1N\sum_{i=1}^{N}P_i

macroR=\frac 1N\sum_{i=1}^{N}R_i

相应F1 score即可计算得出

第二种方法:将各混淆矩阵数量进行平均

获取 \overline {TP} \overline {FP} \overline {TN} \overline {FN},进而可以求得
macroP=\frac {\overline {TP}}{\overline {TP} + \overline {FP}}

macroR=\frac {\overline {TP}} {\overline {TP} + \overline {FN}}

相应F1 Score也可以计算得出

6.目标检测/分割任务中的准确率与召回率的计算方法

与分类任务不同,在目标检测任务中,往往会给出多个预测目标所在位置的bounding box

下面描述一下问题场景:

对于目标检测数据集,其中数据集可以表示为:\{x_1,x_2,x_3...x_i...x_n \},在整个数据集中,共有c_i种目标类别

对于图片x_i,其有N_i个Ground Truth标注框,各个对应的类别为C_{ni}

经过CNN预测,得到M个bounding box,每个Bounding box对应的类别为C_{mi}

那么如何计算在整个数据集上的准确率与召回率呢?

算法如下:

  1. 首先对预测得到的所有bounding box,计算其与ground truth的交并比(IOU)

  2. 设定交并比阈值 thresh,下面分情况讨论:

    i. 若IOU<threshFP_i=1

    ii. 若IOU>thresh

    ​ 若预测的bounding box类别与真实类别相同,则TP_i=1,并记录其confidence

    ​ 若预测的bounding box类别与真实类别不同,则FP_i=1

  3. 因此,总共可以得到 c_i*M个分数,将分数按照confidence自大到小排序,可以获得最终的TP,FP,TN,FN数量(整体的数量),也可以按类别分类,获取每个类别的TP,FP,TN,FN的数量,具体情况具体分析。

  4. 计算

Precision=\frac {TP}{TP+FP}

Recall=\frac {TP} {N}

这样,我们就可以获取到给定IoU情况下的准确率与召回率,进而可以得到不同阈值情况下的PR曲线。语义分割模型的方法类似,在此不再赘述。

3.3 计算机视觉任务中的mAP/AP

上节中介绍了准确率与召回率,以及两者之间的关系 ,那么如何利用这个东西去评价模型表现的好坏呢?这里就要基于IoU的阈值,并且引入额外的评价指标对目标检测的准确性进行评价了。

在目标检测任务中,通常使用mAP评价模型的检测性能

AP:给定IoU阈值下,获取到相应P-R曲线下的包络面积

mAP:所有类间mAP的均值

下面给出了CoCo官网上的评价标准 http://cocodataset.org/#detection-eval

01CoCo数据集的评价方法.png

通过不同取值下的mAP值,我们可以快速地判断模型在哪个方面存在缺陷,并加之改进

具体的计算方法与代码请参考:https://github.com/rafaelpadilla/Object-Detection-Metrics

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容