机器学习任务中的f1-score究竟是什么?

机器学习

任务中的

f1-score

究竟是

什么?

机器学习任务中的f1-score究竟是什么?

在一些国内国际的机器学习竞赛活动中,通常使用f1-score(f1分数)作为最终评测机器学习模型质量的指标。实际上f1-score是一个统计学概念,它是用来衡量二分类模型精确度的一种指标,它的最大值为1,最小值为0,通常也被应用在机器学习中模型的质量评估中。f1-score同时兼顾了分类模型的精确率和召回率,它可以看做是模型精确率和召回率的一个调和平均值。那么所谓“精确率”和“召回率”有什么区别?为什么通俗意义上的“准确率”不适合作为模型评估指标?f1-score在模型评估中的优势是什么呢?本文将通过具体案例进行直观讲解。

一、准确率

机器学习任务中的f1-score究竟是什么?

通俗地讲,准确率是用来衡量一个系统准确程度的值,在生活中我们也常常习惯使用这个词来评估事物。例如“你投篮的准确率是多少?”“你预测比分的准确率高不高?”等等。准确率被认为是系统做出正确判断的次数除以总的测试次数。举个例子,在疫情早期时感染者很少,健康者很多,假如有一台医学仪器A可以快速检测人员感染情况,而用这台仪器检测100个受试者,结果显示有2位是阳性,并且后续确认的确是阳性,显示有98位是阴性,并且后续也确认这98位的确是阴性,那么这台仪器的准确率就是100%。而考虑到在疫情早期健康人员占大多数,假如有一个不良厂家造了一台假仪器B,内部是一个空盒子,对所有人都报告阴性,这时再检测上述100位受试者,假仪器的准确率竟然高达98%,这样的准确率显然没有说服力。

通过上面的例子可以看出,只有当数据中的类别分布均衡时,准确率才是一个有参考价值的指标,当类别数量差距悬殊,始终依赖准确率作为参考指标是具有系统风险的。而在实际业务中,我们无法保证样本数据分布均衡,因此就需要更加合理的评估指标。

二、混淆矩阵

机器学习任务中的f1-score究竟是什么?

在统计学中通常使用混淆矩阵来直观展示样本和预测之间的关系。例如在上例中的分类问题中,我们记阳性为P(position,正类),阴性为N(negative,负类),则混淆矩阵如下:

答案/

预测

P

N

P

TP

FP

N

FN

TN

其中:

  • TP:样本为正类且预测为正类

  • TN:样本为负类且预测为负类

  • FP:样本为负类但预测为正类

  • FN:样本为正类但预测为负类

  • TP+FP:样本为正类且预测为正类+样本为负类但预测为正类=预测为正类的样本总数

  • TP+FN:样本为正类且预测为正类+样本为正类但预测为负类=实际为正类的样本总数

三、精确率和召回率

机器学习任务中的f1-score究竟是什么?

精确率(precision, P值)是指预测结果中正类数量占全部结果的比率,也就是目标所预测的正类样本中真正的正类样本所占的比率,即P=TP/(TP+FP)。

召回率(recall, R值)指的是正类样本被找出来的比率,也就是样本中的正类样本被目标识别出来的比率,即R=TP/(TP+FN)。

现在回头来看医学仪器检测受试人员的例子中。当使用仪器A检测时,P=100%,R=100%而当使用仪器B检测时,P=0,R=0,因此仪器B的假冒伪劣特性就暴露无遗。

四、f1-score

机器学习任务中的f1-score究竟是什么?

回想之前的案例,假如商家又做了新型号的劣质检测仪C,这次总是报告阳性,那么此时R=100%,p=2%,这两个指标差距巨大。一般而言精确率和召回率比较难以平衡,给评估模型好坏造成了困难。

为了避免在现实中商家只拿100%的召回率做宣传,却对2%的精确率避而不谈,在实际任务的评估中我们需要一个综合性指标。例如精确率和召回率的调和平均值f1-score:f1=2*P*R/(P+R)。观察公式可知,只有当P和R同时较高时,才能得到较高的f1-score,使用f1-score对之前案例中的仪器进行评估可以发现,仪器A的f1=1,仪器B的f1=0,仪器C的f1=0.0392,因此优质仪器A和假冒伪劣仪器B、C被很好地区分了出来。

一般来说,对于二分类问题我们通常只计算正类样本的f1-score,即将正类的f1-score当成整体f1-score,而不会去分别计算正类和负类。那么多分类任务的f1-score又是怎么计算的呢?在多分类问题中,如果要计算模型的f1-score,有两种计算方式,分别为micro-f1和macro-f1,较为常用的为第二种。

macro-f1的计算方法很简单,实际上只要转换思路,在二分类(A、B)任务中我们设A为正类、B为负类计算f1-score,那么在多分类(A、B、C、D……)任务中,只需要分别设置每一个类别为正类,其他类别为负类,分别计算出每个类别的f1-score,再对所有f1-score求平均,即可得到多分类的f1-score,这便是macro-f1的计算方法。

此外由macro-f1还衍生出了weighted-f1,它是一个将f1-score乘以该类的比例之后相加的结果,也可以看做是macro-F1的变体。weighted-f1和macro-f1的区别在于:macro-f1对每一类都赋予了相同的权重,而weighted-f1则根据每一类别所占的比例分别赋予不同的权重。

总的来说,f1-score就是从主观(精确率)和客观(召回率)两个角度去综合评估模型质量,只有精确率和召回率都大的时候f1-score才会大。而在寻找模型最优超参数设置的网格搜索中,只使用一个评估指标比使用多个指标方便得多,因此f1-score成为评估模型质量的一个通用指标。

机器学习任务中的f1-score究竟是什么?

文章作者:潘嘉伟

排版设计:王蔚棋

手绘插画:岳   媛

机器学习任务中的f1-score究竟是什么?

原创文章,作者:EBCloud,如若转载,请注明出处:https://www.sudun.com/ask/33580.html

(0)
EBCloud's avatarEBCloud
上一篇 2024年4月2日 下午3:28
下一篇 2024年4月2日 下午3:28

相关推荐

  • seoul incheon

    首尔仁川,这个韩国的重要城市,除了拥有繁华的经济和文化,也是搜索引擎优化行业的一个重要节点。在这里,有着众多企业和个人都在为了提升网站排名而努力。那么,什么是搜索引擎优化?如何在首…

    行业资讯 2024年4月15日
    0
  • 如何使用CSS表格样式(table)美化你的网页?

    每个人都希望自己的网页能够吸引眼球,让用户有更好的浏览体验。而CSS表格样式(table)正是帮助你实现这一愿望的利器。它不仅可以美化网页,还能提高用户的阅读效果。那么,什么是CS…

    行业资讯 2024年4月8日
    0
  • PLC五种编程方法

    Part 1.PLC 五种编程方法 PLC 的编程方法大体上有5种:经验法、解析法、图解法、技巧法及计算机辅助设计法。 01 经验法  运用已掌握的成功设计经验,结合实际的情况,选…

    2024年5月29日
    0
  • ip被墙是什么意思,ip被墙如何解决

    VPN(Virtual Private Network)是虚拟专用网络。在这种网络环境下,用户可以通过加密通道连接到其他国家或地区的服务器,并访问被封锁的网站或IP地址。 VPN技…

    行业资讯 2024年5月12日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注