现有的MIL方法大都基于原始空间中的实例进行映射,但这些方法通常忽略了包的内部结构信息,难以保证所选实例与包在新特征空间中的关联性。为解决这一问题,本文提出一种多示例学习的两阶段实例选择和自适应包映射(TAMI)算法。
首先,第一阶段实例选择技术根据包中实例的密度值和关联性,挖掘包内结构特征,选取实例原型。其次,第二阶段实例选择技术选取具有峰值密度的实例原型作为代表实例。最后,自适应包映射技术通过定义新的映射函数,将包转换为单向量进行学习。
本文提出一种多示例学习习的两阶段实例选择和自适应包映射算法(the two-stage instance selection
and adaptive bag mapping algorithm for multi-instance learning, TAMI)。实例选择技术分为两个阶段。第一阶段利用包中实例的密度值和关联性,分析包内结构特征,选取实例原型;第二阶段根据实例原型分布的紧密程度,从中选出具有峰值密度的实例作为代表实例。
自适应包映射技术基于包与代表实例的自适应距离关系,通过差值处理,将其转化为单向量。
| 符号 | 含义 |
|---|---|
| τ = { X 1 , . . . , X i , . . . , X n } tau=left { X_{1},...,X_{i},...,X_{n} right } τ={X1,...,Xi,...,Xn} | 数据集 |
| X i = { x i 1 , . . . , x i j , . . . , x i n i } X_{i}=left { x_{i1},...,x_{ij},...,x_{in_{i}} right } Xi={xi1,...,xij,...,xini} | 包 |
| x i x_{i} xi | 第 i i i个实例 |
| y i = { − 1 , + 1 } y_{i}=left { -1,+1 right } yi={−1,+1} | x i x_{i} xi的标签 |
| T = { t 1 , . . . , t i , . . . , t n } T=left { t_{1},...,t_{i},...,t_{n} right } T={t1,...,ti,...,tn} | 实例原型集合 |
| t i t_{i} ti | 第 i i i个实例原型 |
| p i p_{i} pi | 包 X i X_{i} Xi中所有实例的优先级 |
| ρ i rho_{i} ρi | 包 X i X_{i} Xi中实例的密度值向量 |
| s i s_{i} si | 包 X i X_{i} Xi中实例的关联值向量 |
| d j k d_{jk} djk | 实例之间的距离 |
两个阶段分别是:①在包内选取实例原型;②在实例原型池中选出代表实例。
①这一阶段是基于包内实例的优先级,选出具有包内部结构特征的实例原型。令
p
i
p_{i}
pi表示包
X
i
X_{i}
Xi中所有实例的优先级,其计算公式为:
p
i
=
ρ
i
×
s
i
(1)
p_{i}=rho_{i} times s_{i}tag{1}
pi=ρi×si(1)
其中,
ρ
i
rho_{i}
ρi表示
X
i
X_{i}
Xi中实例的密度值向量,
s
i
s_{i}
si表示
X
i
X_{i}
Xi中实例的关联值向量。具有最高优先级(
p
i
p_{i}
pi值最大)的实例被选作实例原型
t
i
t_{i}
ti。
ρ
i
rho_{i}
ρi的计算方式为DP(Density peaks)聚类算法中的Gaussian kernel函数。通过计算实例
x
i
j
x_{ij}
xij的密度来反映领域范围内的实例聚集程度,其计算公式为:
ρ
i
j
=
∑
k
≠
j
n
i
e
(
d
j
k
d
c
)
2
(2)
rho_{ij}=sum_{k≠j}^{n_{i}}e^{(frac{d_{jk}}{d_{c}} )^{2}} tag{2}
ρij=k=j∑nie(dcdjk)2(2)
其中,
d
j
k
d_{jk}
djk表示任意两个实例之间的距离,
d
c
=
μ
∗
m
a
x
{
d
j
k
}
d_{c}= mu*maxleft { d_{jk} right }
dc=μ∗max{djk}表示实例
x
i
j
x_{ij}
xij领域范围的半径,
μ
∈
[
0
,
1
]
mu∈[0,1]
μ∈[0,1]表示给定阈值。
如图,显然实例3周围实例间距较大,通过(2)式可以得出实例3的密度值较大。领域范围内的实例聚集程度越高,密度值越大。
s
i
j
s_{ij}
sij用于表示实例间的关联性,实例
x
i
j
x_{ij}
xij与实例
x
i
k
x_{ik}
xik之间的关联性计算公式为:
s
i
j
k
=
{
1
,
d
j
k
≤
d
a
v
e
0
,
else
(3)
s_{ijk}=begin{cases} 1, & text{}d_{jk}le d^{ave} \ 0, & text{else} end{cases}tag{3}
sijk={1,0,djk≤daveelse(3)
其中,
d
a
v
e
d^{ave}
dave是包内实例的平均距离,
d
j
k
d_{jk}
djk表示实例间距离。
如图,实例1的关联值为3,而实例4的关联值为4,那么实例4的关联性较强。实例与其他实例之间的关联性越强,就更能代表整个包的重要信息。
s
i
j
=
∑
1
≤
k
≤
n
i
S
i
j
k
(4)
s_{ij}=sum_{1le kle n_{i}}^{}S_{ijk}tag{4}
sij=1≤k≤ni∑Sijk(4)
②这一阶段是利用实例选择技术从实例原型集合
T
T
T中选择一组峰值密度较大的实例原型作为代表实例,并构建代表实例池
R
R
R。
此阶段需要计算代表实例
t
i
t_{i}
ti的密度值
δ
i
delta_{i}
δi以及该实例与更高密度点的最近距离
β
i
beta_{i}
βi。前者通过(2)式计算,后者通过下列公式计算:
β
i
=
min
j
:
δ
j
>
δ
i
{
d
i
j
}
(5)
beta_{i}=min_{j:delta_{j}>delta_{i}}left { d_{ij}right } tag{5}
βi=j:δj>δimin{dij}(5)
同样,使用DP聚类中的计算方法,计算出实例原型集合中每个实例的
λ
i
λ_{i}
λi值,其中
λ
i
=
δ
i
×
β
i
λ_{i}=delta_{i} timesbeta_{i}
λi=δi×βi。选出
T
T
T中前
n
r
n_{r}
nr个
λ
i
λ_{i}
λi值最大的实例原型,构成代表实例池
R
=
{
r
1
,
.
.
.
,
r
i
,
.
.
.
,
r
n
r
}
R=left { r_{1},...,r_{i},...,r_{n_{r}} right }
R={r1,...,ri,...,rnr}。
至此,两阶段以及全部结束了。剩下的就是进行自适应包映射处理。自适应包映射技术根据包中实例与代表实例间的最佳相似度进行映射,既突出了包的内部结构特征,也保证了包在新特征空间中的可区分性。映射过程如图所示:
可以看出映射需要三个东西:(1)包中实例
x
i
j
x_{ij}
xij与代表实例池
R
R
R的距离向量
d
j
=
{
d
j
1
,
.
.
.
,
d
j
m
,
.
.
.
,
d
j
n
r
}
d_{j}=left { d_{j1},...,d_{jm},...,d_{jn_{r}}right }
dj={dj1,...,djm,...,djnr},对应(c)。其中
d
j
m
∈
d
j
d_{jm}∈d_{j}
djm∈dj表示实例
x
i
j
x_{ij}
xij与代表实例
r
m
r_{m}
rm之间的欧式距离;(2)实例
x
i
j
x_{ij}
xij的自适应目标索引
τ
j
=
arg
min
1
≤
m
≤
n
r
{
d
j
m
}
tau_{j}=arg min_{1le mle n_{r}}left { d_{jm} right }
τj=argmin1≤m≤nr{djm},即找到(c)中距离最小的实例索引值。对应(d);(3)通过以上两个值来计算实例
x
i
j
x_{ij}
xij的自适应映射向量
v
i
j
v_{ij}
vij,即将包中每一个实例与(d)中找到的代表实例相减。对应(e):
v
i
j
=
x
i
j
−
r
τ
j
(6)
v_{ij}=x_{ij}-r_{tau_{j}}tag{6}
vij=xij−rτj(6)
最后,将计算得到的所有映射向量
v
i
j
v_{ij}
vij进行叠加得到
X
i
X_{i}
Xi的映射向量
V
i
V_{i}
Vi,对应(f):
V
i
=
∑
j
=
1
n
i
V
i
j
(7)
V_{i}=sum_{j=1}^{n_{i}}V_{ij}tag{7}
Vi=j=1∑niVij(7)
进一步,对于
V
i
V_{i}
Vi的每一个元素
V
i
l
V_{il}
Vil都通过
V
i
l
←
s
i
g
n
(
V
i
l
)
∣
V
i
l
∣
V_{il}←sign(V_{il})sqrt{|V_{il}|}
Vil←sign(Vil)∣Vil∣
进行处理,再有
V
i
←
V
i
/
∣
∣
V
i
∣
∣
2
V_{i}←V_{i}/||V_{i}||_{2}
Vi←Vi/∣∣Vi∣∣2对映射向量进行二范归一化。



