Multilabel(多标签分类)metrics:hamming loss,F score

本文介绍了多标签分类任务中常用的评估指标,包括Hamming Loss和F1 Score,特别是其在多标签场景下的计算方式。通过实例展示了在宏观和微观视角下F1 Score的计算,并探讨了它们在不同场景下的应用价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做一个multilabel classification(多标签分类)的项目,需要一些特定的metrics去评判一个multilabel classifier的优劣。这里对用到的三个metrics做一个总结。

首先明确一下多标签(multilabel)分类和多类别(multiclass)分类的不同:multiclass仅仅表示输出的类别大于2个,这样可以和一般的二分类(binary)区别开,但每一个输入x仅仅对应一个输出标签。而multilabel里的每一个输入可以对应多个输出标签。举个例子,对动物图片进行分类,一个输入(某一动物)只可能有一个输出(猫or狗),因为一个动物不可能同时是猫还有狗,这就是multiclass;但对新闻进行分类,一个输入(某一新闻)可以对应多个输出(海外,体育),这就是multilabel。

这次用到的数据集是MS-COCO 2014年的数据集,它的testset里有40504张图片,因为MS-COCO主要是用来做目标检测(detection)或者物体分割的(segmentation),每张图片里包含了多个物体。我们就用这些物体为图片的对应标签来做multilabel分类。一共有80个可能出现在图片里的物体,所以每张图片对应一个(80x1)的标签向量,被分到类的物体对应的标量为1,没有分到类的为0(只要图片中出现了某物体,此图片就被分到对应的物体类里,然后一张图片会有多个类别因为大多图片都包含了几个物体)。

N表示testset的大小,L表示所有备选label合集的大小,在MS-COCO2014的testset里,\(M=40504,L=80\)

Hamming Loss

\(h_{loss}\)可能是最直观也是最容易理解的一个loss,它直接统计了被误分类label的个数(不属于这个样本的标签被预测,或者属于这个样本的标签没有被预测)。\(h_{loss}=0\)表示所有的每一个data的所有label都被分对了。

\(h_{loss}= \frac{1}{p}∑_{i=1}^ph(x_{i})ΔY_{i}\), where \(p=N\times L\)

\(F_{1}\) score

介绍F score之前首先要理清准确率(Accuracy),精确率(Precision)和召回率(Recall)之间的关系。

Accuracy的定义是:分类器正确分类的次数与总分类数之比。Hamming Loss可以说是accuracy的一种呈现。但其实如果只追求hamming loss/accuracy的话,就会出现以下问题:已知MS-COCO里的大多数图片只包含几个(<=4)物体,这样只要把所有图片的标签都设为0,也能达到大约4/80(0.08)的hamming loss。

所以我们需要precision(查准率)和recall(查全率)作为别的metrics去评判一个classifier的给力程度。下面解释了如何用precision和recall,还有这两个metrics的合成F score来评判一个multilabel classifier。

precision和recall一开始是从信息检索衍生出来的。precision(查准率)计算的是所有"正确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值