A Study on Threshold Selection for Multi-label Classification
摘要
多标签分类在文本分类、多媒体检索以及很多其他领域都很有用,常用的多标签方法是二进制法,它为每个标签都构造了一个决策函数。在某些应用中,调整二值化方法的决策函数的阈值可以显著提高算法的性能,但这方面的研究还很少。本研究对阈值的选取进行了详细的研究。
简介
近年来,多标签分类在许多领域都有了广泛的应用。多标签分类训练对于每个实例 x x x,预测得到所有可能的标签 d d d,相比之下,多分类问题一个实例只与一个标签有关系,并且模型只预测最有可能的一个标签。因此,多标签分类是多分类问题的扩展。
目前最有效方式是二值方式,对于每个标签,与正标签相关联的数据作为正样本,其他作为负样本,来训练分类器。因此,如果有 d d d个标签,则该方法构造 d d d个决策函数。在预测中,如果相应的判定值为正,则实例与标签相关联。
对于二进制方法的每个决策函数,我们可以调整相应的阈值作为正/负预测的切入点。
二值方法、评价方法和优化方法
二值方法
这是在多标签中最简单常用的方法。给出
l
l
l个训练样本
x
1
,
.
.
.
,
x
l
∈
R
n
x_{1},...,x_{l}∈R^{n}
x1,...,xl∈Rn和
d
d
d个标签,我们训练了
d
d
d个决策函数:
决策函数
f
j
(
x
)
f_{j}(x)
fj(x)是通过用与
j
j
j相关的训练样本为正,其他训练样本为负来构造。以支持向量机(SVM)为例,第
j
j
j个决策函数来源于求解以下优化问题:
其中
C
C
C是惩罚参数,
y
j
i
y_{j}^{i}
yji是二值函数
y
i
=
[
y
1
i
,
.
.
.
,
y
d
i
]
T
∈
{
0
,
1
}
d
y^{i}=[y_{1}^{i},...,y_{d}^{i}]^{T}∈\{0,1\}^{d}
yi=[y1i,...,ydi]T∈{0,1}d,表示第
i
i
i个实例的一个元素。注意到(2)中支持向量机通过一个函数φ将数据映射到高维空间。
对于预测,当且仅当
f
j
(
x
)
>
0
f_{j}(x)>0
fj(x)>0时,标签
j
j
j与
x
x
x相关联。例如当
d
=
3
d=3
d=3时,我们对实例
x
x
x有如下决策值:
因此我们对实例
x
x
x预测的标签为1和3。
引入一个阈值
T
j
T_{j}
Tj,使得实例
x
x
x与标签
j
j
j相关联的充要条件是:
显然对于二进制方法
T
j
=
0
T_{j}=0
Tj=0,调整
T
j
T_{j}
Tj可以获得更好的预测。
评价标准
传统的多分类任务的评价标准为准确率,在多标签分类中,准确率的直接扩展是精确匹配比,它是当且仅当所有相关标签都正确时才认为正确。但是,这个比率可能不是最合适的性能度量,因为他对于部分匹配不做计算。Tague(1981)提出了两个不同的基于F-measure的测度:宏观平均和微观平均F-measure,它们都考虑了部分匹配。
Exact Match Ratio
假设有
l
^
\hat{l}
l^个测试案例,
y
i
y^i
yi为第
i
i
i个安利的真实标签向量,
y
^
i
\hat{y}^i
y^i是预测标签向量,
它是传统数据分类精度的直接延伸。这个标准的缺点是它不考虑部分匹配。
Macro-average and Micro-average F-measures
信息检索系统最常用的性能度量之一是F-measure,它是精确度(P)和召回率(R)的调和平均值:
对于标签
j
j
j,
为了将F-measure从单标签扩展到多标签,Tague提出了两种方法,macro-average F-measure是F-measure标签的非加权平均;micro-average 考虑所有实例的预测,并计算所有标签的F-measure:
Optimizing Measures
本文在采用二元方法的情况下对measures进行优化,其中预测的标签向量 y ^ \hat y y^由 d d d个决策函数控制。这种情况下,一个measure是(1)中 d d d的决策函数的函数 m ( f 1 , . . . , f d ) m(f_{1},...,f_{d}) m(f1,...,fd)。
利用函数
f
1
,
.
.
.
,
f
d
f_{1},...,f_{d}
f1,...,fd得到预测标签
y
^
1
,
.
.
.
,
y
^
l
^
\hat y^{1},...,\hat y^{\hat l}
y^1,...,y^l^,同时利用真实标签向量
y
1
,
.
.
.
,
y
l
^
y^{1},...,y^{\hat l}
y1,...,yl^。由于测试实例的真实标签向量不可用,我们将可用的数据划分为训练/验证子集,并提高了验证集的性能。因此,可以通过
m
m
m来优化measure:
但是(9)是一个很难的全局优化问题,更合理的目标是改进二进制方法。从二元方法的决策函数出发,每次调整一个
f
i
f_i
fi并对其他进行修正,算法描述如Procedure 1。
在实际中,仅用一个函数进行measure最大化是比较困难的,因此可以通过得到满足条件的任意
f
k
f_{k}
fk:
对于决策函数
f
k
f_{k}
fk的调整有一些不同的方法,这里只考虑在决策函数(3)中的阈值
T
k
T_{k}
Tk的改变,表1解释了不同的阈值如何得到不同的F-measures。
表1:该表格展示了决策阈值如何影响宏观平均和微观平均F-measure,对每个标签,实例根据其决策值排序。虚线表示切割点。(a)真实标签向量;(b)预测的一个例子:为两个实例的两个标签都预测为正;(c)预测的另一个例子:分类器通过降低阈值来预测更多的正实例。(b)和(c)的宏观平均F-measure分别为0.6和0.452,微观平均F-measure分别为0.6和0.462。
如果目标度量是宏平均F-measure,那么第k个子问题(8)就变为:
上述问题可以等于:
得到的就是
d
d
d个可分离项的和,所以优化宏观平均F-measure相当于优化每个标签的F-measure。
对于微观平均F-measure,情况更为复杂,第k个子问题是:
显然,(13)依赖于除了
f
k
f_{k}
fk以外的决策函数,在不同的函数下,(13)给出了不同的最优解
f
k
f_{k}
fk。因此标签的顺序会影响Procedure 1 的结果。此外,我们可以多次运行Procedure 1来提高函数的值,我们称之为“循环优化”,如Procedure 2所示。
如果两个连续迭代的函数值相似,我们停止Procedure 2。对于本文中的实验,我们使用
对于函数形式可分离的宏观平均F-measure,Procedure 2在第一次迭代后不改变测度。因此,不需要考虑循环优化。对于微观平均F-measure和精确匹配比,测度函数是不可分离的,因此可以使用Procedure 2。我们将研究宏观平均F-测度的“可分离形式”是否使其优化更容易。