摘要: 多标签学习是一种常见的, 而并非小众的机器学习问题. 本贴为专题讲座准备.
1. 基本数据模型
定义1. 多标签数据为一个二元组:
S
=
(
X
,
Y
)
,
(1)
S = (\mathbf{X}, \mathbf{Y}), \tag{1}
S=(X,Y),(1)
其中
- X = ( x 1 , x 2 , … , x N ) T = ( x i j ) N × M \mathbf{X} = (\mathbf{x}_1, \mathbf{x}_2, \dots, \mathbf{x}_N)^{\mathrm{T}} = (x_{ij})_{N \times M} X=(x1,x2,…,xN)T=(xij)N×M 为条件属性矩阵;
- Y = ( y 1 , y 2 , … , y N ) T = ( y i j ) N × L \mathbf{Y} = (\mathbf{y}_1, \mathbf{y}_2, \dots, \mathbf{y}_N)^{\mathrm{T}} = (y_{ij})_{N \times L} Y=(y1,y2,…,yN)T=(yij)N×L 为标签矩阵;
- N N N 为对象数;
- M M M 为条件属性数;
- L L L 为标签数;
- y i j = 1 y_{ij} = 1 yij=1 表示 x i \mathbf{x}_i xi 具有标签 j j j, y i j = − 1 y_{ij} = -1 yij=−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).
2. 与相关概念的辨析
需要从辨析中获得多标签的数据特点.
2.1 二分类问题
二分类数据为多标签数据在 L = 1 L = 1 L=1 时的特例.
2.2 多分类问题
有 K K K 个类别的多分类数据可以看成 L = K L = K L=K 的多标签数据. 其特殊性在于, 每一个对象有且仅有一个标签. 从这里可以看出多标签数据的一个特点: 标签之间不是互斥的.
2.3 标签分布学习问题
标签分布数据中,
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.
因此, 标签分布学习是多标签学习问题的更一般形式.
分析: 多标签并不是一种特殊的数据, 它广泛存在于我们的生活中, 甚至比单标签更为广泛. 可以说, 需要进行分类/预测的地方, 都可以把多标签学习应用上去. 因此, 多标签学习也不是一个小众的研究方向.
3. 问题特性与相应解决方案
多标签学习带来了不少新的挑战.
3.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 的向量. 不同标签的预测毫无关系.
多标签学习算法, 最重要的就是有效利用相关性. 一种古老的分类法是不考虑相关性、考虑两两相关性、考虑两个以上标签相关性 (高维相关性).
我认为有两个努力的方向.
3.1.1 预处理
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′ 维, 有如下特点:
- 通常要求 M ′ ≪ M M' \ll M M′≪M, 相当于降维的作用.
- M ′ M' M′ 维空间被称为共享子空间, 即它被不同的标签共享, 以达到提取标签相关性的目的.
- 这个方案我从 [1] 看到的, 暂时还不清楚是否原始出处.
- 我们的 MASP (投稿中) 也使用的预处理方案.
3.1.2 标签矩阵单独处理
在标签矩阵中挖掘相关性, 然后根据预测结果修正.
- 使用关联规则 [2]
- 使用压缩感知 [3][4]
说明: 标签相关性是多标签被研究得最多的内容, 换时间我再补.
3.2 标签稀疏性 (不平衡性)
类别不平衡性在单标签数据中也非常常见, 但没有多标签数据中这样严重. 一些数据中负标签占比在 95% 以上, 甚至 99% 以上, 如果要追求 accuracy, 直接把所有的标签预测为负的就行啦. 但显然这没有意义. 所以我们一般使用 F1 score, AUC 等指标来衡量多标签学习器的性能.
为了应对标签不平衡性, 并能够计算 AUC 等指标, 应该先对标签进行一个实数值的预测, 如
0.6
0.6
0.6. 将相应标签降序排列后, 选取前面若干个判定为正, 其余的为负. 随着判定为正的标签增多, precision 逐渐降低, recall 逐渐升高, 所以 F1 的变化就如图 3 所示.
也可以给定一个阈值, 大于它就为正. 但这样又没办法计算 AUC 了.
3.3 标签缺失
我们在讨论半监督学习的时候, 也涉及到标签缺失. 不过在多标签学习中, 标签缺失的情况太多了! 为此, 有三种处理方案:
- 将缺失的都认为是负标签.
- 不理它. 在计算损失函数的时候不算就行. 这与矩阵分解里面对付缺失值的方案相同.
- 缺失值补全.
令 U ∈ R N × K \mathbf{U} \in \mathbb{R}^{N \times K} U∈RN×K 和 V ∈ R L × K \mathbf{V} \in \mathbb{R}^{L \times K} V∈RL×K 为两个子空间, 希望以它们拟合 Y \mathbf{Y} Y 中非零部分,
arg min U , V ∑ y i j ≠ 0 ( u i v j T − y i j ) 2 (3) \argmin_{\mathbf{U}, \mathbf{V}} \sum_{y_{ij \neq 0}} (\mathbf{u}_i \mathbf{v}_j^{\mathrm{T}} - y_{ij})^2 \tag{3} U,Vargminyij=0∑(uivjT−yij)2(3)
4. 与正交概念的组合
4.1 主动学习
主动学习是半监督学习的一种. 在这里, 主要应对缺失值太多的情况.
4.2 代价敏感学习
代价敏感学习看似与类别不均衡相关, 但实际上是进行不同误分类的惩罚不同.
4.3 多示例学习
多示例是指一个包里面有若干对象, 只要其中一个为正, 则判断该包为正. 但我们从头到尾都不知道究意哪个对象为正.
4.4 时序数据分析
5. 延伸: 极限多标签学习
网址见 [5].
5.1 超高维属性
上百万的都有.
5.2 超高维标签
上百万的都有.
5.3 属性值缺失
只有不缺的属性值才给出. 也就是说, 绝大多数是缺失的. OMG!
6. 小结
未完待续, 任重道远!
参考文献及网址
[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