多标签学习方法Multi-Label Learning by Exploiting Label Correlations Locally

Multi-Label Learning by Exploiting Label Correlations Locally

2012 AAAI

Sheng-Jun Huang Zhi-Hua Zhou

摘要

众所周知,利用标签相关性对于多标签学习很重要。现有方法通常通过假设所有实例共享标签相关性来全局地利用标签相关性。然而,在实际任务中,不同的实例可以共享不同的标签相关性,并且很少有相关性在全局范围内适用。在本文中,我们提出了ML-LOC方法,该方法允许在局部利用标签相关性。

介绍

传统的监督学习处理单标签问题,现实世界中,一个实例常常伴]随着多个标签,为了处理这些任务,多标签学习在过去几年中引起了很多关注(Ghamrawi和Mccallum 2005; Hsu等人2009; Hariharan等人2010; Bucak等人2011)。

多标签问题直接解决方案是对每个类别单独训练,然后这种方案忽略了标签之间的相关性,特别是当某些标签没有足够的训练样例时,标签相关性可能会提供有用的额外信息。标签相关性的利用已被广泛接受为当前多标签学习方法(Tsoumakas等人2009; Dembczynski等人2010; Zhang和Zhang 2010)。

尽管不同的多标签学习方法试图利用标签关联的不同顺序(一阶,二阶和高阶)(Zhang和Zhang 2010),但他们通常通过假设相关性以全局方式利用标签关联。由所有实例共享。然而,在实际任务中,标签关联自然是局部的,其中标签关联可以仅由实例的子集而不是所有实例共享。

例如,如图所示,我们考虑山脉和树木之间的强相关性。对于图像(b),树木不太突出,因此可能难以预测;在这种情况下,山脉和树木之间的相关性可能有助于学习任务,因为标签山脉在此图像中相对容易预测。对于图像(c),随着树清楚地呈现,这种相关性变得具有误导性,因为它将建议包括标签山,而该标签不适合于图像。
在这里插入图片描述

在本文中,我们提出了ML-LOC方法,该方法视图在局部利用数据中的标签相关性,我们不假设有外部知识来源指定标签相关性的局部性。相反,我们假设实例可以分成不同的组,每个组共享标签相关的子集。为了编码标签相关性的局部影响,我们为每个实例构造了一个LOC代码,并使用此代码作为实力的附加特征。我们通过将全局判别拟合和局部相关敏感性纳入统一框架来制定问题,并为优化开发交替解决方案。

ML-LOC 方法

框架

通过为每个实例 X i X_i Xi 引入向量 C i C_i Ci 来编码标签相关性的局部影响和扩展原始特征表示。由于相似的实例共享相同的标签关联子集,因此相似的标签将会有相似 c c c。因此,我们在标签空间中衡量实例之间的相似性而不是在特征空间中,因为具有相似标签向量的实例通常共享相同的相关性。

定义 f = [ f 1 , f 2 , ⋯   , f L ] \mathbf { f } = \left[ f _ { 1 } , f _ { 2 } , \cdots , f _ { L } \right] f=[f1,f2,,fL],每个函数作用与一个标签, f l ( x , c ) = ⟨ w l , [ ϕ ( x ) , c ] ⟩ = ⟨ w l x , ϕ ( x ) ⟩ + ⟨ w l c , c ⟩ f _ { l } ( \mathbf { x } , \mathbf { c } ) = \left\langle \mathbf { w } _ { l } , [ \phi ( \mathbf { x } ) , \mathbf { c } ] \right\rangle = \left\langle \mathbf { w } _ { l } ^ { x } , \phi ( \mathbf { x } ) \right\rangle + \left\langle \mathbf { w } _ { l } ^ { c } , \mathbf { c } \right\rangle fl(x,c)=wl,[ϕ(x),c]=wlx,ϕ(x)+wlc,c,其中 ϕ ( ⋅ ) \phi ( \cdot ) ϕ()是由核 κ κ κ 引起的特征映射,针对全局判别拟合和局部相关灵敏度,我们优化 f f f C C C ,使得以下函数最小化:

min ⁡ f , C ∑ i = 1 n V ( x i , c i , y i , f ) + λ 1 Ω ( f ) + λ 2 Z ( C ) \min _ { f , C } \sum _ { i = 1 } ^ { n } V \left( \mathbf { x } _ { i } , \mathbf { c } _ { i } , \mathbf { y } _ { i } , \mathbf { f } \right) + \lambda _ { 1 } \Omega ( \mathbf { f } ) + \lambda _ { 2 } Z ( C ) f,Cmini=1nV(xi,ci,yi,f)+λ1Ω(f)+λ2Z(C)

其中 V V V 是损失函数,$ \Omega$ 是控制模型 f f f 的复杂性的正则化器, Z Z Z是强制执行代码 C C C 的局部性的正则化器,其中loss为hamming loss

V ( x i , c i , y i , f ) = ∑ l = 1 L loss ⁡ ( x i , c i , y i l , f l ) V \left( \mathbf { x } _ { i } , \mathbf { c } _ { i } , \mathbf { y } _ { i } , \mathbf { f } \right) = \sum _ { l = 1 } ^ { L } \operatorname { loss } \left( \mathbf { x } _ { i } , \mathbf { c } _ { i } , y _ { i l } , f _ { l } \right) V(xi,ci,yi,f)=l=1Lloss(xi,ci,yil,fl)
其中loss为SVM的Hinge losss,
loss ⁡ ( x , c , y , f ) = max ⁡ { 0 , 1 − y f ( [ ϕ ( x ) , c ] ) } \operatorname { loss } ( \mathbf { x } , \mathbf { c } , y , f ) = \max \{ 0,1 - y f ( [ \phi ( \mathbf { x } ) , \mathbf { c } ] ) \} loss(x,c,y,f)=max{0,1yf([ϕ(x),c])}
对于第二项式子我们定义为
Ω ( f ) = ∑ l = 1 L ∥ w l ∥ 2 \Omega ( \mathbf { f } ) = \sum _ { l = 1 } ^ { L } \left\| \mathbf { w } _ { l } \right\| ^ { 2 } Ω(f)=l=1Lwl2

对于第三项式子,我们假定训练数据可以分为m组 { G 1 , G 2 , ⋯   , G m } \left\{ G _ { 1 } , G _ { 2 } , \cdots , G _ { m } \right\} {G1,G2,,Gm},可以通过聚类的方法发现这些组,定义 S j S_j Sj表示 G j G_j Gj当中的相关子集,由于标签相关性通常不可用且很难获得,我们用Gj中的所有实例的原型代表 S j S_j Sj,用 p j p_j pj表示
p j = 1 ∣ G j ∣ ∑ x k ∈ G j y k \mathbf { p } _ { j } = \frac { 1 } { \left| G _ { j } \right| } \sum _ { \mathbf { x } _ { k } \in G _ { j } } \mathbf { y } _ { k } pj=Gj1xkGjyk
然后,对于一个实例 x i x_i xi ,定义 c i j c_{ij} cij 来衡量 S j S_j Sj 对于 x i x_i xi 局部影响, y j y_j yj p j p_j pj 越相似, x i x_i xi G j G_j Gj中的实例具有相同的相关性的可能性越大, c i j c_{ij} cij 值越大表明 S j S_j Sj x i x_i xi 有帮助的概率更高,我们将连接的矢量命名为LOC code (LOcal Correlation code) c i = [ c i 1 , c i 2 , ⋯   , c i m ] \mathbf { c } _ { i } = \left[ c _ { i 1 } , c _ { i 2 } , \cdots , c _ { i m } \right] ci=[ci1,ci2,,cim],对于 x i x_i xi,定义LOC codes的正则化式子为
Z ( C ) = ∑ i = 1 n ∑ j = 1 m c i j ∥ y i − p j ∥ 2 Z ( C ) = \sum _ { i = 1 } ^ { n } \sum _ { j = 1 } ^ { m } c _ { i j } \left\| \mathbf { y } _ { i } - \mathbf { p } _ { j } \right\| ^ { 2 } Z(C)=i=1nj=1mcijyipj2

使用上述展开公式代替优化函数中的三项,则框架可以写为
min ⁡ W , C , P ∑ i = 1 n ∑ l = 1 L ξ i l + λ 1 ∑ l = 1 L ∥ w l ∥ 2 + + λ 2 ∑ i = 1 n ∑ j = 1 m c i j ∥ y i − p j ∥ 2 \min _ { W , C , P } \sum _ { i = 1 } ^ { n } \sum _ { l = 1 } ^ { L } \xi _ { i l } + \lambda _ { 1 } \sum _ { l = 1 } ^ { L } \left\| \mathbf { w } _ { l } \right\| ^ { 2 } + + \lambda _ { 2 } \sum _ { i = 1 } ^ { n } \sum _ { j = 1 } ^ { m } c _ { i j } \left\| \mathbf { y } _ { i } - \mathbf { p } _ { j } \right\| ^ { 2 } W,C,Pmini=1nl=1Lξil+λ1l=1Lwl2++λ2i=1nj=1mcijyipj2
s.t. y i l ⟨ w l , [ ϕ ( x i ) , c i ] ⟩ ≥ 1 − ξ i l ξ i l ≥ 0 ∀ i ∈ { 1 , ⋯   , n } , l ∈ { 1 , ⋯   , L } ∑ j = 1 m c i j = 1 ∀ i ∈ { 1 , ⋯   , n } 0 ≤ c i j ≤ 1 ∀ i ∈ { 1 , ⋯   , n } , j ∈ { 1 , ⋯   , m } \left. \begin{array} { c l } { \text {s.t.} } & { y _ { i l } \left\langle \mathbf { w } _ { l } , \left[ \phi \left( \mathbf { x } _ { i } \right) , \mathbf { c } _ { i } \right] \right\rangle \geq 1 - \xi _ { i l } } \\ { } & { \xi _ { i l } \geq 0 \quad \forall i \in \{ 1 , \cdots , n \} , l \in \{ 1 , \cdots , L \} } \\ { } & { \sum _ { j = 1 } ^ { m } c _ { i j } = 1 \quad \forall i \in \{ 1 , \cdots , n \} } \\ { 0 \leq c _ { i j } } & { \leq 1 \quad \forall i \in \{ 1 , \cdots , n \} , j \in \{ 1 , \cdots , m \} } \end{array} \right. s.t.0cijyilwl,[ϕ(xi),ci]1ξilξil0i{1,,n},l{1,,L}j=1mcij=1i{1,,n}1i{1,,n},j{1,,m}

####交替解决方案
通过固定三个变量其中的两个,来优化第三个变量,当固定C和P来求W,优化函数可以写为
min ⁡ W ∑ i = 1 n ∑ l = 1 L ξ i l + λ 1 ∑ l = 1 L ∥ w l ∥ 2 \min _ { W } \sum _ { i = 1 } ^ { n } \sum _ { l = 1 } ^ { L } \xi _ { i l } + \lambda _ { 1 } \sum _ { l = 1 } ^ { L } \left\| \mathbf { w } _ { l } \right\| ^ { 2 } Wmini=1nl=1Lξil+λ1l=1Lwl2
 s.t.  y i l ⟨ w l , [ ϕ ( x i ) , c i ] ⟩ ≥ 1 − ξ i l ξ i l ≥ 0 ∀ i = { 1 , ⋯   , n } , l = { 1 , ⋯   , L } \left. \begin{array} { c l } { \text { s.t. } } & { y _ { i l } \left\langle \mathbf { w } _ { l } , \left[ \phi \left( \mathbf { x } _ { i } \right) , \mathbf { c } _ { i } \right] \right\rangle \geq 1 - \xi _ { i l } } \\ { } & { \xi _ { i l } \geq 0 \quad \forall i = \{ 1 , \cdots , n \} , l = \{ 1 , \cdots , L \} } \end{array} \right.  s.t. yilwl,[ϕ(xi),ci]1ξilξil0i={1,,n},l={1,,L}

进一步,对于某个标签:
min ⁡ w l ∑ i = 1 n ξ i l + λ 1 ∥ w l ∥ 2 \min _ { \mathbf { w } _ { l } } \sum _ { i = 1 } ^ { n } \xi _ { i l } + \lambda _ { 1 } \left\| \mathbf { w } _ { l } \right\| ^ { 2 } wlmini=1nξil+λ1wl2
 s.t.  y i l ⟨ w l , [ ϕ ( x i ) , c i ] ⟩ ≥ 1 − ξ i l ξ i l ≥ 0 ∀ i = { 1 , ⋯   , n } , l = { 1 , ⋯   , L } \left. \begin{array} { c l } { \text { s.t. } } & { y _ { i l } \left\langle \mathbf { w } _ { l } , \left[ \phi \left( \mathbf { x } _ { i } \right) , \mathbf { c } _ { i } \right] \right\rangle \geq 1 - \xi _ { i l } } \\ { } & { \xi _ { i l } \geq 0 \quad \forall i = \{ 1 , \cdots , n \} , l = \{ 1 , \cdots , L \} } \end{array} \right.  s.t. yilwl,[ϕ(xi),ci]1ξilξil0i={1,,n},l={1,,L}

这是一个标准的SVM模型,因此,可以通过独立训练L SVM模型来优化W。

当固定W和P来求C,这个式子将变成:
min ⁡ C ∑ i = 1 n ∑ l = 1 L ξ i l + λ 2 ∑ i = 1 n ∑ j = 1 m c i j ∥ y i − p j ∥ 2 \min _ { C } \sum _ { i = 1 } ^ { n } \sum _ { l = 1 } ^ { L } \xi _ { i l } + \lambda _ { 2 } \sum _ { i = 1 } ^ { n } \sum _ { j = 1 } ^ { m } c _ { i j } \left\| \mathbf { y } _ { i } - \mathbf { p } _ { j } \right\| ^ { 2 } Cmini=1nl=1Lξil+λ2i=1nj=1mcijyipj2
s.t. y i l ⟨ w l , [ ϕ ( x i ) , c i ] ⟩ ≥ 1 − ξ i l ξ i l ≥ 0 ∀ i = { 1 , ⋯   , n } , l = { 1 , ⋯   , L } ∑ j = 1 m c i j = 1 ∀ i = { 1 , ⋯   , n } 0 ≤ c i j ≤ 1 ∀ i = { 1 , ⋯   , n } , j = { 1 , ⋯   , m } \left. \begin{array} { c l } { \text {s.t.} } & { y _ { i l } \left\langle \mathbf { w } _ { l } , \left[ \phi \left( \mathbf { x } _ { i } \right) , \mathbf { c } _ { i } \right] \right\rangle \geq 1 - \xi _ { i l } } \\ { } & { \xi _ { i l } \geq 0 \quad \forall i = \{ 1 , \cdots , n \} , l = \{ 1 , \cdots , L \} } \\ { } & { \sum _ { j = 1 } ^ { m } c _ { i j } = 1 \quad \forall i = \{ 1 , \cdots , n \} } \\ { 0 \leq c _ { i j } \leq 1 } & { \forall i = \{ 1 , \cdots , n \} , j = \{ 1 , \cdots , m \} } \end{array} \right. s.t.0cij1yilwl,[ϕ(xi),ci]1ξilξil0i={1,,n},l={1,,L}j=1mcij=1i={1,,n}i={1,,n},j={1,,m}
进一步,对于某个实例:
min ⁡ c i ∑ l = 1 L ξ i l + λ 2 ∑ j = 1 m c i j ∥ y i − p j ∥ 2 \min _ { \mathbf { c } _ { i } } \sum _ { l = 1 } ^ { L } \xi _ { i l } + \lambda _ { 2 } \sum _ { j = 1 } ^ { m } c _ { i j } \left\| \mathbf { y } _ { i } - \mathbf { p } _ { j } \right\| ^ { 2 } ciminl=1Lξil+λ2j=1mcijyipj2
s.t. y i l ⟨ w l , [ ϕ ( x i ) , c i ] ⟩ ≥ 1 − ξ i l ξ i l ≥ 0 ∀ i = { 1 , ⋯   , n } , l = { 1 , ⋯   , L } ∑ j = 1 m c i j = 1 ∀ i = { 1 , ⋯   , n } 0 ≤ c i j ≤ 1 ∀ i = { 1 , ⋯   , n } , j = { 1 , ⋯   , m } \left. \begin{array} { c l } { \text {s.t.} } & { y _ { i l } \left\langle \mathbf { w } _ { l } , \left[ \phi \left( \mathbf { x } _ { i } \right) , \mathbf { c } _ { i } \right] \right\rangle \geq 1 - \xi _ { i l } } \\ { } & { \xi _ { i l } \geq 0 \quad \forall i = \{ 1 , \cdots , n \} , l = \{ 1 , \cdots , L \} } \\ { } & { \sum _ { j = 1 } ^ { m } c _ { i j } = 1 \quad \forall i = \{ 1 , \cdots , n \} } \\ { 0 \leq c _ { i j } \leq 1 } & { \forall i = \{ 1 , \cdots , n \} , j = \{ 1 , \cdots , m \} } \end{array} \right. s.t.0cij1yilwl,[ϕ(xi),ci]1ξilξil0i={1,,n},l={1,,L}j=1mcij=1i={1,,n}i={1,,n},j={1,,m}

接着更新p
p j = ∑ i = 1 n c i j y i \mathbf { p } _ { j } = \sum _ { i = 1 } ^ { n } c _ { i j } \mathbf { y } _ { i } pj=i=1ncijyi

由于分类模型是基于特征向量和LOC codes训练得来的,给定一个测试用例 x t x_t xt,它的LOC code c t c_t ct是不知道的,因此我们通过训练实例和它们的LOC codes训练 m m m 个回归模型。

对于ML—LOC算法,P和C通过使用k-meas聚类方法初始化, p k p_k pk初始化为聚类的中心, 当 y i y_i yi属于第k的类时 c i k c_{ik} cik 被赋值为1,否则为0。

算法流程

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值