原文见Yue Zhu, James T. Kwok, Zhi-Hua Zhou, Multi-Label Learning with Global and Local Label Correlation, IEEE Transactions on Knowledge and Data Engineering, 2018 (30), 1081–1094.
符号系统
符号 | 说明 |
---|---|
X = [ x i j ] n × d ∈ R d \mathbf{X}=[x_{ij}]_{n\times d}\in \mathbb{R}^d X=[xij]n×d∈Rd | 特征矩阵 |
Y ~ = [ y ~ i j ] ∈ { − 1 , 1 } l × n \mathbf{\tilde Y}=[\tilde y_{ij}]\in \{-1,1\}^{l\times n} Y~=[y~ij]∈{−1,1}l×n | 真实标签矩阵,即标签存在值为1,不存在即为-1 |
Y = [ y i j ] ∈ { − 1 , 0 , 1 } l × n \mathbf{Y}=[y_{ij}]\in \{-1, 0, 1\}^{l\times n} Y=[yij]∈{−1,0,1}l×n | 观察到的标签矩阵,即标签存在值为1,不存在即为-1,状态未知即为0 |
C = { c 1 , … , c l } \mathbf{C}=\{c_1, \dots, c_l\} C={c1,…,cl} | 标签集 |
主要思想
全局性体现在将
Y
~
\mathbf{\tilde Y}
Y~分解成两个低秩矩阵相乘:
U
V
\mathbf{UV}
UV,即用
U
V
\mathbf{UV}
UV来拟合
Y
~
\mathbf{\tilde Y}
Y~。其中,
V
∈
R
k
×
n
\mathbf{V}\in \mathbb{R}^{k\times n}
V∈Rk×n表示从原标签中抽象出的隐藏标签;
U
∈
R
l
×
k
\mathbf{U}\in \mathbb{R}^{l\times k}
U∈Rl×k表示隐藏标签到原始标签的投射。然后,我们要找从特征数据到隐藏标签之间的映射关系,特征权重值用
W
∈
R
d
×
k
\mathbf{W}\in \mathbb{R}^{d\times k}
W∈Rd×k来表示,即用
W
T
X
\mathbf{W}^T\mathbf{X}
WTX来拟合
V
\mathbf{V}
V,因此基本的目标模函数为:
min
U
,
V
,
W
∥
Π
Ω
(
Y
−
U
V
)
∥
F
2
+
λ
∥
(
V
−
W
T
X
)
∥
F
2
+
λ
2
R
(
U
,
V
,
W
)
(1)
\min_{\mathbf{U, V,W}}\parallel \Pi_{\Omega}(\mathbf{Y} - \mathbf{UV})\parallel_F^2+\lambda\parallel (\mathbf{V} - \mathbf{W}^T\mathbf{X})\parallel_F^2+\lambda_2\mathcal{R}(\mathbf{U,V,W}) \tag{1}
U,V,Wmin∥ΠΩ(Y−UV)∥F2+λ∥(V−WTX)∥F2+λ2R(U,V,W)(1)
其中,
Π
Ω
(
Y
−
U
V
)
\Pi_{\Omega}(\mathbf{Y} - \mathbf{UV})
ΠΩ(Y−UV)是一个大小为
l
×
n
l\times n
l×n的矩阵,
Ω
\Omega
Ω中记录了已知标签状态的标签索引(
Y
中非
0
值的索引
\mathbf{Y}中非0值的索引
Y中非0值的索引),如果
(
i
,
j
)
∈
Ω
(i,j)\in \Omega
(i,j)∈Ω,
[
Π
Ω
(
A
)
]
i
j
=
A
i
j
[\Pi_{\Omega}(A)]_{ij}=A_{ij}
[ΠΩ(A)]ij=Aij,否则
[
Π
Ω
(
A
)
]
i
j
=
0
[\Pi_{\Omega}(A)]_{ij} = 0
[ΠΩ(A)]ij=0;
R
(
U
,
V
,
W
)
\mathcal{R}(\mathbf{U,V,W})
R(U,V,W)是一个正则表达式起约束作用;
λ
\lambda
λ、
λ
2
\lambda_2
λ2是权衡因子。
针对每一个标签,都有一个模型器与之对应。一个测试样例
x
\mathbb{x}
x的预测结果用
s
i
g
n
(
f
(
x
)
)
sign(f(\mathbb{x}))
sign(f(x))来表示。其中,
f
(
x
)
=
U
W
T
x
f(\mathbb{x})=\mathbf{UW}^T\mathbb{x}
f(x)=UWTx,
f
=
[
f
1
,
…
,
f
l
]
T
f=[f_1, \dots, f_l]^T
f=[f1,…,fl]T,
f
j
(
x
)
f_j(\mathbb{x})
fj(x)表示
x
\mathbb{x}
x关于标签
c
j
c_j
cj的预测值。所有样例的测试结果用
F
0
F_0
F0表示,即
F
0
=
[
f
(
x
1
)
,
…
,
f
(
x
n
)
]
=
U
W
T
X
\mathbf{F}_0=[f(\mathbb{x}_1), \dots, f(\mathbb{x}_n)]=\mathbf{UW}^T\mathbf{X}
F0=[f(x1),…,f(xn)]=UWTX。
我们期望存在正相关的标签在同一个样本上的输出值越相似,负相关的标签的预测值差异越大。用
S
0
=
[
S
i
j
]
∈
R
l
×
l
\mathbf{S}_0=[S_{ij}]\in \mathbb{R}^{l \times l}
S0=[Sij]∈Rl×l来表示标签的相关性矩阵,本论文中采用了余弦距离来表示相关性,即
[
S
0
]
i
j
=
y
i
y
j
T
∥
y
i
∥
∥
y
j
∥
[\mathbf S_0]_{ij}=\frac{\mathbb{y}_i\mathbb{y}_j^T}{\parallel \mathbb{y}_i \parallel \parallel \mathbb{y}_j \parallel}
[S0]ij=∥yi∥∥yj∥yiyjT,
y
i
\mathbb{y}_i
yi表示
Y
\mathbf{Y}
Y中的第
i
i
i行数据。因此,希望
∑
i
,
j
S
i
j
∥
f
i
,
:
−
f
j
,
:
∥
2
2
\sum_{i,j}S_{ij}\parallel f_{i,:} - f_{j,:} \parallel _2^2
∑i,jSij∥fi,:−fj,:∥22尽可能小。
通过
S
0
\mathbf{S}_0
S0所对应的拉普拉斯矩阵
L
0
\mathbf{L}_0
L0(
L
0
=
D
0
−
S
0
\mathbf{L}_0=\mathbf{D}_0 - \mathbf{S}_0
L0=D0−S0其中
D
0
\mathbf{D}_0
D0是一个对角阵,每行的元素值等于
S
0
\mathbf{S}_0
S0对应行的元素值的和)将目标式子
∑
i
,
j
S
i
j
∥
f
i
,
:
−
f
j
,
:
∥
2
2
\sum_{i,j}S_{ij}\parallel f_{i,:} - f_{j,:} \parallel _2^2
∑i,jSij∥fi,:−fj,:∥22进行转换(拉普拉斯矩阵在后面介绍),拉普拉斯矩阵其中一个特点——对任意一个向量
f
f
f有:
f
T
L
f
=
∑
i
,
j
S
i
j
∥
f
i
,
:
−
f
j
,
:
∥
2
2
f^TLf=\sum_{i,j}S_{ij}\parallel f_{i,:} - f_{j,:} \parallel_2^2
fTLf=∑i,jSij∥fi,:−fj,:∥22。
于是,
F
0
T
L
0
F
0
\mathbf{F}_0^T\mathbf{L}_0\mathbf{F}_0
F0TL0F0得到一个对角矩阵,将
∑
i
,
j
S
i
j
∥
f
i
,
:
−
f
j
,
:
∥
2
2
\sum_{i,j}S_{ij}\parallel f_{i,:} - f_{j,:} \parallel _2^2
∑i,jSij∥fi,:−fj,:∥22尽可能小问题转换为
t
r
(
F
0
T
L
0
F
0
)
tr(\mathbf{F}_0^T\mathbf{L}_0\mathbf{F}_0)
tr(F0TL0F0)尽可能小问题。
上面我们讨论的都是全局下的情况,现在来将局部相关性考虑进去。
由于标签的相关性在不同的环境中的表现可能不同,所以将训练样本划分成
g
g
g组,每个组用
X
m
∈
R
d
×
n
m
,
m
∈
[
1
,
g
]
\mathbf{X}_m\in \mathbb{R}^{d\times n_m},m \in[1,g]
Xm∈Rd×nm,m∈[1,g]表示,每组的大小记作
n
m
n_m
nm,对应的标签值矩阵用
Y
m
\mathbf{Y}_m
Ym表示。与全局下一样,我们期望每个组的
t
r
(
F
i
T
L
i
F
i
)
tr(\mathbf{F}_i^T\mathbf{L}_i\mathbf{F}_i)
tr(FiTLiFi)(ps:
F
i
=
U
W
T
X
m
,
[
S
m
]
i
j
=
y
m
,
i
y
m
,
j
T
∥
y
i
∥
∥
y
j
∥
,
L
m
=
D
m
−
S
m
\mathbf{F}_i=\mathbf{UW}^T\mathbf{X}_m,[S_m]_{ij}=\frac{\mathbb{y_m,}_i\mathbb{y_m,}_j^T}{\parallel \mathbb{y}_i \parallel \parallel \mathbb{y}_j \parallel},\mathbf{L}_m=\mathbf{D}_m - \mathbf{S}_m
Fi=UWTXm,[Sm]ij=∥yi∥∥yj∥ym,iym,jT,Lm=Dm−Sm)(其中
y
m
,
i
\mathbb{y_m,}_i
ym,i表示
Y
m
\mathbf{Y}_m
Ym的第i行)尽可能的小。
于是,目标进化为:
min
U
,
V
,
W
∥
Π
Ω
(
Y
−
U
V
)
∥
F
2
+
λ
∥
(
V
−
W
T
X
)
∥
F
2
+
λ
2
R
(
U
,
V
,
W
)
+
λ
3
t
r
(
F
0
T
L
0
F
0
)
+
∑
m
=
1
g
λ
4
t
r
(
F
m
T
L
m
F
m
)
(2)
\min_{\mathbf{U, V,W}}\parallel \Pi_{\Omega}(\mathbf{Y} - \mathbf{UV})\parallel_F^2 +\lambda\parallel (\mathbf{V} - \mathbf{W}^T\mathbf{X})\parallel_F^2 +\lambda_2\mathcal{R}(\mathbf{U,V,W}) +\lambda_3tr(\mathbf{F}_0^T\mathbf{L}_0\mathbf{F}_0) +\sum\limits_{m=1}^g\lambda_4tr(\mathbf{F}_m^T\mathbf{L}_m\mathbf{F}_m) \tag{2}
U,V,Wmin∥ΠΩ(Y−UV)∥F2+λ∥(V−WTX)∥F2+λ2R(U,V,W)+λ3tr(F0TL0F0)+m=1∑gλ4tr(FmTLmFm)(2)
随后,文中提到了一个引理和一个命题:
于是,在此基础上再次进化:
min
U
,
V
,
W
∥
Π
Ω
(
Y
−
U
V
)
∥
F
2
+
λ
∥
(
V
−
W
T
X
)
∥
F
2
+
λ
2
R
(
U
,
V
,
W
)
+
∑
m
=
1
g
(
λ
3
n
m
n
t
r
(
F
0
T
L
m
F
0
)
+
λ
4
t
r
(
F
m
T
L
m
F
m
)
)
(3)
\min_{\mathbf{U, V,W}}\parallel \Pi_{\Omega}(\mathbf{Y} - \mathbf{UV})\parallel_F^2 +\lambda\parallel (\mathbf{V} - \mathbf{W}^T\mathbf{X})\parallel_F^2 +\lambda_2\mathcal{R}(\mathbf{U,V,W}) +\sum\limits_{m=1}^g\left ({ \frac{\lambda_3 n_m}{n}tr(\mathbf{F}_0^T\mathbf{L}_m\mathbf{F}_0) +\lambda_4tr(\mathbf{F}_m^T\mathbf{L}_m\mathbf{F}_m) }\right ) \tag{3}
U,V,Wmin∥ΠΩ(Y−UV)∥F2+λ∥(V−WTX)∥F2+λ2R(U,V,W)+m=1∑g(nλ3nmtr(F0TLmF0)+λ4tr(FmTLmFm))(3)
令
J
=
[
J
i
j
]
l
×
n
\mathbf{J}=[\mathbf{J}_{ij}]_{l\times n}
J=[Jij]l×n,当
(
i
,
j
)
∈
Ω
(i,j)\in \Omega
(i,j)∈Ω时,
J
i
j
=
1
\mathbf{J}_{ij}=1
Jij=1,否则为
0
0
0。所以
Π
Ω
(
Y
−
U
V
)
\Pi_{\Omega}(\mathbf{Y} - \mathbf{UV})
ΠΩ(Y−UV)被写成
J
∘
(
Y
−
U
V
)
\mathbf{J}\circ(\mathbf{Y} - \mathbf{UV})
J∘(Y−UV)。
由于拉普拉斯矩阵
L
m
\mathbf{L}_m
Lm是正定矩阵,一定能找到矩阵
Z
m
\mathbf{Z}_m
Zm满足
L
m
=
Z
m
Z
m
T
\mathbf{L}_m = \mathbf{Z}_m\mathbf{Z}_m^T
Lm=ZmZmT。但注意,以上提到的
L
m
\mathbf{L}_m
Lm是我们要去找的,现在我们可以通过
Z
m
\mathbf{Z}_m
Zm来确定,为了避免
L
m
\mathbf{L}_m
Lm是零矩阵且具有归一化,需要给
Z
m
\mathbf{Z}_m
Zm添加限制条件,即
d
i
a
g
(
Z
m
Z
m
T
)
=
1
diag(\mathbf{Z}_m\mathbf{Z}_m^T)=1
diag(ZmZmT)=1。
于是,目标表达式最后为:
min
U
,
V
,
W
∥
J
∘
(
Y
−
U
V
)
∥
F
2
+
λ
∥
(
V
−
W
T
X
)
∥
F
2
+
λ
2
R
(
U
,
V
,
W
)
+
∑
m
=
1
g
(
λ
3
n
m
n
t
r
(
F
0
T
Z
m
Z
m
T
F
0
)
+
λ
4
t
r
(
F
m
T
Z
m
Z
m
T
F
m
)
)
s
.
t
.
d
i
a
g
(
Z
m
Z
m
T
)
=
1
,
m
∈
{
1
,
2
,
…
,
g
}
(4)
\begin{aligned} & \min_{\mathbf{U, V,W}}\parallel \mathbf{J}\circ(\mathbf{Y} - \mathbf{UV})\parallel_F^2 +\lambda\parallel (\mathbf{V} - \mathbf{W}^T\mathbf{X})\parallel_F^2 +\lambda_2\mathcal{R}(\mathbf{U,V,W}) +\sum\limits_{m=1}^g\left ({ \frac{\lambda_3 n_m}{n}tr(\mathbf{F}_0^T\mathbf{Z}_m\mathbf{Z}_m^T\mathbf{F}_0) +\lambda_4tr(\mathbf{F}_m^T\mathbf{Z}_m\mathbf{Z}_m^T\mathbf{F}_m) }\right )\\ & s.t.\quad\quad diag(\mathbf{Z}_m\mathbf{Z}_m^T)=1,m\in\{1,2,\dots,g\} \end{aligned} \tag{4}
U,V,Wmin∥J∘(Y−UV)∥F2+λ∥(V−WTX)∥F2+λ2R(U,V,W)+m=1∑g(nλ3nmtr(F0TZmZmTF0)+λ4tr(FmTZmZmTFm))s.t.diag(ZmZmT)=1,m∈{1,2,…,g}(4)
其中,
R
(
U
,
V
,
W
)
=
∥
U
∥
F
2
+
∥
V
∥
F
2
+
∥
W
∥
F
2
\mathcal{R}(\mathbf{U,V,W}) = \parallel \mathbf{U} \parallel_F^2 + \parallel \mathbf{V} \parallel_F^2 + \parallel \mathbf{W} \parallel_F^2
R(U,V,W)=∥U∥F2+∥V∥F2+∥W∥F2。
我们通过目标表达式,学习得到
U
,
V
,
W
\mathbf{U,V,W}
U,V,W。
贴上论文中的伪代码:
通过梯度下降法,迭代更新
U
,
V
,
W
,
Z
m
\mathbf{U,V,W,Z}_m
U,V,W,Zm:
总体思路:将其中一个作为变量,剩余其它参数作为常量,在目标表达式中对变量进行求偏导,获得梯度方向。
(偷个懒啦~)
总结:在
G
L
O
C
A
L
GLOCAL
GLOCAL算法中,针对每个标签都生成了一个
f
i
,
i
∈
[
1
,
…
,
l
]
f_i,i\in[1,\dots,l]
fi,i∈[1,…,l],期望具有正相关性的标签所对应的模型输出值越相近,具有负相关性的标签所对应的模型输出值差异越大。考虑到标签的相关性在不同的环境下有不同的结果,所以将训练样本又划分成多个局部样本集(哈哈,找到了一个能横向切割的方法),并使用同样的方式获得局部下的目标表达式。结合了标签矩阵的对称性和拉普拉斯矩阵的特点,将复杂的差值求和换成简单的迹的求和。最后,通过梯度下降法来找参数。
现在来填坑:
拉普拉斯矩阵:请移步到这儿。
哈哈,自己动手丰衣足食。
不过,我的拉普拉斯启蒙是从这篇博客开始的:谱聚类(spectral clustering)原理总结
最后,恭喜自己草稿箱又少一篇,这个拖延症该治治了🙃