摘要: 分享对论文的理解, 原文见 Yashoteja Prabhu and Manik Varma, FastXML: A Fast, Accurate and Stable Tree-classifier for eXtreme Multi-label Learning.
| 符号 | 含义 | 说明 |
|---|---|---|
| N N N | 对象数 | |
| D D D | 属性数 | |
| L L L | 标签数 | |
| { ( x i , y i ) i = 1 N } \{(\mathbf{x}_i, \mathbf{y}_i)_{i=1}^N\} {(xi,yi)i=1N} | 数据集 | |
| O ( D ^ ) O(\hat{D}) O(D^) | 数据稀疏度 | |
| y ^ \hat{y} y^ | 新空间的标签 | 减少标签数量 |
| P ∈ R L ^ × L \mathbf{P} \in \mathbb{R}^{\hat{L} \times L} P∈RL^×L | 标签映射矩阵 | |
| x ^ = R x \hat{x} = \mathbf{Rx} x^=Rx | 映射后的数据 | 也是 L ^ \hat{L} L^ 维 |
使用线性分类器, 每个标签的训练复杂度为
O
(
N
D
^
)
O(N \hat{D})
O(ND^); 其中
D
^
\hat{D}
D^ 看作正标签的数量.
所有标签的训练复杂度为
O
(
L
N
D
^
)
O(L N \hat{D})
O(LND^).
所有标签的预测复杂度为
O
(
L
D
^
)
O(L \hat{D})
O(LD^).
但这种 baseline 方案的效果并不差.
由于数据矩阵与标签矩阵都是稀疏、低轶的, 使用矩阵, 将它们映射到低维空间.
使用
D
×
D
^
D \times \hat{D}
D×D^ 矩阵映射数据矩阵;
L
×
L
^
L \times \hat{L}
L×L^ 矩阵映射标签矩阵.
对于标签矩阵而言, 预测后使用相同的矩阵进行逆映射即可.
Label Partitioning by Sub-linear Ranking (LPSR) 训练一个基础分类器, 再构建一棵标签树.
Multi-label Random Forest (MLRF) 使用树的集成.
利用属性对样本进行聚类与分割.
Algorithm 1 只是一般性的对象划分, 以及叶节点的建立. 但它需要建立
T
T
T 棵树, 有随机森林的感觉.
前
k
k
k 个标签的下标
r
a
n
k
k
(
y
)
=
[
i
1
d
e
s
c
,
…
,
i
k
d
e
s
c
]
T
(1)
\mathrm{rank}_k(\mathbf{y}) = [i_1^{\mathrm{desc}}, \dots, i_k^{\mathrm{desc}}]^{\mathsf{T}} \tag{1}
rankk(y)=[i1desc,…,ikdesc]T(1)
给定一个排列
r
\mathbf{r}
r (即预测的顺序), 相应的 DCG 值为
L
D
C
G
@
k
(
r
,
y
)
=
∑
l
=
1
k
y
r
l
log
(
1
+
l
)
\mathcal{L}_{\mathrm{DCG@}k}(\mathbf{r}, \mathbf{y}) = \sum_{l = 1}^k \frac{y_{r_l}}{\log(1 + l)}
LDCG@k(r,y)=l=1∑klog(1+l)yrl
对于前
k
k
k 个预测值,
y
r
l
=
1
y_{r_l} = 1
yrl=1 表示预测正确,
y
r
l
=
0
y_{r_l} = 0
yrl=0 表示预测错误,
nDCG 的讨论见 论文笔记: 极限多标签学习的基本理解
另外需要注意:
r ( x ) = r a n k k ( 1 T ∑ t = 1 T P t l e a f ( x ) ) (6) \mathbf{r}(\mathbf{x}) = \mathrm{rank}_k \left(\frac{1}{T} \sum_{t=1}^T \mathbf{P}_t^{\mathrm{leaf}}(\mathbf{x})\right) \tag{6} r(x)=rankk(T1t=1∑TPtleaf(x))(6)
与平常的梯度下降不同,设计了专门的优化算法:
任重道远.