【论文阅读】Multi-instance Ensemble Learning with Discriminative Bags
时间:2022/8/9
文章目录
1.摘要
多实例学习(MIL)比传统的监督学习更具一般性和挑战性,因为标签是在包级给出的。常用的特征映射方法是将每个包转化为新特征空间中的一个实例。但是,它们大多很难维持包的可分辨性,MIL模型不支持自我强化。
在本文中,我们提出了一种基于判别包的多实例集成学习(ELDB)算法。包选择技术根据两部分得到区别性包集(dBagSet)。首先,考虑数据的空间分布和标签分布,通过判别分析优化包选择过程,得到基本的dBagSet。其次,利用状态和动作的转移策略,通过自强化得到一个可区分性较好的dBagSet;集成技术用这些dbagset训练一系列分类器,得到最终的加权模型。实验结果表明,该方法优于目前最先进的MIL映射方法。
2.主要贡献
1.提出一种基于包辨别性分析的包选择技术。
2.提出一种基于包辨别性的自我强化算法,使得MIL模型支持自我强化。
3.提出一种MIL的集成学习算法。
3.符号系统
符号 | 含义 |
---|---|
τ \tau τ | 原始数据集 |
τ d ⊂ τ \tau_d\subset \tau τd⊂τ | 基础数据集 |
τ s = τ / τ d \tau_s=\tau/\tau_d τs=τ/τd | 更新数据集 |
τ e ⊂ τ \tau_e \subset \tau τe⊂τ | 具有辨别性包的数据集(dBagSet) |
Y = [ y 1 , . . . , y N ] Y=[y_1,...,y_N] Y=[y1,...,yN] | 标签向量 |
B i = { x i j } j = 1 n i B_i=\{x_{ij}\}_{j=1}^{n_i} Bi={xij}j=1ni | 原始数据集中的第i个包 |
x i j x_{ij} xij | 第i个包的第j个实例 |
y i y_i yi | 第i个包的标签 |
N N N | 原始数据集的大小 |
ψ \psi ψ | 辨别包数据集大小 |
n i n_i ni | 第i个包的大小 |
b i b_i bi | 第i个包的映射向量 |
4.算法描述
4.1包映射函数
B i ∈ τ B_i\in \tau Bi∈τ通过如下映射函数映射到新的特征空间里:
f b ( B i , τ e ) ↦ b i = [ b i ζ 1 , . . . , b i ζ ψ ] (1) f_b(B_i,\tau_e)\mapsto b_i=[b_{i\zeta_1},...,b_{i\zeta_\psi}]\tag{1} fb(Bi,τe)↦bi=[biζ1,...,biζψ](1)
其中 b i ζ k b_{i\zeta_k} biζk为 B i 与 B ζ k B_i与B_{\zeta_k} Bi与Bζk的相关值,这里选取的是平均 Hausdorff距离。
b i k = ∣ ∣ x ‾ i − x ‾ k ∣ ∣ (2) b_{ik}=||\overline x_i-\overline x_k||\tag{2} bik=∣∣xi−xk∣∣(2)
通过该映射函数,将数据集转换成新的向量集。
f m ( τ , τ e ) ↦ V = { b i } i = 1 N (3) f_m(\tau,\tau_e)\mapsto V=\{b_i\}_{i=1}^N\tag{3} fm(τ,τe)↦V={bi}i=1N(3)
4.2ELDB总体框架
如图所示便是ELDB的总体框架,为了提高MIL单模型的分类性能和稳定性,我们将数据集T随机分为基本数据集 τ d = { b ζ i } i = 1 N d \tau_d = \{b_{\zeta_i}\}_{i=1}^{ N_d} τd={bζi}i=1Nd和更新数据集 τ s = { b ζ i } i = N d + 1 N \tau_s = \{b_{\zeta_i}\}_{i=N_d+1}^N τs={bζi}i=Nd+1N,其中 1 ≤ ξ i ≤ n 1≤ξ_i≤n 1≤ξi≤n,然后通过两个关键技术学习加权集成模型。
首先,使用两部分的包选择技术初始化dBagSet τ e ⊂ τ \tau _e\subset \tau τe⊂τ。一部分是判别分析。通过考虑Td的空间分布和标签分布,我们得到了判别矩阵L和基本dBagSet τ e 0 \tau_e^0 τe0。另一部分是自我强化机制。对于 τ s \tau_s τs的子集,采用自增强机制来判断dBagSet是否可以更新。通过这样,我们可以获得高判别性的数据集。
其次,集成技术根据SIL分类器 f c ( ⋅ ⋅ ⋅ ) f_c(···) fc(⋅⋅⋅)和指定的映射函数集成这些dBagSet。其步骤为:a)基础数据集和更新数据集分别映射为单实例 V d i V_d^i Vdi和 V s i V_s^i Vsi的集合;b)单实例模型 M i M_i Mi使用 V d i V_d^i Vdi和标签向量 [ y ζ 1 , . . . , y ζ N d ] [y_{\zeta_1},...,y_{\zeta_{N_d}}] [yζ1,...,yζNd]进行训练;c)根据 M i 和 V s i Mi和V_s^i Mi和Vsi计算模型权重 w i w_i wi。最后,对dBagSets、模型和权重进行集成,得到加权集成模型。
4.3包选择技术
一.辨别分析技术
通过改写MILDM的实例评估标准,即最大化不同类标记实例的距离,最小化相同类标记实例的距离,设 d i j = d ( f b ( B ζ i , τ e ) , f b ( B ζ j , τ e ) ) d_{ij}=d(f_b(B_{\zeta_i},\tau_e),f_b(B_{\zeta_j},\tau_e)) dij=d(fb(Bζi,τe),fb(Bζj,τe))表示两个包之间的距离,则:
max τ e ⊆ τ d ⊂ τ ∑ y ζ i ≠ y ζ j d i j (4) \max_{\tau_e \subseteq\tau_d\subset\tau}\sum_{y_{\zeta_i}\ne y_{\zeta_j}}d_{ij}\tag{4} τe⊆τd⊂τmaxyζi=yζj∑dij(4)
max τ e ⊆ τ d ⊂ τ ∑ y ζ i = y ζ j d i j (5) \max_{\tau_e \subseteq\tau_d\subset\tau}\sum_{y_{\zeta_i}= y_{\zeta_j}}d_{ij}\tag{5} τe⊆τd⊂τmaxyζi=yζj∑dij(5)
为将多目标优化转化为单目标优化,引入bag-link矩阵 Δ = [ δ i j ] N d × N d \Delta= [\delta_{ij}]_{N_d×N_d} Δ=[δij]Nd×Nd,其中:
δ i j = { λ i j , y ξ i ≠ y ξ j − λ i j , y ξ i = y ξ j (6) \delta_{ij}= \begin{cases} \lambda_{ij},&y_{\xi_i}\ne y_{\xi_j}\\ -\lambda_{ij},&y_{\xi_i}=y_{\xi_j} \end{cases}\tag{6} δij={λij,−λij,yξi=yξjyξi=yξj(6)
其中 λ i j > 0 \lambda_{ij}>0 λij>0是一个超参,后面会设置为1.
这样,我们便得到了优化目标:
max τ e ⊆ τ d ⊂ τ J ( τ d , τ e ) = 1 2 ∑ B ξ i , B ξ j ∈ τ d d i j δ i j (7) \max_{\tau_e\subseteq \tau_d\subset\tau}J(\tau_d,\tau_e)={1\over2}\sum_{B_{\xi_i},B_{\xi_j}\in\tau_d}d_{ij}\delta_{ij}\tag{7} τe⊆τd⊂τmaxJ(τd,τe)=21Bξi,Bξj∈τd∑dijδij(7)
为了快速选择出dBagSet,我们引入对角包选择矩阵 Q = [ q i j ] N d × N d Q=[q_{ij}]_{N_d×N_d} Q=[qij]Nd×Nd,和对角线矩阵 Γ = [ γ i j ] N d × N d \Gamma=[\gamma_{ij}]_{N_d×N_d} Γ=[γij]Nd×Nd其中 γ i j = ∑ j δ i j \gamma_{ij}=\sum_j\delta_{ij} γij=∑jδij
其中如果i=j同时 B ξ i ∈ τ e , q i j = 1 B_{\xi_i}\in\tau_e,q_{ij}=1 Bξi∈τe,qij=1,其他情况 q i j = 0 q_{ij}=0 qij=0。则将包的距离公式改为:
d i j = ∣ ∣ Q b ξ i ∗ − Q b ξ j ∗ ∣ ∣ 2 (8) d_{ij}=||Qb_{\xi_i}^*-Qb_{\xi_j}^*||^2 \tag{8} dij=∣∣Qbξi∗−Qbξj∗∣∣2(8)
将优化目标调整为
J ( τ d , τ e ) = ∑ B ξ k ∈ τ e b ξ k ∗ L ( b ξ k ∗ ) T (9) J(\tau_d,\tau_e)=\sum_{B_{\xi_k}\in\tau_e}b_{\xi_k}^*L(b_{\xi_k}^*)^T\tag{9} J(τd,τe)=Bξk∈τe∑bξk∗L(bξk∗)T(9)
令
p k = b ξ k ∗ L ( b ξ k ∗ ) T (10) p_k=b_{\xi_k}^*L(b_{\xi_k}^*)^T\tag{10} pk=bξk∗L(bξk∗)T(10)
p k p_k pk即为包的辨别优先级。将优化目标调整:
max τ e ⊆ τ d ⊂ τ ∑ B ξ k ∈ τ e p ξ k (11) \max_{\tau_e\subseteq \tau_d\subset\tau}\sum_{B_{\xi_k}\in\tau_e}p_{\xi_k}\tag{11} τe⊆τd⊂τmaxBξk∈τe∑pξk(11)
则最终的初始dBagSet便选取优先级最高的前 ψ \psi ψ个组成:
τ e = b a g S e l e c t i o n ( τ d , ψ ) (12) \tau_e=bagSelection(\tau_d,\psi)\tag{12} τe=bagSelection(τd,ψ)(12)
在初始化时基础包的选择方案有四种:
-
Global(g) :使用数据集所有包来生成dBagSet
-
Positive §:使用所有正包
-
Negative (n):使用所有负包
-
Balance (b):选择等量的正面和负面辨别包
二,自增强机制
每次更新使用更新数据集 τ s \tau_s τs的子集对基础数据集 τ e 0 \tau_e^0 τe0进行更新。使用更新子集 τ s i \tau_s^i τsi中判别优先级最高的包与 τ e \tau_e τe中判别优先级最低的包进行对比,若有新的更高优先级的包出现。则策略”a“:将新的包加入 τ e \tau_e τe中;策略"r":使用新的包替换掉 τ e \tau_e τe中优先级最小的包。
4.4集成技术
通过集成技术可以根据 τ e \tau_e τe的每次更新的信息进行预测可以考虑到更多的信息,降低完全依赖单一模型的不确定性。
对于单个单实例分类器,使用训练数据训练模型:
M = f c m o d e l ( V d i , Y d i ) (13) M=f_c^{model}(V_d^i,Y_d^i)\tag{13} M=fcmodel(Vdi,Ydi)(13)
使用更新数据测试分类器性能:
w = f c w e i g h t ( V s i , Y s i , M ) (14) w=f_c^{weight}(V_s^i,Y_s^i,M)\tag{14} w=fcweight(Vsi,Ysi,M)(14)
进行预测:
y ^ i = f c p r e d i c t ( b i , M ) (15) \hat y_i=f_c^{predict}(b_i,M)\tag{15} y^i=fcpredict(bi,M)(15)
加权集成模型: M ← M ∪ ( M i , w i , T e i ) \Mu \leftarrow\Mu\cup (M_i,w_i,T_e^i) M←M∪(Mi,wi,Tei)
则包的预测标签:
y ∗ = s i g n ( ∑ j w j Y i j ) (16) y^*=sign(\sum_jw_jY_{ij})\tag{16} y∗=sign(j∑wjYij)(16)
ag{14}
$$
进行预测:
y ^ i = f c p r e d i c t ( b i , M ) (15) \hat y_i=f_c^{predict}(b_i,M)\tag{15} y^i=fcpredict(bi,M)(15)
加权集成模型: M ← M ∪ ( M i , w i , T e i ) \Mu \leftarrow\Mu\cup (M_i,w_i,T_e^i) M←M∪(Mi,wi,Tei)
则包的预测标签:
y ∗ = s i g n ( ∑ j w j Y i j ) (16) y^*=sign(\sum_jw_jY_{ij})\tag{16} y∗=sign(j∑wjYij)(16)