机器学习--查准率和查全率

机器学习--查准率和查全率

  • 问题引出
  • 一、混淆矩阵
  • 二、查准率和查全率
  • 总结

问题引出

以西瓜问题为例,我们现在想要解决的问题为“挑出的西瓜有多少是好西瓜”,“所有好瓜中有多少被挑了出来”。

一、混淆矩阵

对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive),假正例(false positive),真反例(true negative),假反例(false negative)四种情形,其中TP+FN+FP+TN=样例总数。

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

二、查准率和查全率

查准率P与查全率R分别定义为
P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP

查准率也称准确率(precision),查全率也称召回率(recall)

查准率为预测结果为正例中实际正例的占比
查全率为真实情况为正例中预测正例的占比

以西瓜问题为例。
查准率反应的问题为:算法挑选的西瓜有多少是好西瓜。
查全率反应的问题为:所有的好西瓜有多少被算法挑出来了。

查准率和查全率是一对矛盾的度量。一般来说,查准率高的时候,查全率往往偏低。

比如,例如希望尽可能多的将好瓜挑选出来,可以通过增加选瓜的数量来实现,如果将所有西瓜都选上,那么所有的好瓜也必然被选上,但这样查准率就会较低。
如果希望挑出的好瓜比例尽可能高,那么就会选择最有把握的瓜,但这样就不可避免漏掉很多好瓜,使得查全率较低,通常只有在一些简单任务中,两者才会很高。

以查准率为纵轴,查全率为横轴作图,就得到了查准率-查全率曲线,简称“P-R曲线”,显示该曲线的图称为“P-R图”。

机器学习--查准率和查全率_第1张图片
  • 一般来说,如果一个学习器的P-R曲线完全被另一个曲线完全“包住”,则称后者的性能优于前者,例如图中的A的性能大于C。
  • 如果2个曲线发生了交叉,我们则很难辨别。

但是为了辨别这2个曲线,我们引入新的度量来考察查准率和查全率。

“平衡点”(Break-Even Point,简称BEP)就是这样一个度量,它是“查准率=查全率”时的取值。例如A的BEP为0.8,就大于B的BEP,基于BEP,我们认为A大于B。

但是BEP过于简化,我们通常用F1度量:

F1度量是基于查准率和查全率的调和平均得来的。
1 F 1 = 1 2 ( 1 P + 1 R ) \frac{1}{F_1}=\frac{1}{2}(\frac{1}{P}+\frac{1}{R}) F11=21(P1+R1)

F 1 = 2 × P × R P + R = 2 × T P 样 例 总 数 + T P − T N F_1=\frac{2×P×R}{P+R}=\frac{2×TP}{样例总数+TP-TN} F1=P+R2×P×R=+TPTN2×TP
F1度量的一般形式—— F β F_\beta Fβ

F β F_\beta Fβ是加权调和平均。
1 F β = 1 1 + β 2 ( 1 P + β 2 R ) \frac{1}{F_\beta}=\frac{1}{1+\beta^2}(\frac{1}{P}+\frac{\beta^2}{R}) Fβ1=1+β21(P1+Rβ2)

F β = ( 1 + β 2 ) × P × R ( β 2 × P ) + R F_\beta=\frac{(1+\beta^2)×P×R}{(\beta^2×P)+R} Fβ=(β2×P)+R(1+β2)×P×R

  • β = 1 \beta = 1 β=1,为 F 1 F_1 F1
  • β < 1 \beta < 1 β<1,对查准率有更大影响。
  • β > 1 \beta > 1 β>1,对查全率有更大影响。

总结

以上内容主要来源于周志华老师的机器学习(西瓜书),如有错误,敬请批评指正。

你可能感兴趣的:(人工智能,机器学习)