摘要: 多标签学习从标签个数上来扩展数据模型, 进一步还有标签分布学习.
1. 基本概念
多标签学习在 机器学习常识 3: 分类、回归、聚类 中简单提到过, 这里列举出几个相关概念, 一起来讨论下.
将训练数据的标签表示为
Y
\mathbf{Y}
Y.
- 二分类问题: Y ∈ { − 1 , + 1 } n \mathbf{Y} \in \{-1, +1\}^n Y∈{−1,+1}n 或者 Y ∈ { 0 , 1 } n \mathbf{Y} \in \{0, 1\}^n Y∈{0,1}n.
- 多分类问题: Y ∈ { 1 , 2 , … , k } n \mathbf{Y} \in \{1, 2, \dots, k\}^n Y∈{1,2,…,k}n, 其中 k k k 为类别数.
- 多标签学习问题: Y ∈ { 0 , 1 } n × l \mathbf{Y} \in \{0, 1\}^{n \times l} Y∈{0,1}n×l, 其中 l l l 为标签数. 这时 Y \mathbf{Y} Y 是一个布尔矩阵. 假设第 3 3 3 个标签表示猫, 则它为 1 的时候, 说明图片里有猫, 否则没有. 当 l < 100 l < 100 l<100 时, 称为多标签学习问题; 但 l ≥ 100 l \geq 100 l≥100 时 (这个尺度我也不好把握), 可以称为极限多标签学习问题.
- 标签分布学习问题: Y ∈ [ 0 , 1 ] n × l \mathbf{Y} \in [0, 1]^{n \times l} Y∈[0,1]n×l. 这时 Y \mathbf{Y} Y 是一个小数矩阵 (每个数表示概率, 或者模糊数学中的隶属度).
这几个概念都是从标签的角度来定义的.
2. 线性方案
数据矩阵
X
∈
R
n
×
m
\mathbf{X} \in \mathbb{R}^{n \times m}
X∈Rn×m, 标签矩阵
Y
∈
{
0
,
1
}
n
×
l
\mathbf{Y} \in \{0, 1\}^{n \times l}
Y∈{0,1}n×l, 则可以学习权重矩阵
W
∈
R
m
×
l
\mathbf{W} \in \mathbb{R}^{m \times l}
W∈Rm×l, 使得
X
W
≈
Y
\mathbf{XW} \approx \mathbf{Y}
XW≈Y.
这种方案中,
W
\mathbf{W}
W 的第
i
i
i 列对应于第
i
i
i 个标签, 无法利用标签相关性.
3. 主要应对的问题
- 标签相关性. 例如, 从训练数据看, 有猫和狗的时候, 多半也有老鼠. 根据这种规律就可以把一些图片中不明显的老鼠找出来. 如何有效利用标签相关性, 是多标签学习的核心问题.
- 标签稀疏性. 共有 100 种可能的动物, 但每张图片里一般只出现 1–5 种, 或者某些动物仅在少于 10 张图片里出现. 在极限多标签中, 标签稀疏性可能低于 1 % 1\% 1%.
- 数据稀疏性. 数据的多个属性值为空, 或者无效. 在极限多标签中很严重.
4. 常用评价指标
基于序的评价指标.
参见 The Extreme Classification Repository: Multi-label Datasets & Code.
另请参见我以前写的贴子: 多标签学习之白话版, 以及 多标签学习之数学语言版.