【论文阅读】Multi-Instance Ensemble Learning With Discriminative Bags

1、基本信息

@article{MeiYang2021MultiInstanceEL,
  title={Multi-Instance Ensemble Learning With Discriminative Bags},
  author={Mei Yang and Yu-Xuan Zhang and Xizhao Wang and Fan Min},
  journal={IEEE Transactions on Systems, Man, and Cybernetics},
  year={2021}
}

2、摘要

由于标签是基于包给出的,多示例学习(MIL)比传统的监督学习更具一般性和挑战性。当前流行的特征映射方法是将每个包转化为新特征空间中的一个实例,但大多数映射方法难以保持包的区分度
为了解决这一问题,本文提出了基于判别包的多示例集成学习算法(multi-instance ensemble learning with discriminative bags,ELDB),该算法通过两部分得到一个判别性包集(dBagSet)。
首先,考虑数据的空间分布标签分布,通过判别性(discriminative)分析来优化包选择过程,得到基本包子集;其次,结合状态动作转移策略,通过自强化获得区分度较好的包子集。

3、介绍

现有的基于映射的算法难以保持包映射后在新特征空间中的区分度,且MIL模型不支持自我强化(self-reinforcement),这意味着它无法学习更多信息来提高其可区分性。因此,基于包的映射算法面临以下挑战:
(1)如何提高包在新特征空间中的可区分性;
(2)模型如何获得自我强化能力。
针对以上问题,本文提出了ELDB算法。
在这里插入图片描述
图中对比了传统包映射算法TBBM(kBagSet)与本文提出的包映射算法ELDB(dBagSet)。前者只考虑了数据的空间分布来生成关键包集,而ELDB通过进一步考虑数据的标签信息来生成判别性包集(discriminative bag set,dBagSet)。同时,ELDB也引入了一种自强化机制来学习和更新现有的包子集。
ELDB算法有两大特点:
(1)新的判别性包选择算法:a)与现有的基于映射的算法相比,ELDB算法生成的包映射向量具有更好可判别性;b)与基于实例的判别映射算法相比,ELDB算法在时间复杂度分析和实验测试方面具有更好可扩展性
(2)分类器集成算法:多个加权模型联合起来共同确定包的标签,因此最终结果也会更加准确

4、ELDB

4.1、符号表示
符号含义
T = { B i } i = 1 N \mathcal{T}=\left \{ \mathbf B_{i} \right \}^{\mathbf N}_{i=1} T={Bi}i=1N数据集
T d ⊂ T \mathcal{T}_{d}\subset\mathcal{T} TdT原始数据集
T s = T ∖ T d \mathcal{T}_{s}=\mathcal{T} \setminus \mathcal{T}_{d} Ts=TTd更新后的数据集
T e ⊂ T \mathcal{T}_{e}\subset\mathcal{T} TeT判别包集合(dBagSet)
Y = [ y 1 , . . . , y N ] \mathbf Y=[y_{1},...,y_{N}] Y=[y1,...,yN]标签向量
B i = { x i j } j = 1 n i \mathbf B_{i}=\left \{ \mathbf x_{ij} \right \}_{j=1}^{n_{i}} Bi={xij}j=1ni数据集 T \mathcal{T} T中第 i i i个包
x i j \mathbf{x}_{ij} xij B i \mathbf B_{i} Bi中的第 j j j个实例
y i y_{i} yi B i \mathbf B_{i} Bi的标签
N N N T \mathcal{T} T的关联值
ψ \psi ψ T e \mathcal{T}_{e} Te的关联值
n i n_{i} ni B i \mathbf B_{i} Bi的关联值
b i \mathbf{b}_{i} bi B i \mathbf B_{i} Bi的映射向量
4.2、算法
·基于实例的识别分析(Instance-Based Discriminative Analysis)

实例选择的映射方法是MIL分类问题的处理策略之一。其关键部分为基于所选实例设计一个映射函数,并将包转换到新的特征空间中。最简单的方法是将中间实例池中的所有实例构造成一个映射函数。包 B i \mathbf B_{i} Bi与实例 x ∈ X = ∪ i = 1 N B i \mathbf x∈\mathbf X=\cup _{i=1}^{N}\mathbf B_{i} xX=i=1NBi之间的相似度定义为:
f s C ( B i , x ) = min ⁡ j e x p ( − λ ∣ ∣ x i j − x ∣ ∣ 2 ) (1) f_{s}^{C}(\mathbf B_{i},\mathbf x)=\min_{j}exp(-\lambda ||\mathbf{x} _{ij}-\mathbf{x} ||^{2})\tag{1} fsC(Bi,x)=jminexp(λ∣∣xijx2)(1)
该方法的缺点之一就是实例的数量决定了算法的时间开销。有两种策略能够解决这一问题(减少真正计算的实例数量,以免实例数量过多):a)通过核密度估计(kernel density estimation)来从每一个正包中选出一个实例;b)从所有实例中选出最正的实例与最负的实例。
但这两种方法都没有考虑包在新的特征空间中的区分度。为了解决这一问题,我们设计一种基于聚类的策略(clustering-based strategy)来探究正负概念之间的相关性。引入新的评估标准后,与(1)式不同的相似性函数定义为:
f s W ( B i , x ) = max ⁡ j e x p ( − λ ∣ ∣ x i j − x ∣ ∣ 2 ) (2) f_{s}^{W}(\mathbf B_{i},x)=\max_{j}exp(-\lambda ||x _{ij}-x||^{2})\tag{2} fsW(Bi,x)=jmaxexp(λ∣∣xijx2)(2)

·映射函数(Mapping Function)

将判别包集合 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} BiT的映射方式为:
f b ( B i , T e ) ↦ b i = [ b i ζ 1 , . . . , b i ζ ψ ] (3) f_{b}(\mathbf B_{i},\mathcal{T}_{e})\mapsto \mathbf b_{i}=[b_{i\zeta_{1}},...,b_{i\zeta_{\psi }}]\tag{3} fb(Bi,Te)bi=[biζ1,...,biζψ](3)
其中, 1 ≤ ζ k ≤ N 1\le\zeta_{k }\le N 1ζkN b i ζ k b_{i \zeta_{k}} biζk B i \mathbf B_{i} Bi B ζ k \mathbf B_{\zeta k} Bζk之间的关联值。因此,数据集将映射为:
f m ( T , T e ) ↦ V = { b i } i = 1 N (4) f_{m}(\mathcal{T},\mathcal{T}_{e})\mapsto V=\left \{ \mathbf{b_{i}} \right \}_{i=1}^{N}\tag{4} fm(T,Te)V={bi}i=1N(4)
我们通过计算两个包直接的平均豪斯夫距离(average Hausdorff distance)来度量关联性:
b i k = ∣ ∣ x i ˉ − x k ˉ ∣ ∣ (5) b_{ik}=||\bar{\mathbf{\mathit{x}}_{i} }-\bar{\mathbf{\mathit{x} }_{k}} ||\tag{5} bik=∣∣xiˉxkˉ∣∣(5)
其中, 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

·分类器集成(Classifier Ensembling)

本文引入自强化机制(self-reinforcement mechanism),并为每个分类器分配一个权值。

A.算法框架( Overall Framework)

在这里插入图片描述
图为算法流程,主要分为两个部分,左边的包选择技术(Bag selection technique)部分与右边的集成技术(Ensemble technique)。

·包选择技术(Bag selection technique)

首先算法采用两部分的包选择技术(Bag selection technique)来产生dBagSet T e ⊂ T \mathcal{T}_{e}\subset\mathcal{T} TeT。第一部分是区别性分析(discriminative
analysis),通过分析原始数据集 T d \mathcal{T}_{d} Td空间标签分布来生成识别性矩阵(discriminative matrix) L \mathbf{\mathit{L} } L及基础判别包集合dBagSet T e 0 \mathcal{T}_{e}^{0} Te0。第二部分是自我强化机制,对于 T s {T}_{s} Ts的子集,自我强化机制能够判断是否可以更新dBagSet。最终,我们能够得到具有更高区分度的dBagSet。

·集成技术(Ensemble technique)

集成技术根据SIL分类器 f c ( . . . ) f_{c}(...) fc(...)以及指定映射函数对这些包集进行集成:

1)原始数据集和更新后的数据集将分别被映射为单实例 V d i \mathbf{\mathit{V} } _{d}^{i} Vdi V s i \mathbf{\mathit{V} } _{s}^{i} Vsi

2)通过实例 V d i \mathbf{\mathit{V} } _{d}^{i} Vdi和标签向量 [ y ξ 1 , . . . , y ξ N d ] \left [ y_{\xi1 },..., y_{\xi N_{d} }\right ] [yξ1,...,yξNd]来训练单实例模型 M i \mathbf{\mathit{M} }_{i} Mi

3)基于单实例模型 M i \mathbf{\mathit{M} }_{i} Mi和更新后数据集映射得到的单实例 V s i \mathbf{\mathit{V} } _{s}^{i} Vsi来计算模型权值 w i w_{i} wi

通过集成包集dBagSets、模型models以及权值来得到带权集成模型(weighted ensemble model)。

B.包选择技术

包选择技术包括两个部分:首先,判别性分析技术先生成初始的包集dBagSet。其次,自我强化机制提供更新策略来更新包集。

1)判别性分析:为了能够根据数据集的空间分布与标签分布来获取具有一定区别度的基本包集dBagSet,我们需要计算:
max ⁡ T e ⊆ T d ⊂ T ∑ y ξ i ≠ y ξ j d ( f b ( B ξ i , T e ) , f b ( B ξ j , T e ) ) (6) \max_{\mathcal{T}_{e}\subseteq \mathcal{T}_{d}\subset\mathcal{T}}\sum_{y_{\xi _{i}}\ne y_{\xi _{j}}}^{} d(f_{b}(\mathbf{\mathit{B} }_{\xi _{i}},\mathcal{T}_{e} ),f_{b}(\mathbf{\mathit{B} }_{\xi _{j}}, \mathcal{T}_{e} ))\tag{6} TeTdTmaxyξi=yξjd(fb(Bξi,Te),fb(Bξj,Te))(6)
以及
min ⁡ T e ⊆ T d ⊂ T ∑ y ξ i = y ξ j d ( f b ( B ξ i , T e ) , f b ( B ξ j , T e ) ) (7) \min_{\mathcal{T}_{e}\subseteq \mathcal{T}_{d}\subset\mathcal{T}}\sum_{y_{\xi _{i}}= y_{\xi _{j}}}^{} d(f_{b}(\mathbf{\mathit{B} }_{\xi _{i}},\mathcal{T}_{e} ),f_{b}(\mathbf{\mathit{B} }_{\xi _{j}}, \mathcal{T}_{e} ))\tag{7} TeTdTminyξi=yξjd(fb(Bξi,Te),fb(Bξj,Te))(7)
其中, d ( ⋅ , ⋅ ) d(·,·) d(⋅,⋅)表示两个映射向量之间的距离。当 T e \mathcal{T}_{e} Te已知,我们设 d i j = d ( f b ( B ξ i , T e ) , f b ( B ξ j , T e ) ) d_{ij}=d(f_{b}(\mathbf{\mathit{B} }_{\xi _{i}},\mathcal{T}_{e} ),f_{b}(\mathbf{\mathit{B} }_{\xi _{j}}, \mathcal{T}_{e} )) dij=d(fb(Bξi,Te),fb(Bξj,Te))

为了能够将多目标优化问题转化为单目标优化问题,我们引入包连接矩阵(bag-link matrix) Δ = [ δ i j ] N d × N d \Delta =[\delta _{ij}]_{N_{d}\times N_{d}} Δ=[δij]Nd×Nd
δ i j = { λ i j , y ξ i ≠ y ξ j − λ i j , y ξ i = y ξ j (8) \delta _{ij}=\begin{cases} \lambda _{ij}, y_{\xi _{i}}\ne y_{\xi _{j}}\\ -\lambda _{ij}, y_{\xi _{i}}= y_{\xi _{j}} \end{cases}\tag{8} δij={λij,yξi=yξjλij,yξi=yξj(8)
其中, λ i j > 0 \lambda_{ij} >0 λij>0是尺度参数,后面会设置为1。因此,组合优化目标为使得新特征空间中属于 T d \mathcal{T}_{d} Td的所有包的可分辨性总和最大,即:让 T d \mathcal{T}_{d} Td中包的可分辨性最大,就要让 T d \mathcal{T}_{d} Td任意两个不同标签的包之间的距离最大,任意两个相同标签的包之间的距离最小:
max ⁡ T e ⊆ T d ⊂ T J ( T d , T e ) = 1 2 ∑ B ξ i , B ξ j ∈ T d d i j δ i j (9) \max_{\mathcal{T} _{e}\subseteq \mathcal{T} _{d}\subset \mathcal{T}}\mathcal{J}(\mathcal{T}_{d},\mathcal{T}_{e})=\frac{1}{2} \sum_{B_{\xi _{i}},B_{\xi _{j}}∈\mathcal{T}_{d}}^{} d_{ij}\delta _{ij}\tag{9} TeTdTmaxJ(Td,Te)=21Bξi,BξjTddijδij(9)
该式子体现了在新的特征空间中属于 T d \mathcal{T}_{d} Td的所有包的区分度。然而,目前的问题在于如何找到判别包集合 T e \mathcal{T}_{e} Te。最简单的方式是遍历每个非空子集 T e ⊆ T d \mathcal{T}_{e} \subseteq\mathcal{T}_{d} TeTd,但时间复杂度达到了 o ( 2 N ) o(2^{N}) o(2N)

为了解决这一问题,引入了对角包选择矩阵(the diagonal bag selection matrix) Q = [ q i j ] N d × N d \mathbf{\mathit{Q} }=[q_{ij}]_{N_{d} \times N_{d}} Q=[qij]Nd×Nd。若 i = j i=j i=j B ξ i ∈ T e \mathbf{\mathit{B} }_{\xi _{i}}∈\mathcal{T}_{e} BξiTe,则 q i j = 1 q_{ij}=1 qij=1,否则 q i j = 0 q_{ij}=0 qij=0。具体来说, d i j d_{ij} dij的计算公式为:
d i j = ∥ Q b ξ i ∗ − Q b ξ j ∗ ∥ 2 (10) d_{ij}=\left \| Qb^{*}_{\xi_{i} }- Qb^{*}_{\xi_{j} }\right \| ^{2}\tag{10} dij= QbξiQbξj 2(10)
其中, b ξ i ∗ = f b ( B ξ i , T d ) b^{*}_{\xi_{i} }=f_{b}(\mathbf{\mathit{B} }_{\xi_{i}},\mathcal{T}_{d}) bξi=fb(Bξi,Td)是通过(3)式计算得到。然后,我们就得到了:
J ( T d , T e ) = 1 2 ∑ i , j ( ( b ξ i ∗ ) T Q T Q b ξ i ∗ + ( b ξ j ∗ ) Q T Q b ξ j ∗ − ( b ξ i ∗ ) Q T Q b ξ j ∗ − ( b ξ j ∗ ) Q T Q b ξ i ∗ ) δ i j (11) \mathcal{J}(\mathcal{T}_{d},\mathcal{T}_{e})=\frac{1}{2}\sum_{i,j}^{}((b^{*}_{\xi _{i}})^{T}Q^{T}Qb^{*}_{\xi _{i}}+(b^{*}_{\xi _{j}})Q^{T}Qb^{*}_{\xi _{j}}-(b^{*}_{\xi _{i}})Q^{T}Qb^{*}_{\xi _{j}}-(b^{*}_{\xi _{j}})Q^{T}Qb^{*}_{\xi _{i}})\delta _{ij} \tag{11} J(Td,Te)=21i,j((bξi)TQTQbξi+(bξj)QTQbξj(bξi)QTQbξj(bξj)QTQbξi)δij(11)

对于(8)式,最简单的设定为: ∀ i , j , λ i j = 1 \forall i,j,\lambda _{ij}=1 i,j,λij=1。此外,让 Γ = [ γ i j ] N d × N d \Gamma=[\gamma _{ij}]_{N_{d}\times N_{d}} Γ=[γij]Nd×Nd代表对角矩阵,其中 γ i j = ∑ j δ i j \gamma _{ij}=\sum_{j}^{}\delta _{ij} γij=jδij。我们得到了:
J ( T d , T e ) = ∑ i , j ( ( b ξ i ∗ ) T Q T Q b ξ i ∗ − ( b ξ i ∗ ) T Q T Q b ξ j ∗ ) δ i j = t r ( Q T V d ∗ ( Γ − Δ ) ( V d ∗ ) T Q ) = t r ( Q T V d ∗ L ( V d ∗ ) T Q ) = ∑ B ξ k ∈ T e b ξ k ∗ L ( b ξ k ∗ ) T (12) \mathcal{J}(\mathcal{T}_{d},\mathcal{T}_{e})=\sum_{i,j}^{}((b^{*}_{\xi _{i}})^{T}Q^{T}Qb^{*}_{\xi _{i}}-(b^{*}_{\xi _{i}})^{T}Q^{T}Qb^{*}_{\xi _{j}})\delta _{ij} \\= tr(Q^{T}V^{*}_{d}(\Gamma-\Delta)(V^{*}_{d})^{T}Q)\\=tr(Q^{T}V^{*}_{d}L(V^{*}_{d})^{T}Q)\\ =\sum_{B_{\xi _{k}∈\mathcal{T}_{e}}}^{}b^{*}_{\xi _{k}}L(b^{*}_{\xi _{k}})^{T} \tag{12} J(Td,Te)=i,j((bξi)TQTQbξi(bξi)TQTQbξj)δij=tr(QTVd(ΓΔ)(Vd)TQ)=tr(QTVdL(Vd)TQ)=BξkTebξkL(bξk)T(12)
其中, V d ∗ = f m ( T d , T d ) V^{*}_{d}=f_{m}(\mathcal{T}_{d},\mathcal{T}_{d}) Vd=fm(Td,Td)是通过(4)式计算得出。包 B k ∈ T B_{k}∈\mathcal{T} BkT的判别性分数 p k p_{k} pk定义如下:
p k = b k ∗ L ( b k ∗ ) T (13) p_{k}=b^{*}_{k}L(b^{*}_{k})^{T}\tag{13} pk=bkL(bk)T(13)

其中, L L L作为判别性矩阵。

原始的优化问题变为最大化判别性分数,计算出每个包 B ξ i ∈ T d B_{\xi _{i}}∈\mathcal{T}_{d} BξiTd的分数,然后找出分数最大的前 ψ \psi ψ个包组成 T e \mathcal{T}_{e} Te
max ⁡ T e ⊆ T d ⊂ T ∑ B ξ k ∈ T p ξ k (14) \max_{\mathcal{T} _{e}\subseteq \mathcal{T} _{d}\subset \mathcal{T}}\sum_{B_{\xi _{k}}∈\mathcal{T}}^{} p_{\xi _{k}}\tag{14} TeTdTmaxBξkTpξk(14)

完整的过程为:
T e = b a g S e l e c t i o n ( T d , ψ ) (15) \mathcal{T}_{e}=bagSelection(\mathcal{T}_{d},\psi )\tag{15} Te=bagSelection(Td,ψ)(15)
通过考虑(14)式的解区间,我们设计了4种dBagSet初始化模式:
1) G l o b a l ( g ) Global(g) Global(g) 使用所有包来生成dBagSet。
2) P o s i t i v e ( p ) Positive(p) Positive(p) 仅使用所有正包。
3) N e g a t i v e ( n ) Negative(n) Negative(n) 仅使用所有负包。
4) B a l a n c e ( b ) Balance(b) Balance(b) 选择相等数量的正负判别包。
我们将通过实验来对比这几种模式。

2)自强化机制:我们引入自强化机制,用于dBagSet的更新迭代。让 T e i \mathcal{T}^{i}_{e} Tei表示第 i i i个阶段的dBagSet。我们可以通过(15)式得到 T e 0 \mathcal{T}^{0}_{e} Te0,即初始dBagSet。让 a i a_{i} ai来表示 T e i \mathcal{T}^{i}_{e} Tei是否以及更新。

主要操作:遍历 T s \mathcal{T}_{s} Ts的子集 T ′ \mathcal{T}^{'} T中的包 B ξ j B_{\xi _{j}} Bξj,并比较本次判别度分数 p ξ j p_{\xi _{j}} pξj T e i \mathcal{T}^{i}_{e} Tei中的最小分数 p ξ τ p_{\xi_{\tau}} pξτ。若 p ξ j ≤ p ξ τ p_{\xi _{j}}\le p_{\xi_{\tau}} pξjpξτ,那么本次不更新;否则 a i a_{i} ai将设置为1,即更新。共有两种不同的行为模式:
1) A d d i t i o n ( a ) Addition(a) Addition(a) :通过添加被选中的包来更新 T e i \mathcal{T}_{e}^{i} Tei
2) R e p l a c e m e n t ( r ) Replacement(r) Replacement(r) :通过替换包以及重新计算 p ξ τ ∗ p_{\xi_{\tau}}^{*} pξτ来更新 T e i \mathcal{T}_{e}^{i} Tei
自强化机制伪代码:
在这里插入图片描述

C.集成技术

为了便于描述,使用的单实例分类器(如:KNN)的输入输出关系表述为:
M = f c m o d e l ( V , Y ) (16) M=f^{model}_{c}(V,Y)\tag{16} M=fcmodel(V,Y)(16)
w = f c w e i g h t ( V , Y , M ) (17) w=f^{weight}_{c}(V,Y,M)\tag{17} w=fcweight(V,Y,M)(17)
y i ^ = f c p r e d i c t ( b i , M ) (18) \hat{y_{i}} =f^{predict}_{c}(b_{i},M)\tag{18} yi^=fcpredict(bi,M)(18)
其中, M M M为训练的单实例分类模型, w w w为性能度量的值, y i ^ \hat{y_{i}} yi^为包 B i B_{i} Bi的预测标签。
通过带权的集成模型 M \mathcal{M} M,包 B i B_{i} Bi的标签可预测为:
y i ^ = s i g n ( ∑ j w j Y i j ) (19) \hat{y_{i}}=sign(\sum_{j}^{}w_{j}Y_{ij} )\tag{19} yi^=sign(jwjYij)(19)
其中:
Y i j = f c p r e d i c t ( f b ( B i , T e i ) , M i ) (20) Y_{ij}=f^{predict}_{c}(f_{b}(B_{i},\mathcal{T}^{i}_{e}),M_{i})\tag{20} Yij=fcpredict(fb(Bi,Tei),Mi)(20)
其中, f b ( ⋅ , ⋅ ) f_{b}(·,·) fb(⋅,⋅)是(3)式的映射函数;若 x ≥ 0 x\ge0 x0,则 s i g n ( x ) = 1 sign(x)=1 sign(x)=1,否则 s i g n ( x ) = − 1 sign(x)=-1 sign(x)=1

ELDB算法伪代码:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值