赞
踩
摘要: 多标签学习是一种常见的, 而并非小众的机器学习问题. 本贴为专题讲座准备.
定义1. 多标签数据为一个二元组:
S
=
(
X
,
Y
)
,
(1)
S = (\mathbf{X}, \mathbf{Y}), \tag{1}
S=(X,Y),(1)
其中
有些文献中也记定义域为 X = R M \mathcal{X} = \mathbb{R}^M X=RM, 值域 2 Y = 2 { 1 , 2 , … , L } 2^\mathcal{Y} = 2^{\{1, 2, \dots, L\}} 2Y=2{1,2,…,L}, 则 x i ∈ X \mathbf{x}_i \in \mathcal{X} xi∈X与前面的定义一致, 但 y i ⊆ Y \mathbf{y}_i \subseteq \mathcal{Y} yi⊆Y 则表示一个整数集合, 如 y 1 = { 2 , 5 , 6 } \mathbf{y}_1 = \{2, 5, 6\} y1={2,5,6} 表示该对象具有三个标签.
常用例子: 识别照片中有哪些动物. 第一个照片中有猫和老鼠, 第二张里面有猫和狗, 第三张里面什么都没有.
注意: 虽然我们经常在结构化的数据上进行多标签学习的实验, 在现实生活中, 图片多标签数据很丰富. 这时, 需要将 x i \mathbf{x}_i xi 看成一个矩阵, 甚至一个张量 (彩色图片用三元色来表示, 该 tensor 的高度就为 3).
需要从辨析中获得多标签的数据特点.
二分类数据为多标签数据在 L = 1 L = 1 L=1 时的特例.
有 K K K 个类别的多分类数据可以看成 L = K L = K L=K 的多标签数据. 其特殊性在于, 每一个对象有且仅有一个标签. 从这里可以看出多标签数据的一个特点: 标签之间不是互斥的.
标签分布数据中,
y
i
j
y_{ij}
yij 的值域从
{
−
1
,
+
1
}
\{-1, +1\}
{−1,+1} 转成了
[
0
,
1
]
[0, 1]
[0,1], 即它为
0
0
0 到
1
1
1 之间的一个数.
如果将这个标签值解释为概率, 就可以说: 照片里面有猫的概率为 0.8, 有狗的概率为 0.6. 不同概率相加不为
1
1
1.
如果将这个标签值解释为比例, 就可以说: 照片里蓝天占了 0.5, 大海占了 0.3, 沙滩占了 0.15, 树木占了 0.05. 不同比例相加为
1
1
1.
因此, 标签分布学习是多标签学习问题的更一般形式.
分析: 多标签并不是一种特殊的数据, 它广泛存在于我们的生活中, 甚至比单标签更为广泛. 可以说, 需要进行分类/预测的地方, 都可以把多标签学习应用上去. 因此, 多标签学习也不是一个小众的研究方向.
多标签学习带来了不少新的挑战.
如果对各个标签进行分别的预测, 那就退化为单标签学习了. 例如, 可以学习线模型
arg min
W
∈
R
M
×
L
∥
X
W
−
Y
∥
2
2
(2)
\argmin_{\mathbf{W} \in \mathbb{R}^{M \times L}} \| \mathbf{X} \mathbf{W} - \mathbf{Y}\|_2^2 \tag{2}
W∈RM×Largmin∥XW−Y∥22(2)
其中
W
∈
R
M
×
L
\mathbf{W} \in \mathbb{R}^{M \times L}
W∈RM×L. 这相当于为每个标签生成一个长度为
M
M
M 的向量. 不同标签的预测毫无关系.
多标签学习算法, 最重要的就是有效利用相关性. 一种古老的分类法是不考虑相关性、考虑两两相关性、考虑两个以上标签相关性 (高维相关性).
我认为有两个努力的方向.
arg min
W
0
∈
R
M
×
M
′
,
W
∈
R
M
′
×
L
∥
X
W
0
W
−
Y
∥
2
2
(3)
\argmin_{\mathbf{W}_0 \in \mathbb{R}^{M \times M'}, \mathbf{W} \in \mathbb{R}^{M' \times L}} \| \mathbf{X} \mathbf{W}_0 \mathbf{W} - \mathbf{Y}\|_2^2 \tag{3}
W0∈RM×M′,W∈RM′×Largmin∥XW0W−Y∥22(3)
本方案在 (2) 式基础上增加了共享矩阵
W
0
\mathbf{W}_0
W0, 它的作用是将原始
M
M
M 维空间数据映射到
M
′
M'
M′ 维, 有如下特点:
在标签矩阵中挖掘相关性, 然后根据预测结果修正.
说明: 标签相关性是多标签被研究得最多的内容, 换时间我再补.
类别不平衡性在单标签数据中也非常常见, 但没有多标签数据中这样严重. 一些数据中负标签占比在 95% 以上, 甚至 99% 以上, 如果要追求 accuracy, 直接把所有的标签预测为负的就行啦. 但显然这没有意义. 所以我们一般使用 F1 score, AUC 等指标来衡量多标签学习器的性能.
为了应对标签不平衡性, 并能够计算 AUC 等指标, 应该先对标签进行一个实数值的预测, 如
0.6
0.6
0.6. 将相应标签降序排列后, 选取前面若干个判定为正, 其余的为负. 随着判定为正的标签增多, precision 逐渐降低, recall 逐渐升高, 所以 F1 的变化就如图 3 所示.
也可以给定一个阈值, 大于它就为正. 但这样又没办法计算 AUC 了.
我们在讨论半监督学习的时候, 也涉及到标签缺失. 不过在多标签学习中, 标签缺失的情况太多了! 为此, 有三种处理方案:
主动学习是半监督学习的一种. 在这里, 主要应对缺失值太多的情况.
代价敏感学习看似与类别不均衡相关, 但实际上是进行不同误分类的惩罚不同.
多示例是指一个包里面有若干对象, 只要其中一个为正, 则判断该包为正. 但我们从头到尾都不知道究意哪个对象为正.
网址见 [5].
上百万的都有.
上百万的都有.
只有不缺的属性值才给出. 也就是说, 绝大多数是缺失的. OMG!
未完待续, 任重道远!
[1] Huang, S.-J., Chen, S.-C., & Zhou, Z.-H. (2015). Multi-label active learning: query type matters. In IJCAI (pp. 946–952).
[2] Huang, S.-J., & Zhou, Z.-H. (2012). Multi-label learning by exploiting label correlations locally. In AAAI (pp. 949–955).
[3] Hsu, D., Kakade, S. M., Langford, J., & Zhang, T. (2009). Multi-label prediction via compressed sensing. In NIPS (pp. 772–780).
[4] Shi, W., & Yu, Q. (2019). Fast direct search in an optimally compressed continuous target space for effcient multi-label active learning. In ICML (pp. 5769–5778).
[5] The Extreme Classification Repository: Multi-label Datasets & Code. http://manikvarma.org/downloads/XC/XMLRepository.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。