机器学习任务中的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的头像EBCloud
上一篇 2024年4月2日 下午3:28
下一篇 2024年4月2日 下午3:28

相关推荐

  • 电信测速ip

    网络安全是当今社会的热门话题,各行业都在不断加强对网络安全的重视。而在这个领域中,电信测速IP作为一种重要的工具,也备受关注。那么,什么是电信测速IP?它有什么作用和优势?如何获取…

    行业资讯 2024年3月20日
    0
  • 域名劫持犯法吗,域名被劫持最佳处理办法

    区域域名劫持给用户和网站所有者带来不便和损失。为了减少此类事件的发生,需要在日常使用中加强网络安全意识,采取措施确保域名安全。一旦发现劫持情况,必须及时处理并采取措施防止未来的风险…

    行业资讯 2024年5月8日
    0
  • 俄罗斯国防部网站被攻击,俄国网站被攻击怎么办啊知乎

    近年来,随着互联网的快速发展,俄罗斯网站也成为攻击者的目标。每天都有无数俄罗斯网站遭受各种攻击,给网站所有者和用户造成巨大损失。那么俄罗斯网站为何会受到攻击呢?他们又该如何应对这些…

    行业资讯 2024年5月8日
    0
  • 便宜的网站设计企业

    你是否曾经为了网站设计的高昂费用而犹豫不决?或许你也听说过便宜的网站设计企业,但又担心质量是否可靠。那么,什么是网站设计企业?它们提供哪些服务内容?便宜的网站设计企业有什么特点?如…

    行业资讯 2024年4月19日
    0

发表回复

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