提出了一种基于映射的鉴别核函数(Mapping-based Discriminative Kernel,MDK),用于更好地区分正负包。
首先,通过同时考虑包空间的局部性、包的辨别性能力以及包的代表性,构建了一个判别和代表包池(Discriminative and Representative bag Pool,DRP)。其中,局部性与代表性用于探索实例之间的关系,而判别性能力在挖掘标签信息的过程中使用。
第二,基于DRP将所有的包映射到基于DRP的判别性特征空间中。
第三,MDK将映射向量之间的相似性视为包间相似性,这保证了不同标签的包之间的差异以及相同标签的包之间的相似性。
DRP与常规方法的对比:
可以看出,DRP能够很好地区分映射空间中的正负包。
MDK的关键一步在于构建DRP。为了得到具有判别性能力的DRP,我们提出:最优DRP应确保具有相同标签的包在特征空间中彼此相似;带有不同标签的包应该体现它们之间的差异。DRP的评估公式表述为:
F
(
P
)
=
1
2
∑
i
,
j
D
P
(
B
i
,
B
j
)
Q
i
,
j
(1)
\mathcal{F}(\mathcal{P} )=\frac{1}{2}\sum_{i,j}D_{\mathcal{P}}(B_{i},B_{j})Q_{i,j}\tag{1}
F(P)=21i,j∑DP(Bi,Bj)Qi,j(1)
其中,
P
\mathcal{P}
P表示DRP,
D
P
(
B
i
,
B
j
)
D_{\mathcal{P}}(B_{i},B_{j})
DP(Bi,Bj)表示在特征空间中两个包之间的距离,
Q
i
,
j
Q_{i,j}
Qi,j为嵌入了标签信息的矩阵
Q
Q
Q的第
i
i
i行
j
j
j列元素值。
具体来说,
D
P
(
B
i
,
B
j
)
D_{\mathcal{P}}(B_{i},B_{j})
DP(Bi,Bj)能够表示为:
D
P
(
B
i
,
B
j
)
=
∣
∣
I
B
i
B
−
I
B
j
B
∣
∣
2
2
(2)
D_{\mathcal{P}}(B_{i},B_{j})=||IB_{i}^{\mathcal{B}}-IB_{j}^{\mathcal{B}}||_{2}^{2}\tag{2}
DP(Bi,Bj)=∣∣IBiB−IBjB∣∣22(2)
其中,
I
I
I是对角矩阵,对角线元素表示对应的包是否属于DRP。如果
B
i
∈
P
,
I
i
.
j
=
1
B_{i}∈\mathcal{P},I_{i.j}=1
Bi∈P,Ii.j=1,否则为0。
B
i
B
B_{i}^{\mathcal{B}}
BiB表示包
B
i
B_{i}
Bi的映射向量,通过DRP中的包集
B
\mathcal{B}
B映射:
B
i
B
=
[
s
(
B
i
,
B
1
)
,
.
.
.
,
s
(
B
i
,
B
N
)
]
(3)
B_{i}^{\mathcal{B}}=[s(B_{i},B_{1}),...,s(B_{i},B_{N})]\tag{3}
BiB=[s(Bi,B1),...,s(Bi,BN)](3)
其中,
s
(
)
s()
s()为高斯相似性函数:
s
(
B
i
,
B
j
)
=
e
−
d
2
(
B
i
,
B
j
)
σ
2
(4)
s(B_{i},B_{j})=e^{-\frac{d^{2}(B_{i},B_{j})}{\sigma^{2}}}\tag{4}
s(Bi,Bj)=e−σ2d2(Bi,Bj)(4)
其中,函数
d
(
)
d()
d()表示包间的平均豪斯多夫距离。
我们通过定义标签嵌入矩阵
Q
Q
Q来同时考虑包的判别性与包空间的局部性。该矩阵
Q
Q
Q定义为:
Q
i
,
j
=
{
−
1
a
e
d
(
B
i
,
B
j
)
,
y
i
y
j
=
1
1
b
e
d
(
B
i
,
B
j
)
,
y
i
y
j
=
−
1
(5)
Q_{i,j}=
其中,
a
a
a和
b
b
b分别表示具有相同标签和不同标签的包对的数量,这体现了包的判别性。
包空间的局部性通过 e d ( B i , B j ) e^{d(B_{i},B_{j})} ed(Bi,Bj)来体现。若包对标签相同,即 y i y j = 1 y_{i}y_{j}=1 yiyj=1,局部性能够使这两个相同标签的映射向量距离更近。若包对标签不同,即 y i y j = − 1 y_{i}y_{j}=-1 yiyj=−1,局部性能够使这两个不同标签的包映射向量距离更远。
通过将(1)式改写,能够得到包判别性能力得分:
KaTeX parse error: No such environment: split at position 7: \begin{̲s̲p̲l̲i̲t̲}̲ \mathcal{F}(\…
其中, L L L是由矩阵 Q Q Q生成的拉普拉斯矩阵。 ψ g = [ s ( B g , B 1 ) , . . . , s ( B g , B n ) ] ψ_{g}=[s(B_{g},B_{1}),...,s(B_{g},B_{n})] ψg=[s(Bg,B1),...,s(Bg,Bn)]
因此,包
B
i
B_{i}
Bi的可以判别性定义为:
α
i
=
ψ
i
T
L
ψ
i
(7)
α_{i}=ψ_{i}^{T}Lψ_{i}\tag{7}
αi=ψiTLψi(7)
为了避免DRP中的包之间过于相似,需要考虑包的代表性。考虑两个部分:1)高局部密度 ρ ρ ρ;2)与具有高局部密度的包保持较远距离 δ δ δ。即:DP聚类中的思想。
包
B
i
B_{i}
Bi的代表性
λ
i
λ_{i}
λi定义为:
λ
i
=
ρ
i
⋅
δ
i
(8)
λ_{i}=ρ_{i}·δ_{i}\tag{8}
λi=ρi⋅δi(8)
通过计算每个包的判别性与代表性来得到每个包的得分
S
i
S_{i}
Si:
S
i
=
α
i
⋅
λ
i
(9)
S_{i}=α_{i}·λ_{i}\tag{9}
Si=αi⋅λi(9)
得分用于判断某个包是否能够进入DRP。使用向量
S
=
[
S
1
,
S
2
,
.
.
.
,
S
N
]
S=[S_{1},S_{2},...,S_{N}]
S=[S1,S2,...,SN]来表示所有包的得分向量,并选出前
t
t
t个有着最高得分的包来组成DRP。
用
k
k
k来表示MDK,核矩阵
K
K
K定义为:
K
i
,
j
=
k
(
B
i
,
B
j
)
=
B
i
P
T
⋅
B
j
P
K_{i,j}=k(B_{i},B_{j})=B_{i}^{\mathcal{P}^{T}}·B_{j}^{\mathcal{P}}
Ki,j=k(Bi,Bj)=BiPT⋅BjP
其中,
B
i
P
B_{i}^{\mathcal{P}}
BiP是包
B
i
B_{i}
Bi通过DRP映射得到的向量,映射方式为:
B
i
P
=
[
s
(
B
i
,
P
1
)
,
.
.
.
,
s
(
B
i
,
P
t
)
]
B_{i}^{\mathcal{P}}=[s(B_{i},P_{1}),...,s(B_{i},P_{t})]
BiP=[s(Bi,P1),...,s(Bi,Pt)]
其中,
P
i
P_{i}
Pi是DRP中的第
i
i
i个包。使用
V
P
=
{
B
i
P
,
.
.
.
,
B
n
P
}
V^{\mathcal{P}}=\left \{ B_{i}^{\mathcal{P}},..., B_{n}^{\mathcal{P}}\right \}
VP={BiP,...,BnP}来表示映射向量集。
① 通过(5)式,同时考虑包的判别性与局部性,来得到包标签映射矩阵 Q Q Q。判别性是通过统计包空间中的标签相同包对数量 a a a与标签不同包队数量 b b b。局部性是通过 e d ( B i , B j ) e^{d(B_{i},B_{j})} ed(Bi,Bj),能够让映射后的向量标签相同的离得更近,标签不同的离得更远;
② 将第①步中的矩阵 Q Q Q转换为拉普拉斯矩阵 L ( L = D − Q ) L(L=D-Q) L(L=D−Q),再通过(7)式计算每个包的判别性得分 α i α_{i} αi,(8)式计算每个包的代表性得分 λ i λ_{i} λi。通过(9)式来综合以上两点,计算每个包的总得分 S i S_{i} Si。
③ 通过计算所有包的得分并排序,找到前 t t t高得分的包并组成DRP。
④ 将每个包与DRP中的 t t t个包通过(4)式计算相似度,映射为 t t t维向量。
⑤ 将包空间映射得到的向量通过SVM等分类器上进行学习。
为了找出最佳实例,MILDM算法使得在映射空间中能够更好的区分包。可以使用选出的实例将每个包映射到新的特征空间中,成为映射向量。最后再使用svm等分类器进行分类预测。
选择最佳实例组成DIP(discriminative instance pool),用 P \mathcal{P} P表示。在整个实例空间 X \mathcal{X} X中找到子集 P \mathcal{P} P,并将所有包 B i B_{i} Bi通过该子集映射成为向量 B i φ = [ s ( B i , x 1 φ ) , . . . , s ( B i , x k φ ) ] B_{i}^{φ}=[s(B_{i},x_{1}^{φ}),...,s(B_{i},x_{k}^{φ})] Biφ=[s(Bi,x1φ),...,s(Bi,xkφ)],其中 x i ∈ P x_{i}∈\mathcal{P} xi∈P。算法的关键部分在于如何找到适用于包映射的DIP。
通过实例选择矩阵 I P \mathcal{I}_{\mathcal{P} } IP(对角线矩阵, d i a g ( I P ) = d ( P ) diag(\mathcal{I}_{\mathcal{P}})=d(\mathcal{P}) diag(IP)=d(P)。若 x i ∈ P x_{i}∈\mathcal{P} xi∈P,则 d ( P ) i = d i a g ( I P ) = 1 d(\mathcal{P})_{i}=diag(\mathcal{I}_{\mathcal{P}})=1 d(P)i=diag(IP)=1)找出实例集 P ⊆ X \mathcal{P}⊆\mathcal{X} P⊆X组成DIP。
定义
J
(
P
)
\mathcal{J}(\mathcal{P})
J(P)作为实例选择函数,选出
m
m
m个DIP分数最高的实例组成DIP实例集
P
\mathcal{P}
P:
P
∗
=
arg max
P
⊆
X
J
(
P
)
s
.
t
.
∣
P
∣
=
m
(1)
\mathcal{P}_{*}=\argmax_{\mathcal{P}⊆\mathcal{X}}\mathcal{J}(\mathcal{P}) \\ s.t.|\mathcal{P}|=m\tag{1}
P∗=P⊆XargmaxJ(P)s.t.∣P∣=m(1)
在DIP中,需要保证相同标签的包映射后离得更近,不同标签的包映射后离得更远。DIP的评估函数定义为:
J
(
P
)
=
1
2
∑
i
.
j
K
P
(
B
i
,
B
j
)
Q
i
,
j
(2)
\mathcal{J}(\mathcal{P})=\frac{1}{2}\sum_{i.j}K_{\mathcal{P}}(B_{i},B_{j})Q_{i,j}\tag{2}
J(P)=21i.j∑KP(Bi,Bj)Qi,j(2)
其中,
K
P
(
B
i
,
B
j
)
K_{\mathcal{P}}(B_{i},B_{j})
KP(Bi,Bj)表示通过DIP映射后在新的特征空间中包
B
i
B_{i}
Bi与包
B
j
B_{j}
Bj之间的距离,计算公式为:
K
P
(
B
i
,
B
j
)
=
∣
∣
I
P
B
i
φ
x
−
I
P
B
j
φ
x
∣
∣
2
(3)
K_{\mathcal{P}}(B_{i},B_{j})=||I_{\mathcal{P}}B_{i}^{φ_{x}}-I_{\mathcal{P}}B_{j}^{φ_{x}}||^{2}\tag{3}
KP(Bi,Bj)=∣∣IPBiφx−IPBjφx∣∣2(3)
其中,
B
i
φ
x
B_{i}^{φ_{x}}
Biφx与
B
i
φ
B_{i}^{φ}
Biφ生成的方式相同,使用所有实例作为映射实例池。
Q
Q
Q矩阵为标签映射矩阵,定义为:
Q
i
,
j
=
{
−
1
∣
A
∣
,
y
i
y
j
=
1
1
∣
B
∣
,
y
i
y
j
=
−
1
(4)
Q_{i,j}=
重写(2)式,能够得到:
KaTeX parse error: No such environment: split at position 7: \begin{̲s̲p̲l̲i̲t̲}̲ \mathcal{J}(\…
其中,矩阵
L
L
L是由矩阵
D
D
D生成的拉普拉斯矩阵(
L
=
D
−
Q
L=D-Q
L=D−Q,
D
i
,
i
=
∑
j
Q
i
j
D_{i,i}=\sum_{j}Q_{ij}
Di,i=∑jQij是一个对角矩阵)。改写后的函数可以用
f
(
x
k
ψ
,
L
)
f(x_{k}^{ψ},L)
f(xkψ,L)表示,,并以此函数来计算每个实例的得分:
max
P
⊆
X
∑
x
k
ψ
∈
P
f
(
x
k
ψ
,
L
)
s
.
t
.
∣
P
∣
=
m
(6)
\max_{\mathcal{P}⊆\mathcal{X}}\sum_{x_{k}^{ψ}∈\mathcal{P}}f(x_{k}^{ψ},L) \\ s.t.|\mathcal{P}|=m\tag{6}
P⊆Xmaxxkψ∈P∑f(xkψ,L)s.t.∣P∣=m(6)
找出
m
m
m个代表实例后,得到
P
\mathcal{P}
P。通过将每个包与这
m
m
m个代表实例求相似度,来将每个包映射成为特征空间中的
m
m
m维特征向量:
B
i
ψ
=
[
s
(
B
i
,
x
1
ψ
)
,
.
.
.
,
s
(
B
i
,
x
m
ψ
)
]
B_{i}^{ψ}=[s(B_{i},x_{1}^{ψ}),...,s(B_{i},x_{m}^{ψ})]
Biψ=[s(Bi,x1ψ),...,s(Bi,xmψ)]。其中,相似性函数
s
(
)
s()
s()定义为:
s
(
B
i
,
x
k
ψ
)
=
max
x
i
,
j
∈
B
i
e
−
d
2
(
x
i
,
j
,
x
k
ψ
)
σ
2
(7)
s(B_{i},x_{k}^{ψ})=\max_{x_{i,j}∈B_{i}} e^{-\frac{d^{2}(x_{i,j},x_{k}^{ψ})}{\sigma^{2}}}\tag{7}
s(Bi,xkψ)=xi,j∈Bimaxe−σ2d2(xi,j,xkψ)(7)
其中,
σ
\sigma
σ为预设值。
①将实例空间 X \mathcal{X} X中的所有实例 x i x_{i} xi通过(6)式计算它们的得分;
②选出前 m m m个得分最高的实例,组成DIP;
③ 通过(7)式,将包空间中的所有包映射为向量,并将包空间映射得到的向量通过SVM等分类器上进行学习。
由于标签是基于包给出的,多示例学习(MIL)比传统的监督学习更具一般性和挑战性。当前流行的特征映射方法是将每个包转化为新特征空间中的一个实例,但大多数映射方法难以保持包的区分度。
为了解决这一问题,本文提出了基于判别包的多示例集成学习算法(multi-instance ensemble learning with discriminative bags,ELDB),该算法通过两部分得到一个判别性包集(dBagSet)。
首先,考虑数据的空间分布与标签分布,通过判别性(discriminative)分析来优化包选择过程,得到基本包子集;其次,结合状态与动作转移策略,通过自强化获得区分度较好的包子集。
与MILDM类似,ELDB通过计算每个包的分数来决定是否选择该包,对比(7)式:
p
k
=
b
k
∗
L
(
b
k
∗
)
T
(8)
p_{k}=b^{*}_{k}L(b^{*}_{k})^{T}\tag{8}
pk=bk∗L(bk∗)T(8)
其中,
L
L
L为判别性矩阵(
L
=
D
−
Q
L=D-Q
L=D−Q,
D
i
,
i
=
∑
j
Q
i
j
D_{i,i}=\sum_{j}Q_{ij}
Di,i=∑jQij是一个对角矩阵)。并选出前
ψ
\psi
ψ个包组成
T
e
\mathcal{T}_{e}
Te:
max
T
e
⊆
T
d
⊂
T
∑
B
ξ
k
∈
T
p
ξ
k
(9)
\max_{\mathcal{T} _{e}\subseteq \mathcal{T} _{d}\subset \mathcal{T}}\sum_{B_{\xi _{k}}∈\mathcal{T}}^{} p_{\xi _{k}}\tag{9}
Te⊆Td⊂TmaxBξk∈T∑pξk(9)
得到判别包集合后,则利用判别包集合
T
e
=
{
B
ζ
k
}
k
=
1
ψ
⊂
T
\mathcal{T}_{e}=\left \{ \mathbf B_{\zeta k} \right \}_{k=1}^{\psi }\subset\mathcal{T}
Te={Bζk}k=1ψ⊂T,
B
i
∈
T
\mathbf B_{i}∈\mathcal{T}
Bi∈T对训练包集进行映射,映射方式为:
f
b
(
B
i
,
T
e
)
↦
b
i
=
[
b
i
ζ
1
,
.
.
.
,
b
i
ζ
ψ
]
(10)
f_{b}(\mathbf B_{i},\mathcal{T}_{e})\mapsto \mathbf b_{i}=[b_{i\zeta_{1}},...,b_{i\zeta_{\psi }}]\tag{10}
fb(Bi,Te)↦bi=[biζ1,...,biζψ](10)
因此,数据集将映射为:
f
m
(
T
,
T
e
)
↦
V
=
{
b
i
}
i
=
1
N
(11)
f_{m}(\mathcal{T},\mathcal{T}_{e})\mapsto V=\left \{ \mathbf{b_{i}} \right \}_{i=1}^{N}\tag{11}
fm(T,Te)↦V={bi}i=1N(11)
通过计算两个包直接的平均豪斯夫距离(average Hausdorff distance)来度量关联性:
b
i
k
=
∣
∣
x
i
ˉ
−
x
k
ˉ
∣
∣
(12)
b_{ik}=||\bar{\mathbf{\mathit{x}}_{i} }-\bar{\mathbf{\mathit{x} }_{k}} ||\tag{12}
bik=∣∣xiˉ−xkˉ∣∣(12)
其中,
x
i
ˉ
=
∑
j
=
1
n
i
x
i
j
/
n
i
\bar{x_{i}}=\sum_{j=1}^{n_{i}}x_{ij}/n_{i}
xiˉ=∑j=1nixij/ni。
构建带权集成模型,将每一个dBagSet置入集成模型中。对每一个dBagSet进行映射,获取当前dBagSet的单实例分类模型以及权重:
M
=
f
c
m
o
d
e
l
(
V
,
Y
)
(13)
M=f^{model}_{c}(V,Y)\tag{13}
M=fcmodel(V,Y)(13)
w
=
f
c
w
e
i
g
h
t
(
V
,
Y
,
M
)
(14)
w=f^{weight}_{c}(V,Y,M)\tag{14}
w=fcweight(V,Y,M)(14)
记录每个模型的预测结果,并处理每一个分类器和分类指标的预测结果,计算分类阈值。最终获得分类性能。