1、基本信息
@article{Zhou2009MultiinstanceLB,
title={Multi-instance learning by treating instances as non-I.I.D. samples},
author={Zhi-Hua Zhou and Yu-Yin Sun and Yu-Feng Li},
journal={ArXiv},
year={2009},
volume={abs/0807.1997}
}
2、摘要
常规的多示例研究方式通常为很少考虑包内实例之间的关系,因为在实际情况中包内的实例几乎很少出现相互独立的关系。因此,若以non I.ID的方式(利实例之间的关系)来处理实例能够获得更好的性能。
本文提出两种算法MIGraph与miGraph。前者显式的将每个包映射到一个无向图中,并设计一个图核来区分正负包;后者通过推导亲和矩阵隐式构造图,并提出一个考虑团信息的高效图核。
3、算法
首先引入常规处理方式与本文的处理方式间的区别:
如图所示,每一张图片对应一个包,图片中的每一个小方框对应一个实例。每个包有6个实例,不同实例代表着不同的颜色。如:蓝色方框代表红色区域,黄色方框代表绿色区域。
我们按照常规的多示例学习处理方式,不考虑实例之间的关系,将以上三个包抽象出来,就可以表示为:
可以看出,三个包的实例数量是一样的,乍一看好像三个包非常的相似(因为都具有相同数量的同类实例),但实际上看包的图片可以看出来前面两个包与第三个包有明显的不同。
然而,如果我们考虑实例间的关系,来观察一下实例间的分布。我们发现前两个包的蓝色实例距离特别近,但第三个包的蓝色实例与黄色实例是交错分布的,区分度并没有前两个那么明显。因此我们可以判断前两个包之间比较相似,第三个包与前两个包有明显的不同。 该方式可以表示为:
属于同一类的包的关系结构相对比较相似,而属于不同类别的包的关系结构相对比较不同。
3.1 MIGraph
首先,正如Figure3所示,我们为每一个包构建一个 ϵ \epsilon ϵ-graph,这对于了解包内部组成有很大的帮助。
其次,将包 X i X_{i} Xi中的每个实例看做节点 x i x_{i} xi。计算包 X i X_{i} Xi中两个实例 x i u x_{iu} xiu与 x i v x_{iv} xiv之间的距离,若该距离比阈值 ϵ \epsilon ϵ小,则将该边加入到图内,边权值为两个节点的相似度(非零距离的标准化倒数)。使用欧式距离来搭建 ϵ \epsilon ϵ-graph。
当设计到已分类的属性时,加入VDM(Value Difference Metric)。前
j
j
j个属性已分类,而剩余的
d
−
j
d-j
d−j个属性是归一化为
[
0
,
1
]
[0,1]
[0,1]区间内的连续值,此时我们可以使用:
(
∑
h
=
1
j
V
D
M
(
x
1
,
h
,
x
2
,
h
)
+
∑
h
=
j
+
1
d
∣
x
1
,
h
−
x
2
,
h
∣
2
)
1
2
(1)
(\sum_{h=1}^{j}VDM(x_{1,h},x_{2,h})+\sum_{h=j+1}^{d}|x_{1,h}-x_{2,h}|^{2})^{\frac{1}{2}}\tag{1}
(h=1∑jVDM(x1,h,x2,h)+h=j+1∑d∣x1,h−x2,h∣2)21(1)
来计算
x
1
x_{1}
x1与
x
2
x_{2}
x2之间的距离。即:前
j
j
j个属性通过VDM距离来求,后
d
−
j
d-j
d−j个属性通过常规的距离函数来求。VDM距离的计算公式为:
V
D
M
(
z
1
,
z
2
)
=
∑
c
=
1
C
∣
N
Z
,
z
1
,
c
N
Z
,
z
1
−
N
Z
,
z
2
,
c
N
Z
,
z
2
∣
2
(2)
VDM(z_{1},z_{2})=\sum_{c=1}^{C}|\frac{N_{Z,z_{1},c}}{N_{Z,z_{1}}}-\frac{N_{Z,z_{2},c}}{N_{Z,z_{2}}}|^{2}\tag{2}
VDM(z1,z2)=c=1∑C∣NZ,z1NZ,z1,c−NZ,z2NZ,z2,c∣2(2)
其中,
z
1
z_{1}
z1与
z
2
z_{2}
z2表示实例
x
1
x_{1}
x1与
x
2
x_{2}
x2对于该属性
Z
Z
Z的属性值,
N
Z
,
z
N_{Z,z}
NZ,z表示训练集中对于属性
Z
Z
Z属性值为
z
z
z的实例数,
N
Z
,
z
,
c
N_{Z,z,c}
NZ,z,c表示训练集中属于类别
c
c
c且对于属性
Z
Z
Z属性值为
z
z
z的实例数。
将训练包集合映射为一组图后,设计一种图核来获取映射图之间的相似性,并通过例如SVM等分类算法来进行分类。
图核graph kernel(i.e.,
k
G
k_{G}
kG)分为两部分,分别是节点核node kernel(i.e.,
k
n
o
d
e
k_{node}
knode)与边核edge kernel (i.e.,
k
e
d
g
e
k_{edge}
kedge)。节点核将节点传达的信息整合在一起,边核将边传达的信息整合在一起。示意图:
给定两个包
X
i
X_{i}
Xi与
X
j
X_{j}
Xj,可以表示为图
G
h
(
{
x
h
u
}
u
=
1
n
h
,
{
e
h
v
}
v
=
1
m
h
)
,
h
=
i
,
j
G_{h}(\left \{ x_{hu} \right \} _{u=1}^{n_{h}},\left \{ e_{hv} \right \} _{v=1}^{m_{h}}),h=i,j
Gh({xhu}u=1nh,{ehv}v=1mh),h=i,j,其中
n
h
n_{h}
nh与
m
h
m_{h}
mh分布代表节点与边在图
G
h
G_{h}
Gh中的数量。图核函数定义为:
k
G
(
X
i
,
X
j
)
=
∑
a
=
1
n
i
∑
b
=
1
n
j
k
n
o
d
e
(
x
i
a
,
x
j
b
)
+
∑
a
=
1
m
i
∑
b
=
1
m
j
k
e
d
g
e
(
e
i
a
,
e
j
b
)
(3)
k_{G}(X_{i},X_{j})=\sum_{a=1}^{n_{i}}\sum_{b=1}^{n_{j}}k_{node}(x_{ia},x_{jb})+\sum_{a=1}^{m_{i}}\sum_{b=1}^{m_{j}}k_{edge}(e_{ia},e_{jb})\tag{3}
kG(Xi,Xj)=a=1∑nib=1∑njknode(xia,xjb)+a=1∑mib=1∑mjkedge(eia,ejb)(3)
为了避免数值问题,
k
G
k_{G}
kG标准化为:
k
G
(
X
i
,
X
j
)
=
k
G
(
X
i
,
X
j
)
k
G
(
X
i
,
X
i
)
k
G
(
X
j
,
X
j
)
(4)
k_{G}(X_{i},X_{j})=\frac{k_{G}(X_{i},X_{j})}{\sqrt{k_{G}(X_{i},X_{i})}\sqrt{k_{G}(X_{j},X_{j})} }\tag{4}
kG(Xi,Xj)=kG(Xi,Xi)kG(Xj,Xj)kG(Xi,Xj)(4)
而
k
n
o
d
e
k_{node}
knode与
k
e
d
g
e
k_{edge}
kedge可以用不同的核函数来定义,在此我们使用Gaussian RBF kernel定义这两个核函数,以
k
n
o
d
e
k_{node}
knode为例:
k
n
o
d
e
(
x
i
a
,
x
j
b
)
=
exp
(
−
γ
∣
∣
x
i
a
−
x
j
b
∣
∣
2
)
(5)
k_{node}(x_{ia},x_{jb})=\exp(-\gamma||x_{ia}-x_{jb}||^{2})\tag{5}
knode(xia,xjb)=exp(−γ∣∣xia−xjb∣∣2)(5)
k
e
d
g
e
k_{edge}
kedge与(5)式相同,只是将
x
x
x改成了
e
e
e。
本文将节点
x
i
u
x_{iu}
xiu与
x
i
v
x_{iv}
xiv之间的边定义为特征向量
[
d
u
,
p
u
,
d
v
,
p
v
]
′
{[d_{u},p_{u},d_{v},p_{v}]}'
[du,pu,dv,pv]′,其中
d
u
d_{u}
du指的是在图中与节点
x
i
u
x_{iu}
xiu连接的边数量,且已经通过除以图中的边总数来标准化了。
p
u
p_{u}
pu定义为:
p
u
=
w
u
v
∑
w
u
,
∗
(6)
p_{u}=\frac{w_{uv}}{\sum w_{u,*}}\tag{6}
pu=∑wu,∗wuv(6)
其中,分子为边
x
i
u
x_{iu}
xiu与
x
i
v
x_{iv}
xiv的权值,分母中的
w
u
,
∗
w_{u,*}
wu,∗表示点
x
i
u
x_{iu}
xiu与图中其他节点的边权值。分母表示权值和。
p
u
p_{u}
pu体现了边
x
i
u
x_{iu}
xiu与
x
i
v
x_{iv}
xiv的重要性。
MIGraph算法的缺陷在于计算图核 k G k_{G} kG的时间复杂度很高,当一个包中包含了大量的实例,那么计算包中的边就会花费大量的时间。因此,为了缩短开销,提出了miGraph算法。
3.2 miGraph
对于一个包 X i X_{i} Xi,我们可以通过计算包内所有实例间距来构造一个相似性矩阵(affinity matrix) W i W^{i} Wi。如实例 x i a x_{ia} xia与实例 x i u x_{iu} xiu的间距小于阈值 δ δ δ,那么矩阵 W i W^{i} Wi的第 a a a行第 u u u列的值1,否则为0。本文中使用了高斯距离来计算实例间距, δ δ δ值等于包内实例距离的平均值。
给定包
X
i
X_{i}
Xi与
X
j
X_{j}
Xj,分别包含了
n
i
n_{i}
ni与
n
j
n_{j}
nj个实例,那么图核
k
g
k_{g}
kg可以表示为:
k
g
(
X
i
,
X
j
)
=
∑
a
=
1
n
i
∑
b
=
1
n
j
W
i
a
W
j
b
k
(
x
i
a
,
x
j
b
)
∑
a
=
1
n
i
W
i
a
∑
b
=
1
n
j
W
j
b
(7)
k_{g}(X_{i},X_{j})=\frac{\sum_{a=1}^{n_{i}}\sum_{b=1}^{n_{j}}W_{ia}W_{jb}k(x_{ia},x_{jb})}{\sum_{a=1}^{n_{i}}W_{ia}\sum_{b=1}^{n_{j}}W_{jb}}\tag{7}
kg(Xi,Xj)=∑a=1niWia∑b=1njWjb∑a=1ni∑b=1njWiaWjbk(xia,xjb)(7)
其中,
W
i
a
=
1
∑
u
=
1
n
i
w
a
u
i
W_{ia}=\frac{1}{\sum_{u=1}^{n_{i}}w_{au}^{i}}
Wia=∑u=1niwaui1,
W
j
b
=
1
∑
v
=
1
n
j
w
b
v
j
W_{jb}=\frac{1}{\sum_{v=1}^{n_{j}}w_{bv}^{j}}
Wjb=∑v=1njwbvj1,即在两个包的相似性矩阵中,实例
x
i
a
x_{ia}
xia与
x
j
b
x_{jb}
xjb之间的相似性。而
k
(
x
i
a
,
x
j
b
)
k(x_{ia},x_{jb})
k(xia,xjb)与(5)式中的定义一致。
W
i
a
=
{
1
,
W
i
=
I
1
/
n
i
,
W
i
=
E
1
/
n
i
a
,
W
i
=
C
(8)
W_{ia}=\begin{cases} 1, &W^{i}=I\\ 1/n_{i}, &W^{i}=E\\ 1/n_{ia}, &W^{i}=C\\ \end{cases}\tag{8}
Wia=⎩
⎨
⎧1,1/ni,1/nia,Wi=IWi=EWi=C(8)
其中,
I
I
I为单位矩阵;
E
E
E为全为1的矩阵;
C
C
C为分块矩阵,即包中实例被聚类为几块。
4、对比及算法框架
可以看出,miGraph是为了解决MIGraph算法时间复杂度过高而提出的改进算法。
MIGraph将每个包映射为无向图,包含了点与边,通过(1)式计算点与点之间的距离来构成边,并设计图核 K G K_{G} KG来区分正负包。
MIGraph算法框架:
而miGraph则是隐式地将图映射为affinity matrix,再设计图核 k g k_{g} kg来实现区分。
miGraph算法框架: