摘要: 分享对论文的理解. 原文见 Huang, J., Qin, F., Zheng, X., Cheng, Z.-K., Yuan, Z.-X., Zhang, W.-G., & Huang, Q.-M. (2019). Improving multi-label classification with missing labels by learning label-specific features. Information Sciences, 492, 124–146.
1. 论文贡献
- 在 LIFT 的基础上, 考虑了标签相关性 (张星移正在担忧的事情). 大胆地使用了一个标签相关性矩阵.
However, label correlation among class labels is neglected when selecting the features for each class label independently. - 考虑了缺失标签. 但我到现在都没弄清楚他是怎么考虑的.
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 | 系数矩阵 | 仍然是线性模型 |
w i ∈ R m \mathbf{w}_i \in \mathbb{R}^m wi∈Rm | 某一标签的系数向量 | |
C ∈ R l × l \mathbf{C} \in \mathbb{R}^{l \times l} C∈Rl×l | 标签相关性矩阵 | 成对相关性, 不满足对称性 |
y i j = 0 y_{ij} = 0 yij=0 表示第 i i i 个对象没有第 j j j 个标签, 或者标签缺失. 这在实际应用中很常见, 标注者很多时候只告诉你有哪些, 而不会说没有哪些标签.
3. 算法
基本优化目标为:
min
W
1
2
∥
X
W
−
Y
∥
+
λ
3
∥
W
∥
1
(1)
\min_{\mathbf{W}} \frac{1}{2} \|\mathbf{XW} - \mathbf{Y}\| + \lambda_3 \|\mathbf{W}\|_1 \tag{1}
Wmin21∥XW−Y∥+λ3∥W∥1(1)
- 使用 λ 3 \lambda_3 λ3 而不是 λ \lambda λ, 是为了与后面的式子保持一致;
- 用 1-范数做正则项, 确实可以控制 W \mathbf{W} W 的系数, 这个与 PML-NI 的思路一样, 但后者本意是用 0-范数.
- 这里并没有使用 LIFT 为每个标签构建新属性集合的方式, 称其为 “label-specific features”, 感觉草率了些.
考虑标签相关性矩阵
C
\mathbf{C}
C 的优化目标为:
min
W
,
C
1
2
∥
X
W
−
Y
C
∥
F
2
+
λ
1
2
∥
Y
C
−
Y
∥
F
2
+
λ
2
∥
C
∥
1
+
λ
3
∥
W
∥
1
(2)
\min_{\mathbf{W}, \mathbf{C}} \frac{1}{2} \|\mathbf{XW} - \mathbf{YC}\|_F^2 + \frac{\lambda_1}{2}\|\mathbf{YC} - \mathbf{Y}\|_F^2 + \lambda_2 \|\mathbf{C}\|_1 + \lambda_3 \|\mathbf{W}\|_1 \tag{2}
W,Cmin21∥XW−YC∥F2+2λ1∥YC−Y∥F2+λ2∥C∥1+λ3∥W∥1(2)
- 这里的 C \mathbf{C} C 也是优化算法需要求的矩阵, 并非从其它方式计算而来.
- 难道作者认为 Y C \mathbf{YC} YC 就是恢复后的标签矩阵? 这样的话, 预测的时候就只需要使用 x W \mathbf{xW} xW 而不考虑 C \mathbf{C} C 了. 需要进一步读论文印证.
举两个栗子吧
Y
=
[
0
1
1
1
0
0
1
0
1
1
1
0
]
\mathbf{Y} = \left[\begin{matrix}0 & 1 & 1\\ 1 & 0 & 0\\ 1 & 0 & 1\\ 1 & 1 & 0\end{matrix}\right]
Y=⎣⎢⎢⎡011110011010⎦⎥⎥⎤
单位矩阵表示恒等变换
I
=
[
1
0
0
0
1
0
0
0
1
]
\mathbf{I} = \left[\begin{matrix}1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\end{matrix}\right]
I=⎣⎡100010001⎦⎤
因此
Y
I
=
Y
\mathbf{YI} = \mathbf{Y}
YI=Y
我心目中的
C
\mathbf{C}
C 长这个样子:
C
=
[
0.9
0.1
0.2
0.1
0.8
0.3
0.1
0.2
0.9
]
\mathbf{C} = \left[\begin{matrix}0.9 & 0.1 & 0.2\\ 0.1 & 0.8 & 0.3\\ 0.1 & 0.2 & 0.9\end{matrix}\right]
C=⎣⎡0.90.10.10.10.80.20.20.30.9⎦⎤
即对角线上的值接近 1 (标签与自己最相关), 而其它值比较小.
Y
C
=
[
0.2
1
1.2
0.9
0.1
0.2
1
0.3
0.4
1
0.9
0.5
]
\mathbf{YC} = \left[\begin{matrix}0.2 & 1 & 1.2\\ 0.9 & 0.1 & 0.2\\ 1 & 0.3 & 0.4\\ 1 & 0.9 & 0.5\end{matrix}\right]
YC=⎣⎢⎢⎡0.20.91110.10.30.91.20.20.40.5⎦⎥⎥⎤
它与
Y
\mathbf{Y}
Y 有一定差距, 但并不大.
进一步考虑: 如果两个标签相关性大, 那么产生它们的权值向量距离就应该小. 由此获得优化目标:
min
W
,
C
1
2
∥
X
W
−
Y
C
∥
F
2
+
λ
1
2
∥
Y
C
−
Y
∥
F
2
+
λ
2
∥
C
∥
1
+
λ
3
∥
W
∥
1
+
λ
4
∑
1
≤
i
,
j
≤
l
c
i
j
∥
w
i
−
w
j
∥
(3)
\min_{\mathbf{W}, \mathbf{C}} \frac{1}{2} \|\mathbf{XW} - \mathbf{YC}\|_F^2 + \frac{\lambda_1}{2}\|\mathbf{YC} - \mathbf{Y}\|_F^2 + \lambda_2 \|\mathbf{C}\|_1 + \lambda_3 \|\mathbf{W}\|_1 + \lambda_4 \sum_{1 \leq i, j \leq l} c_{ij}\|\mathbf{w}_i - \mathbf{w}_j\|\tag{3}
W,Cmin21∥XW−YC∥F2+2λ1∥YC−Y∥F2+λ2∥C∥1+λ3∥W∥1+λ41≤i,j≤l∑cij∥wi−wj∥(3)
- 最后一项的双竖线在这里表示欧氏距离.
- 为使得最后一项小, 当 c i j c_{ij} cij 大的时候, ∥ w i − w j ∥ \|\mathbf{w}_i - \mathbf{w}_j\| ∥wi−wj∥ 就应该小.
- 为了优化, 最后一项会变为
λ 4 t r ( W L W T ) \lambda_4 tr(\mathbf{WLW}^{\mathrm{T}}) λ4tr(WLWT)
其中, L \mathbf{L} L 是 C \mathbf{C} C 的图 Laplacian 矩阵.
4. 小结
- 想要体现什么因素, 就加一个正则项. 有合理解释, 以及更好效果就行.
- 但从我们的实验看来, 这个算法的效果很一般. 当然, 效果与数据集、参数设置这些都很有关.